All Projects → google → stumblybot

google / stumblybot

Licence: Apache-2.0 license
Simple robot that executes voice commands through Google Assistant.

Programming Languages

python
139335 projects - #7 most used programming language
go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to stumblybot

api-ai-workshop
Dialogflow Workshop Material. This can be used to create a Conversational Agent for a simple Linear Conversation using Dialogflow
Stars: ✭ 56 (+143.48%)
Mutual labels:  dialogflow, googleassistant
assistant
🤖 Bring your Figma design & development pipeline to the next level - with design to code, in-design-content-management, component management, tools for faster design
Stars: ✭ 451 (+1860.87%)
Mutual labels:  assistant
Gbridge
gBridge.io allows you to control (almost) anything with Google Assistant, by translating voice commands to MQTT messages.
Stars: ✭ 152 (+560.87%)
Mutual labels:  assistant
Assistant
✏️ Generate human quality code from your design. supports flutter, react, vue, figma, sketch, xd
Stars: ✭ 199 (+765.22%)
Mutual labels:  assistant
Anna
Virtual Assistant on Google Chrome 🐘
Stars: ✭ 165 (+617.39%)
Mutual labels:  assistant
Bot
Telegram Chatbot Assistant for Managing Club Activities
Stars: ✭ 208 (+804.35%)
Mutual labels:  assistant
Google Assistant Hotword Raspi
Simple Google Assistant with hotword activation from Snowboy setup for my Pi Zero W.
Stars: ✭ 146 (+534.78%)
Mutual labels:  assistant
alarmo-card
Home Assistant card for controlling the Alarmo component
Stars: ✭ 59 (+156.52%)
Mutual labels:  assistant
wolf-core
🐺 Declarative development for state driven dynamic prompt flow
Stars: ✭ 26 (+13.04%)
Mutual labels:  dialogflow
Qtswissarmyknife
QSAK (Qt Swiss Army Knife) is a multi-functional, cross-platform debugging tool based on Qt.
Stars: ✭ 196 (+752.17%)
Mutual labels:  assistant
Projectalice
Main repository of Project Alice, contains main unit source code
Stars: ✭ 189 (+721.74%)
Mutual labels:  assistant
Motion Ai
AI assisted motion detection for Home Assistant
Stars: ✭ 169 (+634.78%)
Mutual labels:  assistant
Hass Custom Alarm
Yet another take on a home assistant custom alarm
Stars: ✭ 213 (+826.09%)
Mutual labels:  assistant
Scheduler Card
HA Lovelace card for control of scheduler entities
Stars: ✭ 154 (+569.57%)
Mutual labels:  assistant
dialogflow ros
A ROS wrapper for Google's NLP platform Dialogflow
Stars: ✭ 17 (-26.09%)
Mutual labels:  dialogflow
Smart Home
Phodal's Smart Home Setup Guide:HomeBridge + Home Assistant + Amazon Echo
Stars: ✭ 149 (+547.83%)
Mutual labels:  assistant
Tock
Tock - the open source conversational AI toolkit
Stars: ✭ 175 (+660.87%)
Mutual labels:  assistant
Sarah
Terminal Assistant For SemiCode OS
Stars: ✭ 201 (+773.91%)
Mutual labels:  assistant
dialogflow-watchnow-messenger
WatchNow FB Messenger bot with DialogFlow & Golang 💬
Stars: ✭ 24 (+4.35%)
Mutual labels:  dialogflow
React-Chatbot
A DialogFlow Chatbot made using NodeJS and React.
Stars: ✭ 36 (+56.52%)
Mutual labels:  dialogflow

StumblyBot

This is a very hacky test project to integrate Marty Robot, Google Assistant SDK and DialogFlow.

This is not an officially supported Google product.

What's inside

  • Marty Router
    • Accepts long-standing connections from the robot.
    • Handles queries from DialogFlow and forwards them to the connected robot.
  • Marty Server
    • Installed on a Raspberry Pi that is connected to the same WiFi network as Marty itself.
    • TODO: It would be awesome to use 4-wire connector to connect Raspberry Pi directly to the Marty controller without WiFi.
  • DialogFlow configuration
    • It will understand voice queries from Google Assistant and call Marty Router with a webhook mechanism.

Hardware requirements

How to make it work

  • Build and deploy Router
    • Install Bazel
    • Run bazel build ...
    • Upload compiled binary (from bazel-bin directory) to a machine accessible from Internet.
    • Run some webserver that will accept https and proxy it to the Marty router.
    • Obtain a valid https certificate.
    • Make sure https port is available from Internet, and port 1109 (for connections from Marty) is available from your network.
    • TODO: Make the router serve https itself without a reverse proxy.
    • TODO: Add some encryption and authentication.
  • Setup the robot
    • Install Marty python library
    • Set Marty's own IP address in executor.py and router address in marty_server.py.
    • TODO: Make everything properly configurable.
  • Setup DialogFlow
    • Edit agent.json: set hostname of the server that runs your "router" server.
    • Archive contents of dialogflow directory to a zip file, so that agent.json is in the root directory of the archive.
    • Create a new project on DialogFlow.
    • Use "Restore from zip" to upload the configuration.
    • Configure Assistant to invoke your test project.

How to debug it

  • Make sure robot server is able to connect to the Marty controller. The server writes some debugging information on stdout on startup.
  • Make sure robot server is able to connect to the router. Both robot and router write debugging information on stdout.
  • Make sure https endpoint is accessible from internet. https://<your_router>/apiai should say something.
  • Make sure your agent is available from DialogFlow debugging console (on the right hand side).
  • Make sure your agent can be activated with a command from Assistant devices.

Assistant SDK

You can install Assistant SDK on the same Raspberry Pi, connect speaker and microphone to it, and it will act as regular Google Assistant. This step is optional. You can use any Assistant-enabled device to control your robot. Google Home, Android, iOS, smart TV, whatever.

Contacts

https://groups.google.com/forum/#!forum/stumblybot - project discussion group.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].