what is garagebot?
A bunch of physical and cloud parts hacked together to let you ask a Google Assistant to close the garage door. There is also an RFID reader which allows someone with a fob to open/close the garage door.
hardware
- Raspberry Pi for brains
- wireless tag on the garage door is used to sense if it's open or closed
- garage remote (triggered by an optoisolator)
- RC522 RFID reader
software
appengine + api.ai + pubnub + gobot
I ended up using several clouds because sadly that was easiest; fortunately this project is well within the free tier for everything.
(1) I could have api.ai call pubnub directly, but bouncing requests through appengine made things easier to debug.
(2) After hours of failing to get Google Cloud Messaging to work from a Go app, I tried pubnub and that turned out to be really easy to use. **cough** GCP/firebase needs a proper Go library **cough**
(3) It would be more reliable to connect the Raspberry Pi directly to a sensor on the garage door; but my appengine app already had the current state in its database from another project.