Tutorial: Using Device Simulator¶
The device simulator enables you to simulate a device that connects to and sends data to EnOS without using the EnOS Java SDK. To connect a device by using EnOS Java SDK, see Connecting a Simulated Device to EnOS.
This tutorial is a step-by-step guide on how to use the device simulator to simulate a device to send and view the data sent to EnOS. It will simulate an ammeter to report its reading once every minute, where the data will be stored in the Time Series Database (TSDB). If the current is above 60mA, a “Current is above the threshold” alert will be triggered and sent to EnOS. Both the readings and alert generated (if any) can be viewed in EnOS.
The procedure to simulate the ammeter is as follows.
Before You Start¶
Obtain access to the following modules. For more information, see Policies, Roles and Permissions.
Model
Device Management
Alert
Times Series Data
Procedure¶
Step 1: Create Model, Product, and Register Device¶
Create a model for the simulated ammeter using the following parameters. For information on how to create a model, see Creating a Model.
¶ Field
Value
Model ID
test.ammeter
Model Name
Simulated Ammeter Model
Category
None
Created From
No
Source Model
No
Description
None
Define the following elements for the model created in the above step.
Create a product based on the Simulated Ammeter Model using the following parameters. For information on how to create a product, see Creating a Device Collection (Product).
¶ Field
Value
Product Name
Simulated Ammeter Product
Asset Type
Device
Model
Simulated Ammeter Model
Data Type
Json
Certificate-based Authentication
Disabled
Description
None
Register a device based on the Simulated Ammeter Product, using the following parameters. For information on how to create a device, see Creating a Device.
¶ Field
Value
Product
Simulated Ammeter Product
Device Key
simulatedAmmeter
Device Name
Simulated Ammeter Device
Time Zone/City
UTC+08:00
Step 2: Configure TSDB Stroage Policy¶
To configure the storage policy for the simulated ammeter, go to Time Series Data Management > Storage Policy.
Select an existing group or create a new group. If you select an existing group, click Edit Group. If you create a new group, give a name for the group.
Select test.ammeter for the Group Model and click OK to include the ammeter model into the policy group.
Click beside AI Raw Data. Select a storage time from the drop-down list, and select test.ammeter to include all its measurement points into this policy.
As this tutorial does not require normalized data, Real-time Current is put in AI Raw Data.
Step 3: Configure Alert Rule¶
For this step, we will create a rule stipulating that when a reading for the Real-time Current exceeds 60mA, a Current is above threshold alert of Warning severity will be immedidately triggered.
In Alert > Alert Rule, create a rule as follows. To create a rule, the corresponding severity, type, and content are required. For information on how to create these, see Managing Device Alerts.
¶ Field
Value
Rule ID
ammeter_high_alert
Select Model
Simulated Ammeter Model
Measuring Point
Real-time Current
Condition
>
Value
60
Alert Content
Current is above threshold
Alert Severity
Warning Alert
Alert Triggering Delay
0
Alert Masking
Disabled
Enabled
No
Step 4: Launch Device Simulator¶
In Asset Management > Simulator, create a simulator for the Simulated Ammeter Device. For information on how to create a simulator, see Using the Device Simulator.
Upload the data sample for the Simulated Ammeter Device. For information on how to upload data sample, see Using Device the Simulator.
In the sample below, there are two columns of data. Column timeOfDay indicates the time from 0:00:00 to 23:59:00 with intervals of one minute. Column current, the identifier for Real-time Current, indicates the measurement point value reported by the device in milliampere.
When we created the alert rule, the alert threshold was set to 60mA. Therefore, in this sample, the column current needs to have at least one value above 60 in order to trigger the Current is above threshold alert.
It is recommended to set some values above 60 at earlier moments so that the alerts can be triggered early during the simulation. In the example below, abnormal values are set at 0:02:00, 0:07:00, and 0:10:00, so that the alerts will be triggered at the 2nd, 7th, and 10th minute after starting the simulation.
Start the simulator, setting the end time for 24 hours later.
You can actually set the end time to a time of your preference, but setting it much later leaves enough time for the TSDB to absorb enough data to generate a report.
Results¶
Data Insights¶
Wait for some time and go to Time Series Data Management > Data Insights. Select the device Simulated Ammeter Device and you will be able to view the Real-time Current data report in one minute intervals.
Alert Record¶
In Alert > Alert Record, click the History Alerts tab, and select the model Simulated Ammeter Model to view its historical alerts. You can see that several alerts have been triggered by the anormal data.