Meeting 16 Aug: IoT The Internet of Things sounds simple, but the technologies to pull it off can be very tangled. In my search for how to do this led me to conclude the complexity can be tamed with some very nice software packages that are now available. The primeire protocol for IoT is proving to be MQTT developed by IBM. It is now open-source, which is always great for the home automation freak. In this presentation, I focus on home automation. The main point being a browser based GUI to place buttons and readouts to provide a HTTP interface that can be interpreted at the other end by several devices with effective I/O (i.e., an Arduino) to either send sensor data back or to actuate a switch. I will use a Raspberry-Pi as the server in between to manage the MQTT protocol with Broker software.
With this arrangement the HTTP messages can be read by the Broker, running Mosquitto in my case, to be interpreted by either an Arduino or ESP8266 module. The Arduino has to have an Ethernet shield to get onto the network. The ESP8266 is a wireless device with a FDDI interface and enough I/O to be effective for IoT.
MQTT works by registering subscribers that want data or publish data from clients that have data to disperse. The methodology is just as simple. A topic string describes the purpose and is managed by the Broker. If data comes in via a HTTP message posted to a topic, any subscriber to that topic receives this data. Likewise, any sensor publishing data to a topic can be read by a display or send to a GUI via HTTP Requests.
Besides messaging over a network or the Internet, 433MHz radio is another standard that has been around for years to turn on lights, etc. from a small handheld remote. Fans and lamps are the usual commercial types found. By reading the codes issued by these remotes and using them in our IoT code, we can horn in on the 433MHz game.
After explaining the technologies, I will demo a complete system with a breadboarded layout.