Digi IoT Device Simulator includes the required resources to start an out-of-the-box simulation. Everything is prepared for a successful deployment as long as you have access to a valid Digi Remote Manager account with capacity for all of the devices to simulate.
In this guide we are going to use samples/gs-sample
simulation.
This example creates and registers in Remote Manager five simulated refrigerated trucks based on a ConnectCore module:
-
Outside and inside temperatures are sampled and uploaded to Remote Manager.
-
The inside truck temperature can be remotely changed.
-
Truck routes are also simulated.
-
Trucks are always connected to Digi Remote Manager.
-
Their maintenance window is 5 minutes every hour.
-
They support firmware updates, but they will simulate:
-
A 15% of errors during the verification stage.
-
A 15% of errors during the download stage.
-
A 20% of errors during the installation stage.
-
-
They have a minimal file system.
Before continuing, you must have the required software installed. See 1. Download and install Digi IoT Device Simulator. |
Understand the basics
Before launching the simulation, you should have a basic knowledge about:
What are simulated devices?
Simulated devices are entities connected to Digi Remote Manager. They are not true physical devices but they appear to be and use Remote Manager resources in the same way as real devices do.

The main goal of simulated devices is to help you prototype and evaluate a solution that uses Digi’s IoT devices before actually deploying them on the field. This allows you to improve or fix issues on your environment without having to spend extra money and resources applying them after the deployment has been completed.
You can add features to these devices so they are able to:
-
Receive and handle firmware updates.
-
Expose an interactive file system.
-
Upload data for specific measurements as data points.
-
Respond to specific device requests.
-
Report their location to simulate movement.
All of these features let you understand how your real devices will behave after you deploy them, as well as how your environment would behave in hypothetical failure situations such as:
-
Having several devices that present intermittent disconnection issues.
-
Having devices that fail at certain step of a firmware update process.
-
Having massive shutdowns.
-
Obtaining wrong measurements of some of your sensors.
-
Reading actual critical/out of range values from your sensors.
You can interact with simulated devices as if they were true physical devices. Do not use them for any purpose other than mimicking real environments to identify issues and/or improvements on your setup before proceeding with final deployment.
How to create a simulation
Once you download the artifacts of the Digi IoT Device Simulator, you can configure your simulation to launch it or use an existing sample included by default. Each simulation can have as many groups with as many devices as your Remote Manager account allows. All are part of the same simulation.
The maximum number of simulated devices is 200. To increase this limit, contact your Digi Sales Representative. |
For more information about how to create your own simulation, see Create a simulation. |
In this guide we are going to use the samples/gs-sample
simulation.
Before launching your first simulation, let’s take a look at its structure:
-
simulation.json
is the main simulation file with:-
The amount of devices to simulate, five in this case and their profile,
truck
. -
Group setup information, such as:
-
Vendor ID for ConnectCore device,
FE080003
. -
Device type,
refrigerated-truck
. -
Simulated device name prefix,
Truck
. Devices are named asTruck-1
,Truck-2
, etc. -
Firmware version,
1.0.0.0
.
-
-
Routes information such as identifiers of the routes to use,
truck_routes
. -
User application information to generate, by code, the inside truck temperature data and process any change temperature request.
-
-
profiles
contains device profiles to define the behavior of simulated devices insimulation.json
, for this example,truck.json
profile:-
They are always connected to Digi Remote Manager.
-
Their maintenance window is 5 minutes every hour.
-
They support firmware updates, but they will simulate:
-
A 15% of errors during the verification stage.
-
A 15% of errors during the download stage.
-
A 20% of errors during the installation stage.
-
-
Data streams, requests, and file system corresponding identifiers:
streams
,requests
, andfile_system_01
.
-
-
data_streams
has data stream collections referenced in your profiles, in this case,streams.json
:-
The outside truck temperature is a double value automatically generated by the simulator between 20C and 30C starting with 25C.
-
The inside truck temperature is also a double value but, in this case, generated by the user application code.
-
-
device_requests
includes groups of device requests to reference in your profiles, for this example,requests.json
, with registered targetchange_temp
. -
fs
contains sub-directories with the base file systems used in your profiles. In the example, folderfile_system_01
determines the initial contents of the simulated devices file system. -
routes
have directories with routes configured in thesimulation.json
file,truck_routes
. -
simulation.py
the Python script to generate the inside truck temperature values and processchange_temp
requests.
For more information about simulation structure and files, see Simulation structure. |