Device Emulator Requirements
-
Emulate all the devices on a Iot Hub instance
- Fetch the list of all devices, periodically
- For each device, start an infinite emulation that lasts until a "stop event" is fired
- A stop event can be a keyboard interrupt or a C# method call
- The emulation consists of:
- Load device data
- Decide which property should be changed, why and how
- If the device is locked, do nothing
- If it's unlocked, randomly select an action:
- Do nothing
- Change position based on velocity (only if velocity is not 0)
- Change position and change velocity
- If it's moving, consume some battery
- If the battery is below the standby threshold go in standby mode
- Change the property values
- Submit the update to IoT Hub
Note
Emulating a device means firing a sequence of realistic updates on its reported properties on IoT Hub. We consider every device to be an E-Scooter.
-
Can be executed both as script and as a library
Last update:
January 16, 2022 08:25:44
Created: September 14, 2021 12:58:16
Created: September 14, 2021 12:58:16
Authors: