Skip to content
This repository has been archived by the owner on Oct 11, 2023. It is now read-only.
Troy Hopwood edited this page Mar 18, 2019 · 13 revisions

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:

  1. Create custom device models for use in simulations
  2. Create a simulation for a set of customized device models
  3. Get details of the running simulation
  4. Stop existing simulation
  5. Start existing simulation
  6. Invoke direct methods on the devices
  7. Stateful devices, i.e. devices can simulate long-running flows, state machines, etc.

Components

  1. Web service: API for the UI to retrieve information and start/stop
  2. Storage: simulation details, and status of the simulation On/Off
  3. Simulation actors: background processes sending events and listening for method calls

Dependencies

  1. IoT Hub Manager, used to manage devices a. Requires an Azure IotHub.
  2. Storage Adapter, used to store the simulation status