This service allows management of a pool of simulated devices. The primarily objective is to allow testing the end-to-end flow of device-to-cloud (D2C) telemetry and invoking cloud-to-device (C2D) methods.
The microservice provides a RESTful endpoint to create a simulation (only one), start, and stop a simulation containing multiple devices. Each simulation is composed of a set of virtual devices of different types. The devices are registered with an IoTHub, send telemetry, update the twin and receive method calls.
Features:
- Create custom device models for use in simulations
- Create a simulation for a set of customized device models
- Get details of the running simulation
- Stop existing simulation
- Start existing simulation
- Invoke direct methods on the devices
- Stateful devices, i.e. devices can simulate long-running flows, state machines, etc.
Components
- Web service: API for the UI to retrieve information and start/stop
- Storage: simulation details, and status of the simulation On/Off
- Simulation actors: background processes sending events and listening for method calls
Dependencies
- IoT Hub Manager, used to manage devices
a. Requires an Azure IotHub.
- Storage Adapter, used to store the simulation status