IoT Emulator Documentation
Welcome to the documentation for the IoT Emulator — a comprehensive platform for simulating IoT devices across multiple protocols.
Project Overview
The IoT Emulator is a versatile tool designed to simulate IoT devices for testing and development purposes. It supports multiple communication protocols and provides both a graphical web interface and a REST API for automation.
Key Features
-
Multi-Protocol Support — LWM2M, MQTT, CoAP, USP, FSH_HUB, DUSUN
-
Two Operating Modes — Load Test for many devices sharing one configuration, Single Emulator for individual devices with their own server, data model and credentials
-
Web Interface — User-friendly browser-based control panel
-
REST API — Full API for automation and integration
-
Device Simulation — Simulate single or multiple devices simultaneously, with per-device start/stop/delete and configurations persisted to
devices.json -
Parameter Management — Full parameter tree viewer with live filter + alphabetical sort, in-place value edits, and per-parameter autoupdate (min/max/step/period/dataset, optional global mode)
-
Rule Engine — JavaScript hook
onParamUpdated(param, device, ctx)editable from the Rules tab and persisted torules.js -
Device sets — Export and import the device list + parameter tree, kept on the server as
configuration/snapshot.json, from the UI (Export device set / Import device set) or REST -
Live Log Stream — Raw protocol messages (
IN/OUT) and the page’s own actions (UI), dated in the reader’s time zone and polled in real time, with Device/Direction/Event filters, error rows that stand out, and a detail view with the raw message and Copy payload -
Transport Security — Support for PSK and X.509 certificate authentication
-
Configuration Files — XML-based resource definitions
Contents
-
Installation & Deployment — Step-by-step guide to deploying the IoT Emulator with Docker.
-
User Guide — How to drive the emulator from the web interface.
-
Supported Protocols — Per-protocol features, default ports, and options.
-
REST API — API reference for automation and scripting.
Quick Start
The fastest way to get a running emulator (assumes Docker is installed):
docker login hub.friendly-tech.com
docker run -d --name iot-emulator -p 8556:8556 \
hub.friendly-tech.com/emulator/iot:latest
Then open http://localhost:8556, pick Load Test Mode on the landing page, and simulate your first device:
-
Select a protocol (e.g., LWM2M) in the toolbar.
-
Configure the server IP and Port.
-
Click Initialize tree to build the device data model.
-
Click Start to begin emulation.
To drive one device at a time instead — its own server, data model and credentials — pick Single Emulator on the landing page and see Single Emulator Mode.
For the full deployment guide, see Installation & Deployment. For a guided tour of the interface, see Getting Started.