------- OmnIoT SoftHub to Ubidots Dashboard Series (Part 1) -------

   This is the Ubidots specific guide that builds on the base example found HERE. As mentioned in the base example, we assume you are familiar with the OmnIoT SoftHub and Ubidots platforms, and have an understanding of MQTT in general. In this guide we'll modify the base example to publish our packet data to a cloud based Ubidots dashboard. We'll also illustrate how to "on the fly" reformat the default JSON packets output by the SoftHub to meet the Ubidots input requirements. Like the base example, the video below is done in "real time". As you will see, to modify our base example to graphically display our sensor data on a Ubidots dashboard takes only a few minutes from start to finish. 

------- EXAMPLE VIDEO -------

 

 

------- VIDEO RECAP -------

 

   To visualize our sensor data on our Ubidots dashboard, there were three sets of changes we needed to make on the SoftHub. The first was to modify the "Publish Data" action object to connect to the Ubidots broker (instead of the eclipse broker) and to associate the connection with a .mcfg (MQTT extended options) file. Next we created the .mcfg file which is needed to specify any .jff (JSON filter/format) files we require to transform our outgoing packets. And lastly we created a single .jff file, in which we specified the transformation to be made on our outgoing packet in order to be compatible with the Ubidots broker's requirements. Specifically, we made the following changes - 

Changed the RuleEngine.xml file (all updates to the Publish Data action object only) -

  1. Message Topic: changed to message topic per the Ubidots documentation

  2. Server User Name: changed the server user name per the Ubidots documentation

  3. Server Address: changed the server address to point to our assigned Ubidots MQTT broker

  4. Extended Options File: add a reference to ubidotsDemo.mcfg


Created ubidotsDemo.mcfg from template.mcfg, enabled/changed the following options -

  1. FlattenJson: enabled the flattening of all outgoing JSON packets

  2. PublishUnformatted : disabled publishing of any packet not transformed

  3. JffFile01: added a reference to ubidotsDemo01.jff

Created ubidotsDemo01.jff from template.jff, enabled/changed the following options -

  1. FormatDataLabel01: specified the label associated with the temperature value variable

  2. FormatDataLabel02: specified the label associated with the packet timestamp

  3. FormatDataLabel03: specified the label associated with the humidity value variable

  4. FormatDataLabel04: specified the label associated with the packet timestamp

  5. OutputFormatStr:   specified the packet template to be used to generate outgoing packets

You can download the files used in the example video HERE.

------- SUMMARY -------

   In this video we made all the required changes to get our data displaying on a Ubidots dashboard in just a couple of minutes. Check out our part two video HERE where we take this example and extend it further by adding a control widget to our dashboard allowing us to remotely control our SoftHub device directly from our Ubidots dashboard.