leftees / RoboHome

RoboHome is a SaaS tool that also integrates with Amazon's Echo to enable control of semi-connected devices (think IR, and RF) in your house over wifi!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

#RoboHome

##What Is RoboHome?

RoboHome is a SaaS tool that also integrates with Amazon's Echo to enable control of semi-connected devices (think IR, and RF) in your house over wifi! This is done using an MQTT pub-sub network to send messages between the website or Echo to a microcontroller like the NodeMCU which has various transmitters hooked up to it (like IR and RF transmitters) to send signals to these devices. This can be used to control RF outlets with lights plugged into them, or to turn on your TV and change channels for instance.

##Developing

###Requirements

  1. Webserver with PHP and MySQL and a SSL/TLS cert Available for Free with Let's Encrypt. This is used to hosted the Bootstrap based website to add, delete, edit, and control devices from anywhere.
  2. MQTT broker for pub-sub. I personally use CloudMQTT. This service is used to send messages a webservice and a microcontroller.
  3. A NodeMCU with the desired transmitters like a 433MHz RF transmitter. This hardware is needed to transmit signals to controllable devices.
  4. An account with Amazon to be used for account registration using OAuth.
  5. An account with Login with Amazon to allow your website to use OAuth to verify users.
  6. Optional for using the Echo Smart Home skill: An Amazon Echo and a developer account with AWS. Integration with the Echo is a big reason for the dependency on Amazon services, Smart Home skills require an account and since most Echo owners already have an Amazon account, it was a natural service to use.

###Configuring

  1. Open the secrets.ini file and populate the information needed to connect to your MQTT broker, MySQL database, and an Amazon login token.
  2. Flash your NodeMCU with an image from https://www.nodemcu-build.com/
  3. Make sure you select the following modules: GPIO, HTTP, MQTT, file, net, node, timer, UART, wifi

###Notes

  • To avoid seeing the secrets.ini file (particulary when Git says you have unstaged changes during a rebase) in your repo and you don't want to ignore it, run git update-index --assume-unchanged web/fatfree/app/secrets.ini

This is a new project and will be changing rapidly, more details will be provided when entering a beta state

About

RoboHome is a SaaS tool that also integrates with Amazon's Echo to enable control of semi-connected devices (think IR, and RF) in your house over wifi!

License:GNU General Public License v3.0


Languages

Language:PHP 88.4%Language:HTML 6.3%Language:PLpgSQL 3.2%Language:JavaScript 1.9%Language:ApacheConf 0.2%