Today's Hardware Friday project is one that will hopefully get you started connecting your IoT Devices to Azure. Best of all it's from Microsoft Open Technologies and is already open source...
Connect tiny devices to Microsoft Azure services to build IoT solutions
ConnectTheDots.io is an open source project by Microsoft Open Technologies created to help you get tiny devices connected to Microsoft Azure and implement great IoT solutions taking advantage of Microsoft Azure services such as Azure Stream Analytics, Machine Learning or HD Insight.
As part of the project you will find code samples, configuration scripts and guides that will help you set up tiny devices and configure Microsoft Azure services to make the most out of the data produced by your devices.
Starting with a basic scenario, the intent is to make the project grow with more devices types, more scripts to provision and configure Azure services and more "Getting Started" guides to help you implement full end to end solutions yourself.
As a first sample, we have created a simple end to end solution, from device all the way to a Website, that consists in displaying in real time on a web page raw temperature and humidity data generated from an Arduino board equiped with a weather Shield as well as alerts and processed data generated by Microsoft Azure Stream analytics based on the raw data from the device. We are using a Raspberry Pi, acting as a gateway, to send the data from the sensor up to Microsoft Azure Event Hub service. Azure Stream Analytics
The MS Open Tech ConnectTheDots.io project illustrates how to connect sensors and devices to the Microsoft Azure Cloud, and use Microsoft Azure to analyze and visualize the resulting data streams.
In a typical topology, sensors (here several Arduino Uno R3 boards with Arduino Weather Shields) connect to one or more local IoT Gateways (here Raspberry PI devices), which relay the data to Microsoft Azure Event Hubs. Once in the cloud, the data streams are fed into a web dashboard and to near real-time analytics engines (here Microsoft Azure Stream Analytics, in this case to generate averages and alerts across all devices). The real-time data streams, average, and alerts are then visualized in a Microsoft Azure Website, which can be viewed with any HTML5-capable browser. The high level architecture for the ConnectTheDots.IO project is shown in the figure below.
The ConnectTheDots.IO project provides you with all the code and step-by-step instructions to build and deploy such an end-to-end solution.