The ExoSense device simulator tool allows users to create and run devices to use with ExoSense, typically for trying out the application and testing out features, before going through the work to connect a physical piece of hardware.
The ExoSense device simulator is also useful for providing demonstrations and creating repeatable scenarios for testing purposes.
Supports up to 10 simulated devices
5 simulators can be running at any time
A simple custom waveform type
A CSV file reader type
Selectable report rate with a minimum setting of 10 seconds supported. Note: If value is set to less than 10 seconds, it will report at 10 seconds.
This type of simulator loops through data of an uploaded csv file. The CSV file defines the channels, properties, and data. An example is provided for download in the tool.
Click 'Add +' to create a new simulator
Give it a unique identifier and pick a type.
Download the example CSV
Modify or use as is (recommend to try this first)
Upload or drop the CSV onto the simulator CSV link.
Be sure to hit 'SAVE' to apply the new CSV.
Enable the Simulator
Go to 'Unclaimed Devices' in ExoSense and assign to a group
Start using for Asset data
Users can modify the CSV file to add more channels, change the data, and edit properties for the configuration.
First row is for the channel identifiers (id)
Following rows support adding items from the channel schema interface specification such as:
properties.data_unit (required except for NUMBER,STRING,BOOLEAN data types)
The last part of the file is for specifying data in rows. Each row is sent in order, at the given report rate.
example csv file contentid,temperature1,humiditydisplay_name,Temperature 1,Humidityproperties.data_type,TEMPERATURE,HUMIDITYproperties.data_unit,DEG_FAHRENHEIT,PERCENTprotocol_config.report_rate,10000,10000properties.precision,2,2protocol_config.timeout,30000,30000properties.locked,true,trueproperty,,data,22.43,45.5,23.3,45.67,23.14,45.02,23.02,44.02
Location data can be sent but requires a special formatting in the CSV as latitude and longitude need to be placed inside a JSON formatted value which is not supported in CSV format. The tool will create the JSON data if formatted in this way, note the addition of the 'property' row. This will properly create the JSON value.
example csv file with location dataid,location,location,temperature1display_name,Location,,Temperature 1properties.data_type,LOCATION,,TEMPERATUREproperties.data_unit,LAT_LONG,,DEG_FAHRENHEITprotocol_config.report_rate,20000,,10000properties.precision,1,,2protocol_config.timeout,60000,,30000properties.locked,true,,trueproperty,lat,lng,data,43.67423,-96.18115,22.43,43.67424,-96.18215,23.3,43.67424,-96.18286,23.14
This type allows for creating channels, setting configuration parameters for the channel, and specifying a waveform such as sine, square, etc. This type has limited functionality but is the easiest to set up and use.
Once the device simulator is running, use the ExoSense guide for creating assets from devices.