Having discussed the advantages of using Data Model simulation and described implementing allowing for simulated IoT devices to be provisioned, deployed, and started it – let us focus on how this approach ‘Speeds Up’ all aspects of Solution Development – from IoT Device Development and Integration to All Applications associated with an IoT solution – Administration/Provisioning, Data/Event Monitoring, Analytics, Mobile Applications as well as Integrations with Business Systems. Before we look at each of these, let us discuss the importance of IoT data volume.

The Importance of Data Volume (how much data is available for application development?)

In IoT Data volume goes from the mundane single data item reported whenever a gate to a remote electrical distribution point in the middle of nowhere is opened (once every 3 months on average) to the massive where data from thousands of IoT devices that generate millions of data items over time are aggregated to perform meaningful analytics and machine learning and long-term operational understanding.

Device Data Volume describes the data items (JSON formatted or other) and frequency by which they are reported. (Data/Event reporting/hour is a meaningful measure).

Meaningful Data Volume describes meaningful data and frequency. There may be large discrepancies between Data and Meaningful Data. Initially all data is looked at with interest but over time, a lot of data will be filtered out so that the IoT implementation focuses on relevant data.

Low/High Data Volumes: If the volume is low, we may have to collect data from a large number of devices in order to gain any meaningful information. If the volume is high, we may have enough meaningful information from fewer devices.

The importance of Data Volumes manifests itself in three areas:

  • Load testing of IoT implementations – any implementation will support ten devices – what about a thousand or a million.
  • Bringing up and Testing IoT applications in different user/usage scenarios over time.
  • Statistical summaries, analytics and machine learning depend on large volumes of data to be ‘statistically’ meaningful.

Creating Volume Data using Simulation

Creating and deploying one or a couple of simulators is easy, all you need to do is to decide on a data model and then create a Python program that generates simulated data and event values and sends them to an IoT data handling platform via the internet. Such a simulator can be deployed on a laptop, desktop or on an app server on location or in the cloud. Point it to the right IP address and you have a simulator delivering data.

Doing this in volume, i.e., having ability to deploy 100s and even thousands of simulators running simultaneously is a much more complicated task. Doing it so that it is seamlessly integrated with the process of developing, integrating, deploying, and operating an IoT solution is a substantial undertaking. But having such a solution will substantially speed up IoT solution development.

Speeding up IoT Solution Development with Volume IoT Data Simulation

So how does this work? Let us look at 11 aspects of developing an IoT Solution to see how using Data Model Simulation helps:

  1. IoT Device Development – Knowing that the IoT device will also be simulated forces an adherence to Data Model discipline and understanding usage scenarios. As device is tested it can be compared to the simulated version of the device.
  2. IoT Device Integration – By starting development of the rest of the IoT platform at the same time as device development there is an implemented IoT solution already in place when Device Integration Testing starts. Instead of building test set ups, testing is done with a real live system.
  3. IoT Connectivity – It may seem that this has little to do with simulation, but a well-designed simulator can also feed simulated data/event traffic into the actual device. This requires that the simulator can also be run on a laptop feeding simulated data to lab hardware via serial ports or other interfaces.
  4. Data/Event Monitoring Applications – Having simulated data that mimics real devices means that development can start much sooner.
  5. Solution Monitoring Applications – A simulator that can also simulate operation states and a state machine for operations means that development of IoTNOC (IoT Network Operations Center), often the last to start, can be done in a timely way.
  6. Analytics – High volume simulated data is a requirement before any meaningful statistical, analytics or machine learning applications can commence.
  7. Administration/Provisioning – If simulators use the same Administrative and Provisioning functions as the eventual solution, these can be developed and tested as part of the solution.
  8. Mobile Applications – Mobile applications often combine several of the applications mentioned above and the same arguments apply to these.
  9. Integration Testing – Simulation pretty much eliminates the waterfall model of integration testing replacing it with an agile day-to-day integration testing regiment.
  10. Deployment – Rather than waiting for physical IoT devices to drive deployment testing, by the time these are introduced large parts of the IoT Solution has already been deployed.
  11. Operations – Operations is always the ultimate test of an IoT solution but by using simulation, different operational scenarios can be tested, and ongoing operations can be enhanced by using simulation data.

Implementing IoT Data Model Volume Simulation

Using the approach discussed above, Triotos has implemented IoT data model simulation as a core integrated part of our solution development platform and approach. Our simulators once created behave like any other IoT device connected to the AWS platform. It can be assigned to a site (location) and will automatically show up in all Triotos applications. Let us take a look at how this works:

The Administration/Provisioning Application has a UI for creating Simulators along with provisioning Devices and creating/managing Sites.

A customer can add a new simulator or modify and existing simulator by clicking green button. Once created, simulators are part of a simulator library that can be assigned to sites.

Creating a site uses another part of the same application with a list of existing sites and ability to create new ore edit existing ones.

Once a site has been created, by creating a generalized JSON based simulator and making it provision able like any other IoT device

Once Simulator has been assigned to a site the simulator is started by clicking on the clock button and configured and started as was discussed in Blog 3 and be left to run for minutes, days, or months. In order to change data items in a JSO, it is enough to edit the simulator and then stop and re-start all the simulators and data will automatically appear in the Triotos applications.

Part 5 of this blog will put all the pieces together and show how use of Data Model Simulation for any specific IoT solution JSON data model. We will walk through the steps of implementing it on the Triotos AWS implementation – and show the results in the Triotos IoT Applications for Data/Event Monitoring, System Monitoring and Analytics. At Triotos, we focus on providing IoT solutions that meet your needs. Using ready built reference solutions and products we can deliver the IoT you need in months instead of years and for $100ks instead of $ millions. To find out more, go to www.triotos.com.

About the Author

Mats Samuelsson

Mats Samuelsson is the Chief Technology Officer for Triotos. In this role, he is responsible for the development, integration, and deployment of Triotos technology initiatives.