This site details an end to end IoT system utilising Microsoft Azure Cloud Technology and the Texas Instruments SensorTag.

The Texas Instruments SensorTag is being demonstrated with three different wireless protocol stacks:
BLE
(Bluetooth Low Energy), 6LoPWAN and ZigBee

The BLE example demonstrates a typical personal diverse, for example a medical device used in the collection and transmission of physiological data to provide remote patient monitoring, alerts and preventive healthcare.

The 6LoWPAN and ZigBee examples demonstrates two typical telemetry based sensor scenario, for example a wireless sensor network utilised in machine health monitoring, preventative maintainence and closed looped machine automation.

The architecture allows for a hyperscaled ingestion system (millions of messages/second), near real-time streaming analytics and machine learning capabilities.

Code and instuctions are available for the BLE example (under development). Please contact to discuss the 6LoWPAN and ZigBee examples.

Are you interesting in a Wi-Fi based solution?
Then please visit the
Microsoft Azure + Texas Instruments LaunchPads Proof of Concept

Solution Architecture

Microsoft Azure and Texas Instruments SensorTag Architecture
Color Code: Blue - Code and Steps Included   Orange - Please Contact For Details   Grey - External Components

BLE Example

The Texas Instruments SensorTag sends telemetry including temperature and humidity readings to an iOS App. The iOS App then translates the BLE packets to TCP packets and sends the telemetry to Event Hub. Azure Stream Analytics processes the telemetry in near real time, where it stores the telemetry in an Azure SQL Database, one table stored the individual telemetry packets while another stores averaged temperature and humidity data, 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. 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.

6LoWPAN Example

Many Texas Instruments SensorTags collect sensor information and transmit it through a 6LoWPAN network to an edge router (bridge router). The edge router then routes the packets from the 6LoWPAN network to the Wi-FI network and sends the telemetry to Event Hub. Azure Stream Analytics processes the telemetry in near real time, where it stores the telemetry in an Azure SQL Database, one table stored the individual telemetry packets while another stores averaged temperature and humidity data, with the data count for a 5 minute tumbling window.

Machine automation instructions can be generated via a Stream Analytics query that compares values stored in an SQL Database Table, this creates a closed loop system to provide effeciency gains, improve quality and save energy.

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. 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.

ZigBee Example

Many Texas Instruments SensorTags collect sensor information and transmit it through a ZigBee network to a Gateway. The gateway collects the packets from the ZigBee network over a period of time and calculates an average of all the node on the network, the average telemetry is then sent to Event Hub over TCP. Azure Stream Analytics processes the telemetry in near real time, where it stores the telemetry in an Azure SQL Database, one table stored the individual telemetry packets while another stores averaged temperature and humidity data, with the data count for a 5 minute tumbling window.

Machine automation instructions can be generated via a Stream Analytics query that compares values stored in an SQL Database Table, this creates a closed loop system to provide effeciency gains, improve quality and save energy.

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. 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.

6LoWPAN or ZigBee?

When designing a solution that would benefit from ultra low power mesh network, the question often raised is whether 6LoWPAN or ZigBee would be the best technology to use. This can be a complex issue depending on many factors, however the below points raise some of the things you should be considering when making the decision.

Telemetry (From Device to Cloud or Server)

With 6LoWPAN, you are on an IP network, so if you are wanting to communicate directly over the Internet to the Cloud or a LAN to a local server, this makes life much easier as you will not need to develop a Gateway to translate your packets from Zigbee to IP. You just need a Edge Router that routes the IP packets from the 6LoWPAN network to Wi-Fi or Ethernet.

With ZigBee you will need to develop a Gateway that translate ZigBee packets to IP packets. This may be preferred if you are performing some sort of compression or other forms of manipulation of your data before sending to the Cloud or a server, as this will reduce the number and size of packets. This works well when you are interested in the sum/average etc of the nodes and not the individual node data.

Command (From Cloud or Server to Device)

With 6LoWPAN you can either communicate directly with the Device (port forwarding for example) or preferably you can have the Device open the connection and then communicate directly using that connection. This provides a simple mechanism for individual control of a device, if you need group control you can initiate this from the Cloud or Sever also.

With ZigBee, if you want to send commands to individual Devices then you will need some way to manage that process and identify each node. This will mean your Gateway will require a fair bit of code to make this all work. However if your solution does not need individual control, but group control, then ZigBee may be a better a choice if you would like the group to be managed by the Gateway.

Other Considerations

There are other factors to consider such as power consumption, interval between sensor readings, number of nodes in mesh and many other issues related to system specific requirement. Please contact so that we may discuss your requirements in details to determine whether 6LoWPAN ot ZigBee would be better for your solution.

Texas Instruments CC2650 SensorTag

Working on a IoT Project?

If you are working on an IoT project and would like to chat with someone who is experienced designing and developing end to end solutions. Please feel free to connect with me via my Linkedin profile, I'd be happy to offer you some advise and answer your questions.

Should you be looking for someone to assist you designing and developing your solution, please contact so we can discuss your requirements in greater detail.

Code Available From Github » Setup Instructions on Github Wiki » Glenn Vassallo's Linkedin Profile ยป

View Processed Telemetry

View processed telemetry that has been stored in an SQL Database Table.

Access Examples »

CC2650 SensorTag

Provides further details on the Texas Instruments CC2650 SensorTag.

Learn More »