-
Notifications
You must be signed in to change notification settings - Fork 26
Home
You will find detailed instructions for reproducing the end to end IoT proof of concept, built on Microsoft Azure Cloud Platform and a Texas Instruments LaunchPad development board.
You can view a working example at the following links.
- Website home page - http://www.azurelaunchpad.net/
- Send fake telemetry from webpage using AMQP - http://www.azurelaunchpad.net/eventhub/eventhubamqp
- Send fake telemetry from webpage using REST API - http://www.azurelaunchpad.net/eventhub/eventhubrest
- View processed telemetry - http://www.azurelaunchpad.net/sqldatabase/processedtelemetry
- View averaged telemetry - http://www.azurelaunchpad.net/sqldatabase/averagetelemetry
- Machine learning model - http://www.azurelaunchpad.net/machinelearning/model
The Texas Instruments LaunchPad sends telemetry including simulated temperature and humidity readings, alternatively telemetry can be produced via an Azure Web Site webpage using a fake telemetry generator. The telemetry is then ingested by Azure Event Hub and processed by Azure Stream Analytics in near real time, the processed telemetry is then stored in an Azure SQL Server Table. One table stores telemetry that has just been processed, where as another table stores averaged temperature and humidity data, along with the data count for a 5 minute tumbling window.
Alerts can be generated via a Stream Analytics query that compares values stored in a SQL Database Table, these alert details are sent to Event Hub and can be used to generate an SMS, email or phone alert using an Azure API App and an External System like Twilio. Alternatively notification can be sent to Mobile Apps and be viewed as a Smart Watch Alert.
Live data can be viewed in a moving graph as Stream Analytics send processed data to Power BI. Newly stored processed telemetry can also be viewed as it arrives via an Azure Web App webpage as can averages for time periods.
A predictive model is created using Azure Machine Learning and made available as a web service. The model can be queried from an Azure Website webpage to determine whether a system requires maintenance. Azure Stream Analytics can also query the predictive models via the Azure Machine Learning Web Service and hence provide near real-time predictions for many different scenarios.
The following image outline the solution architecture of the end to end IoT proof of concept. Some parts are yet to be detailed in this step by step example, however all the main components from the LaunchPad through to Event Hubs and then to Stream Analytics, with data stored in SQL Database and viewed from a Website are complete. Details on mobile services and machine learning are yet to be included.
These instructions provide the details required to setup a reproduction of the end to end IoT example. However it is assumed that you are familiar with Microsoft Azure and the Texas Instruments LaunchPad you have selected.
There are 2 main technologies to setup to get this example working
-
Azure Setup Step - https://github.com/remixed123/IoT/wiki/Azure-Setup
-
LaunchPad Setup Steps - Where you will select one or more LaunchPad you wish to connect to Azure, your choices are:-
- CC3200 LaunchPad - https://github.com/remixed123/IoT/wiki/CC3200-LaunchPad-Setup
- MSP432 LaunchPad - https://github.com/remixed123/IoT/wiki/MSP432-LaunchPad-Setup
If you are only interested in the LaunchPad side of the example, you can use the default settings provided in the source code. This will then communicate with the Azure Cloud I have setup and you can then view the telemetry you send here to determine if your have everything working. There is also a binary provided, which you can flash the LaunchPad with.
The following resources will help you learn more about Microsoft Azure and the Texas Instruments CC3200 LaunchPad.
Microsoft Azure
- Microsoft Azure main website - http://azure.microsoft.com/en-gb/
- Excellent video which introduced some of the basics of Microsoft Azure - https://www.youtube.com/watch?v=7V8HikBP1vQ
Texas Instruments CC3200 LaunchPad
- The Texas Instruments CC3200 LaunchPad Introduction - http://www.ti.com/ww/en/launchpad/launchpads-connected-cc3200-launchxl.html
- Excellent video introduction of the CC3200 LaunchPad - https://www.youtube.com/watch?v=KEERSpj3Gks
- The Texas Instrument's CC3100/CC3200 Wiki - http://processors.wiki.ti.com/index.php/CC31xx_&_CC32xx
Texas Instruments MSP432 LaunchPad
- The Texas Instruments MSP432 LaunchPad - http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp432p401r.html#tabs
- The Texas Instruments MSP432 LaunchPad Getting Started - http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/low_power_performance/msp432p4x/getting_started.page?paramCriteria=no
Texas Instruments CC3100 BoosterPack
- The Texas Instrument's CC3100/CC3200 Wiki - http://processors.wiki.ti.com/index.php/CC31xx_&_CC32xx
Azure Event Hubs
- Introduction video to Azure Event Hubs - http://channel9.msdn.com/Shows/Cloud+Cover/Episode-160-Event-Hubs-with-Elio-Damaggio
Azure Stream Analytics
- Introduction video to Azure Stream Analytics - http://channel9.msdn.com/Shows/Azure-Friday/Introduction-to-Azure-Stream-Analytics-with-Santosh-Balasubramanian
Azure Machine Learning
- Introduction video to Azure Machine Learning - http://channel9.msdn.com/Series/Getting-Started-with-Microsoft-Azure-Machine-Learning/01
Azure Mobile Services
- Introduction video to Azure Mobile Services - http://channel9.msdn.com/Series/Windows-Azure-Mobile-Services/Introduction-to-Windows-Azure-Mobile-Services
Azure Websites
- Introduction video to Azure Websites - http://channel9.msdn.com/Series/Microsoft-Azure-Fundamentals-Websites/01
Azure SQL Database
- Introduction video to Azure SQL Database - http://channel9.msdn.com/events/TechEd/Europe/2014/DBI-B210