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

  • Web Interface — User-friendly browser-based control panel

  • REST API — Full API for automation and integration

  • Device Simulation — Simulate single or multiple devices simultaneously

  • 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 to rules.js

  • Snapshots — Save and restore the device list + parameter tree as snapshot.json from the UI or REST

  • Live Log Stream — Raw IN/OUT protocol messages with Time/Device/Dir/Event/Options/Payload columns, polled in real time, with full raw-message detail modal

  • Transport Security — Support for PSK and X.509 certificate authentication

  • Configuration Files — XML-based resource definitions

Use Cases

  • Testing IoT management platforms (ACS, LWM2M servers)

  • Development and debugging of IoT applications

  • Load testing with multiple simulated devices

  • Protocol compliance testing

  • Training and demonstration

Contents

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 and simulate your first device:

  1. Select a protocol (e.g., LWM2M) in the toolbar.

  2. Configure the server IP and Port.

  3. Click Initialize tree to build the device data model.

  4. Click Start to begin emulation.

For the full deployment guide, see Installation & Deployment. For a guided tour of the interface, see Getting Started.