We’ve recently been doing some work with a French company called Sigfox that has some ambitious goals for enabling the Internet of Things. Rather than using a general-purpose IP-based cellular network, which requires significant power and silicon for basic connectivity, they’ve developed a purpose-built network designed to meet the needs of millions or even billions of low-powered IoT devices. They believe they can reduce power requirements enough that many devices can run without batteries (powered by solar for example) and with a fraction of the communications silicon required to connect via other wireless networks. Exciting stuff!
At Solace, we have taken a similar approach to tackling the challenges of data movement by tackling the right tools for the right jobs. Sophisticated messaging and streaming in the back office, WAN optimization for efficient cloud synchronization and lightweight protocols and APIs for IoT devices.
This shared vision is what brought our two companies together and what has led to some of my efforts building a proof-of-concept application that shows the capabilities of our combined solutions. Sigfox brings best-in-class connectivity for sensors and devices, and Solace brings a flexible means of delivering that data to enterprise apps.
In the PoC, Sigfox device data is distributed to two databases (SAP Hana and Cloudant), as well as to a mobile application using MQTT. I have deployed these two databases in two different public cloud: SAP Hana in AWS and Cloudant in Buemix, as shown below:
This PoC features Solace open data movement and SigFox IoT network capabilities:
I have worked with Sigfox to connect test devices to a Solace appliance deployed in our London offices. Messages sent by the devices are published to a topic that with subscribers in both SAP Hana and Cloudant.
Here’s the sensor data collection portal management site: https://www.sensit.io
Configuration in Solace for running this demo simply consists in:
Note: there is no need to configure anything for the MQTT mobile connectivity: by default, any message received by Solace is available to any supported protocol (if the security mechanisms permit). So, a MQTT client can easily subscribe to the messages posted by Sigfox.
It has been decided to include the sensor ID in the URI: Sigfox sends the sensor information to a URL like http://solace:port/<sensorID>
The configuration of the HTTP targets to send POST over HTTP (or HTTPS) messages is accomplished using the REST Delivery Point object which is bound to a REST Consumer and a Queue binding:
The below schema summarizes the Solace configuration:
The same configuration has been done for Hana.
The sensor is configured to send light information every hour. This can be configured a more or less frequent update period – up to 8 messages per sliding hour, which is a limit by Sigfox network. Also, you can force the sensor to send information by pushing a button, which is handy for the demo.
At each update, the sensor data is sent by Sigfox to Solace, which then distributes to Hana, Cloudant and the Mobile MQTT client installed on my iPhone.
In Cloudant, there is a very easy and intuitive user interface showing all the database documents:
Finally, let’s have a look at the Mobile MQTT app for iPhone:
Implementing Solace’s open data movement capabilities in conjunction with Sigfox’s innovative connectivity solution for sensors and devices has some serious potential. I look forward to seeing how our customers tap into the combination to link IoT devices with enterprise applications and business processes.