Hands-on Device to Cloud series...
Today's Hardware Friday post about another Channel series that I want to make sure all you hardware boys, girls and dogs (Cats? Are you kidding? That's why they have humans...), Clemens Vasters' Subscribe!
Subscribe! is back after a long mid-year (summer-) break and with a new series.
Starting with this episode, I'm going to explore a range of embedded systems prototyping platforms and, ultimately, how to connect tiny devices into the cloud for fun, scale, and security. We'll explore how to establish basic connectivity, discuss security options, talk about how to flow and handle telemetry data and how to do remote switching like turning a motor or switching a light from the cloud and do that in a way that it would scale to very, very many devices and poor connectivity conditions.
Prototyping platforms allow hobbyists, researchers, and industrial design engineers to explore designs, and wire up and easily program special-purpose devices without soldering or even having to make a printed circuit. Once the design is stable, the prototype can then be turned into an actual device that can be produced at scale.
In today's episode I'm going to give an overview of the prototyping platforms I'm going to explore in the upcoming few weeks. I'm initially going to focus on platforms that are cheap to buy and have existing communities, so that you can play along if you like: Arduino, Gadgeteer, Netduino, Android ADK, Seeedstudio Grove, and Raspberry Pi. Later this year, we'll also take a look at prototyping/evaluation platforms for industrial microcontrollers.
Today and in the next few episodes, I'll be starting with the Arduino Ethernet board, which I bought as part of a Fritzing Starter Kit. Fritzing.org is an open-source hardware design initiative by the Interaction Design Lab at the University of Applied Sciences in Potsdam, Germany.
In this second episode of the (open-ended) device-to-cloud series, I'm talking about the four basic patterns of device information exchange and then start investigating the trickiest of these patterns, Commands, using a simple HTTP web service on the Arduino Ethernet board.
The four basic patterns are Telemetry, Inquiries, Commands, and Notifications.
In this third episode of my cloud-to-device series, I'm talking in some more detail about why it is a questionable and sometime outright dangerous strategy to let small devices actively listen on a network and, through that, open itself up to unsolicited traffic it needs to triage and secure.
As a counterproposal I'm showing a very simple model for how to create a much safer way (even if not yet truly secure, we'll get to the in future episodes) of exposing a device to public network consumers - through use of a cloud based gateway that acts on behalf of the device and does a lot of the heavy lifting in terms of protocol implementation but also for defense against unwanted traffic.