The “things” in the Internet of Things can be found just about anywhere; in your home, in an industrial plant, an office… Maybe you want to monitor the temperature of your house to save on bills? Maybe you want to have your house send you an e-mail to let you know that you’ve left something on, and remotely shut it off? Or maybe you want to booby-trap your house like some kind of 21st century Home Alone scenario.
To be more specific,the “things” in question are generally sensors and actuators. Broadly, a sensor is something that gathers raw data, like temperature or power usage, and an actuator can be thought of as something that moves or takes some (generally physical) action, for example remotely turning off a plug socket (in the UK) or automatically torching the hats of any unsuspecting Joe Pescis.
Of course, sensors on their own aren’t very useful; they need a middle-man to take their readings, transmit them, and in some cases interpret them.
I’m going to be focusing on using a particular type of middle-man; namely the ESP8266 WiFi chip, or at least a variant of it as you’ll soon find out. The idea is to learn about how to use these chips in combination with sensors and send the information to a web server. Once I’ve managed this, I’ll be moving on to looking at other aspects of IoT data transmission.
I mentioned before that these chips could have a industrial or commercial uses, which is why I will also be investigating how to securely transmit this data. The potential issue here is the fact that some security measures, like encryption, can be computationally expensive, especially in combination with real-time data transfer.
Once I’ve got a setup where there’s at least one or two sensors feeding data to some server, I’ll begin investigating what security measures can be implemented to avoid things like packet sniffing or the Chromecast Attack which has been demonstrated to work on the ESP8266.
If I manage this in good time, I’ll continue to look into optimizing the setup to give maximal battery life, as well as making the setup more robust when it comes to switching out the sensors (e.g. switching from digital to analogue temperature sensors, or taking different measurements).
I’ll be posting info about my experiences with the chip, so to anyone who reads this; your mileage may vary!
At the moment I’ve managed to get an Olimex ESP8266-EVB up and running (with one or two hitches). By “up and running” I mean that I’ve managed to connect it to my network and upload some code to it using the Arduino IDE. I’ll make another post detailing exactly what I did, as the instructions I used to get this working were somewhat scattered.
Next on the list:
- try out more examples, particularly WiFi related ones
- find a server to use and communicate with it (I’m thinking thingspeak is viable)
- hook up a temperature sensor and get the chip to pass on this data (ideally in real time)