Having discussed the advantages of using Data Model simulation and how to implement them in 1 & 2, let us put them into action after answering a couple of questions about how often relevant IoT data is available, processed and delivered.
The Nature of IoT Data Frequency (when you receive/send IoT data?)
IoT data reflects reality as sensed, reported or recorded by individual IoT devices or controllers and systems connected to IoT Gateways and then processed and reported by the same devices to IoT Data Handling and several web & mobile applications as well as various reporting and control functions. How often data is generated and delivered can be thought of as the IoT Data Frequency of an IoT implementation. How often is based on reality, need and design:
Reality – when and how often is data available? Data in the form of events and alarms is available when these happen. Monitoring data is generated at regular intervals, for example minutes, hours, or days. Dependent on processing available in IoT device or Gateway, monitoring data can be processed in the device and turned into events or alarms when they change or reach critical threshold levels.
Need – when should data be reported? This depends on what applications are supposed to do and the use cases they support. Alarms tend to be important – at least the category 1 alarms that may need immediate reporting in the form of blinking red lights or SMSs. On the other side of the spectrum is regular ‘boring’ data that do not have any urgency and can be processed on device or gateway and then reported on daily or less often. Much if this data may be meaningless and can therefore be discarded.
Design – what is the overall design of the IoT solution, particularly the applications? This will ultimately drive how often data is sent, processed, and fed to applications. It is important to start with a good design that identifies what the IoT solution is supposed to do. Until 3-4 years ago, initial designs were critical as the solution had to cover initial as well us future needs. With the appearance of cloud based IoT platforms and agile development methodologies, the initial design is less critical if it incorporates data models that are flexible and can incorporate future enhancements. JSON data models, as described in the previous blog meet this need.
Simulating IoT Data Frequency
The design phase of an IoT project should quickly identify importance approximate frequency of data to create a simulation frequency that is as close to the real application as possible. An initial question is whether device data will be collected at a constant rate or whether time between reporting will be randomized. For randomized time, a good start is to use exponential distributions between events – these distributions reflect many things in our reality such as length of events or time between events. They are a special case of Gaussian distributions that we all know reflect much of reality. Once a project is under way, a good simulator should support the development of data frequencies dependent on specific behavior of real devices or dependencies on external variables such as weather.
Implementing IoT Data Frequency for a General JSON Simulator
Using the approach discussed above, Triotos has developed two approaches for Data Frequency for our JSON simulator – Exponential Distribution and Fixed Interval time between reporting. As an initial way of simulating reporting intervals, these two approaches can match early design requirements and create realistic IoT frequencies and the associated JSON data/event/alarm traffic.
In our easy-to-use Device/Simulator Provisioning UI, adding a new IOT device allows you to add real IoT devices OR a simulator configured along the lines of Blog 2. Once provisioned.
Clicking on blue Simulator icon
Brings you to the following UI where you can select Exponential or Fixed Interval simulation and input the duration, rate, and interval for the simulator IoT data delivery frequency.
Once started – you have another IoT device simulated.
Part 4 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 – from IoT device to our Applications for Administration/Provisioning, Data/Event Monitoring, Analytics and Solution Monitoring. 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 <$100k instead of $ millions. To find out more, go to www.triotos.com.