The OmnIoT SoftHub is an IoT Edge Platform that comes with a with a highly configurable object based rule engine built in. This allows you to easily configure most typical IoT application edge infrastructure withouthaving to do any actual programming. New MQTT features have been added to the SoftHub and in this project we cover how to use the new features to (1) easily send sensor data to most any MQTT capable cloud based dashboard, (2) reformat your data on the fly to be compatible with your target MQTT broker and, (3) control your SoftHub remotely from MQTT enabled cloud based dashboards or mobile apps.
Here we're concentrating on the SoftHub's MQTT functionality, though the platform itself includes far more extensive features which you can check out at the OmnIoT website. The full platform is free to use for any non-commercial or educational project, and a full working copy of the can be downloaded from the website as well (currently you'll need the beta install to access the MQTT features, see the link below). There's also a dedicated Hackster.io platform page.
With the new features, sending data from any supported sensor to an MQTT broker can be accomplished literally in minutes. This first video shows data from an ANT Tempe sensor, a BLE NXP RapidIoT multi-sensor, and a BLE Dialog Semiconductor DA 14585 multi-sensor being sent to both a ThingsBoard.io dashboard as well as a MS Azure PowerBi dashboard. Additionally, the video includes a simple example of how the SoftHub can be controlled remotely from a dashboard widget. In the video, a widget on the ThingsBoard dashboard is shown controlling whether the sensor data is concurrently sent to the PowerBi dashboard. It should be noted though that the widget could just as easily been configured to perform a wide range of complex functions, including issuing system commands or invoking scripts to run in the background. With the new MQTT interface, any of the SoftHub's rule engine functionality can be controlled remotely if desired.
The following two videos delve into the actual process of configuring the SoftHub's rule engine to connect to sensors and reformat the outgoing JSON packets on the fly. In these videos we'll connect to a BLE Sensirion SmartGadget sensor, a BLE Nordic Thingy:52 multi-sensor, and an ANT Garmin Tempe sensor. This time, we'll aggregate the data from the sensors into our own custom packet which we'll configure the SoftHub to publish every 4 seconds.
In the Part One video we'll look at the standard JSON output packets generated by default by the SoftHub, and then in Part Two we'll go through the process of how to reformat those packets on the fly to be able to send them directly to an IBM Watson IoT dashboard. We close the second video with a live demo of the data updating our example Watson dashboard in real-time.
In this final video we look at how easy it is to configure the SoftHub for remote control. In our example we connect to a BLE Texas Instruments SensorTag multi-sensor and use a widget we've configured on a Ubidots dashboard to control the SoftHub. Our control widget is a button that, when pressed, will send a message to the SoftHub which will cause the SoftHub to issue a BLE read request for the SensorTag's light sensor characteristic's current value. When the SensorTag responds, the data will be published to the Ubidots dashboard and will update a separate gauge widget which displays the most recent light value received.
Again, here we've concentrated on the new MQTT features of the SoftHub but bear in mind that the platform has far more functionality that can easily be configured in minutes, again, with no programming required. As mentioned previously, the full beta install package (including the new MQTT features) can be downloaded at the OmnIoT website's beta release page here - SoftHub Beta Release. You can also check out a full line of demo and "how to" video's at the OmnIoT YouTube Channel.
Below is a list of the sensors we currently support. Between the list there are dozens of sensor values that can be accessed and monitored and all sensors can be freely mixed and matched as needed. More importantly, adding support for a new sensor is usually only a few days work, so if you have additional BLE or ANT sensors you'd like to see supported please contact us and we'll follow up promptly.
Supported BLE Sensors -
- TI SensorTag multi-sensor
- Nordic Thingy:52 multi-sensor
- NXP RapitIoT multi-sensor
- Dialog Semiconductors DA14585 multi-sensor
- Sensirion SmartGadget multi-sensor
- Verner GDX-TMP temperature probe sensor
- Phoenix Sensors WEPS04 water pressure sensor
- Generic BLE Heart Rate Monitors
Supported ANT Sensors -
- Garmin Tempe Temperature sensor
- Generic ANT Heart Rate Monitors
Lastly, here is a preliminary list of cloud based MQTT capable dashboards we've tested with. So far we haven't come across any that support MQTT that we haven't been compatible with. We plan to add brief "how to's" on our website where we'll give a quick overview of how to set up your dashboard on each. Below the list are some screen cap's showing the various dashboards being fed data from the SoftHub. Note that most are capable of producing far richer graphics, for our tests we've just configured some basic widgets to confirm we could connect and send data successfully.
Cloud based dashboards we've tested with (so far) -
- MS Azure PowerBi
- IBM Watson IoT
- Amazon AWS IoT
- AdaFruit IO
Tested Dashboard Examples