Our cat loves the internet of things. In general Luna loves stealing little bits of things. She stole the cable installers coax cable connectors and the HVAC repair persons wire connectors. Now she is into the internet of things. These things meet her specifications they are small, easy to carry in one’s mouth and bonus there are wires to pull out.
Very small cheap computers are proliferating and are allowing companies and people to put sensors into almost anything. These things can collect many types of data and transmit it to be processed and analyzed. Artists are even using them to create new art forms. One artist; Lesia Trubat, put sensors into ballet slippers to create visual abstractions of dance steps.
Recently Structure sent me a free Internet of Things (IoT) kit to use with their IoT Developer Platform that has an Arduino based chip at the core. It came with the Adafruit Feather Huzzah, which is a cool little thing that supports Arduino code and has WiFi built in, jumper wires, breadboard, temperature sensor, led, resistors and a micro USB cable.
The instructions have step by step instructions on how to register the “thing” Huzzah with the Structure development platform, how to attach the components and the code to load onto the chip.
When finished I had a thing that would broadcast its temperature, accept a command to turn on the LED and send a message when someone presses the button.
A major feature I can appreciate is the built in encryption. When you register your thing in the Structure IoT Platform it is assigned a unique id. Then you must create an access key and a secret token. This is used to encrypt any data communicated between the thing and the Structure IoT Platform. When the thing starts with the proper interface code it will connect to Structure with its unique information. This is how your application workflow can send commands to the device thru any firewalls. Other platforms I have used do not have this level of security built in and require payment to secure the data.
The Structure IoT Platform allows one to set up events that define what the device will trigger. It also allows you to define what types of data the device will send.
This workflow watches to see if the temperature goes above 80 degrees fahrenheit and sends a text message if it does. The platform supports a full featured drag and drop programming interface. It is a little difficult for a programmer like me to rethink coding in a drag and drop interface but it does allow for non programmers to control and gather information from their things. A plus is that it supports geospatial features like Geofence to trigger events based on the location of your things.
Dashboard for Internet of Things
The platform also has a dashboard feature with the ability to build charts and graphs of the data coming from your things. With the workflow you can also build data aggregators that will sum up your data over time or combine data from multiple devices and store it for display in the dashboard.
The dashboard and workflow are protected by individual user logins. But I wanted to expose my data to the internet so that you could see it here on this blog post.
Structure has built into the workflow easy ways to push your data out of their platform into other systems. First you need some service to send your data to, a transport. I used the HTTP node to send my data to another IoT provider called dweet.io. This is a public service that charges to have your data secured, by default it becomes public. You just send your data to the url https://dweet.io/dweet/for/name_of_your_thing?parameter=value. Mine looks like https://dweet.io/dweet/for/structureIotKitBj?tempF=76.5 Dweet.io will store the last five data points for free. Be careful with this, if you do not want your data to be public.
Then I found a service that will display data in a public dashboard that integrates with dweet.io called freeboard.io. Freeboard allows you to build a display dashboard like Structure but it is public. You add your data feed you named on dweet.io into a datasource on freeboard.io.
This will enable the following dashboard to be seen by the world.
But if you want to protect your data the Structure Platform may be all you need. If you need custom features there are a multitude of ways in the platform to have it send data to your own database for deeper analysis. They even have directions on how to get your data into a Google spreadsheet that utilizes IFTTT (If This Then That). If you are looking to get started with the Internet of Things or have something more ambitious to build order a Huzzah and give Structure a try.
I just need to be more careful where I leave my small things that connect to the internet. I left my temperature measuring device in the window to see what kind of drafts we get. But Luna the cat decided to pull out a black ground wire. It caused the temperature report to go up to 200 degrees but I kept getting data. My next project might be connecting up a motion detector to this and see how it works in detecting our IoT loving cat.
Follow this blog for more posts on IoT, robotics, Raspberry Pi and other technical topics. Be sure and check out some of our historical posts like I Code Like a Girl, War and Geospatial Mapping and one about computer history and art.