# IotDataSimulator
**Repository Path**: aiexporter/iot-data-simulator
## Basic Information
- **Project Name**: IotDataSimulator
- **Description**: IoT全能数据仿真软件,支持Modbus/MQTT/OPC UA等16种工业协议,27种仿真模式与故障注入,40+可视化组件,场景自动化编排引擎与SQLite/时序数据库持久化,助力工业IoT系统测试验证。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 5
- **Forks**: 2
- **Created**: 2026-07-04
- **Last Updated**: 2026-07-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
---
## 目录
- [项目简介](#项目简介)
- [为什么选择本软件](#为什么选择本软件)
- [应用场景](#应用场景)
- [核心功能](#核心功能)
- [效果截图](#效果截图)
- [快速上手](#快速上手)
- [环境要求与安装](#环境要求与安装)
- [常见问题](#常见问题)
- [产品路线图](#产品路线图)
- [更新日志](#更新日志)
- [关注我们](#关注我们)
- [联系我们](#联系我们)
---
## 项目简介
**IoT 全能数据仿真软件**(IotDataSimulator)是一款面向工业物联网场景的多协议数据仿真与测试工具。无需采购和接线真实硬件,即可快速模拟 PLC、RTU、智能终端、电力远动终端等设备,按规则生成仿真数据,并通过 Modbus、MQTT、OPC UA、IEC104、S7 等主流工业协议对外推送。
适用于协议开发联调、IoT 平台压测、SCADA/HMI 验证、可视化大屏演示、教学与 POC 汇报等场景。软件提供图形化配置界面,支持工程化管理、报文监视、故障注入、场景联动编排与独立可视化中心,帮助团队**降低硬件成本、缩短环境搭建时间、提升测试覆盖度**。
> **English Summary** — *IotDataSimulator is a Windows desktop IoT data simulation tool supporting 9 industrial protocols (Modbus TCP/RTU, MQTT, HTTP/HTTPS, OPC UA, WebSocket, TCP/UDP, S7Comm, IEC104). It offers 25 simulation modes, fault injection, visual monitoring, scene orchestration, and project-based workflow — ideal for protocol debugging, platform testing, and SCADA/HMI validation without real hardware.*
---
## 为什么选择本软件
| 能力 | 本软件 | 典型单协议工具 | 自写脚本方案 |
|:-----|:------:|:--------------:|:------------:|
| 9 种工业协议一体化 | ✅ | 通常 1~2 种 | 需自行集成 |
| 25 种内置仿真波形 | ✅ | 有限 | 需编码实现 |
| 多设备独立启停 | ✅ | 部分支持 | 需自行调度 |
| 报文十六进制监视 | ✅ | 部分支持 | 需额外开发 |
| 故障注入(丢包/抖动/断连) | ✅ | 少见 | 可实现但成本高 |
| 可视化场景联动编排 | ✅ | ❌ | ❌ |
| 独立可视化中心(趋势/仪表/回放) | ✅ | ❌ | 需第三方组件 |
| Excel 批量导入点位 | ✅ | 少见 | 需自行解析 |
| 时序库写入(InfluxDB / TDengine) | ✅ | ❌ | 需自行对接 |
| 零代码图形化配置 | ✅ | 部分 | ❌ |
| Windows 一键安装,免额外运行时 | ✅ | 视工具而定 | 需部署环境 |
---
## 应用场景
| 场景 | 你能做什么 |
|:-----|:-----------|
| **工业协议开发调试** | 在缺少真实 PLC/RTU 时,模拟从站/客户端,验证协议栈编解码与交互时序 |
| **IoT 平台测试** | 向 EMQX、ThingsBoard、thingscloud 等平台持续推送海量变化数据,评估吞吐与稳定性 |
| **SCADA / HMI 联调** | 模拟变电站、产线、楼宇等设备组,验证上位机采集、告警、写点逻辑 |
| **数据可视化验证** | 为仪表盘、数字孪生大屏提供持续变化、带噪声与阶跃的真实感数据源 |
| **异常与鲁棒性测试** | 通过丢包、抖动、断线重连等故障注入,检验系统容错与恢复能力 |
| **教学演示与 POC** | 无需硬件即可搭建完整工业通信演示环境,加速方案汇报与投标材料准备 |
---
## 核心功能
### 多协议支持
**9 种协议已就绪,7 种规划中**(有更多协议需求欢迎在 [Issues](https://gitee.com/aiexporter/iot-data-simulator/issues) 留言)
| 协议 | 状态 | 典型用途 |
|:-----|:----:|:---------|
| Modbus TCP / RTU | ✅ 已就绪 | PLC、RTU、DCS 等工业控制设备 |
| MQTT | ✅ 已就绪 | 物联网消息传输,支持 Broker 连接 |
| HTTP / HTTPS | ✅ 已就绪 | REST API、Web 服务接口仿真 |
| OPC UA | ✅ 已就绪 | 工业自动化统一架构(C/S 模式) |
| WebSocket | ✅ 已就绪 | Web 端实时双向通信 |
| TCP / UDP | ✅ 已就绪 | 自定义报文协议仿真 |
| S7Comm(西门子 S7) | ✅ 已就绪 | 西门子 PLC 通信 |
| IEC 60870-5-104 | ✅ 已就绪 | 电力远动规约、电网 SCADA |
| OPC DA | 🚧 规划中 | 遗留 Windows SCADA 系统 |
| BACnet | 🚧 规划中 | 楼宇自控(暖通、照明、门禁) |
| DNP3 | 🚧 规划中 | 北美 SCADA / 油气管道 |
| EtherNet/IP | 🚧 规划中 | Rockwell / AB PLC |
| PROFINET | 🚧 规划中 | 西门子工业以太网 |
| DL/T 645 | 🚧 规划中 | 中国电表规约 |
| CoAP | 🚧 规划中 | 资源受限 IoT 设备 |
### 多设备仿真管理
- 支持多台仿真设备并行运行,每台独立配置协议与通信参数
- 设备级 **运行 / 暂停 / 停止**,互不干扰
- 一键克隆设备(含全部点位配置)
- 按名称、协议、状态快速搜索与筛选
- 协议专属动态配置 UI(串口参数、IP 端口、MQTT 凭证、OPC UA 命名空间等)
### 25 种数据仿真模式
内置覆盖工业数据典型特征的仿真值生成器(另支持全局默认模式与单点「跟随全局」):
| 类别 | 模式 |
|:-----|:-----|
| **随机类** | 随机值、限幅随机、概率分布采样 |
| **波形类** | 正弦波、方波、锯齿波、三角波、正弦+噪声 |
| **趋势类** | 自增值、线性斜坡、指数曲线、CSV 文件回放 |
| **脉冲类** | 布尔脉冲、PWM、阶梯保持、阶跃响应、固定值 |
| **高级类** | 高斯噪声、随机游走、量化噪声、传感器漂移(线性/指数)、PRBS 伪随机序列、周期保持、数据源 |
### 故障注入
模拟真实通信异常,用于测试系统鲁棒性:
- **丢包模拟** — 按概率丢弃数据帧
- **抖动延迟** — 模拟网络延迟波动
- **断线重连** — 模拟设备断连与恢复过程
### 可视化场景编排
基于流程图的场景编辑器,支持拖拽式多设备联动规则配置:
- 条件触发:值变化、阈值越界、定时触发等
- 执行动作:修改点位值、切换设备状态、发送通知等
- 场景列表管理、运行日志与运行时执行
### 可视化中心
独立可视化窗口,内置 5 大标签页及多种分析组件:
| 模块 | 功能 |
|:-----|:-----|
| **实时趋势** | 时序曲线、报警阈值线、十字准线、覆盖比较、导航滑块、CSV/PNG 导出 |
| **仪表盘** | 模拟/数字仪表、指示灯,支持 2×2 / 3×3 布局 |
| **点表矩阵** | 设备点位矩阵热力图,可叠加数值条 |
| **历史回放** | 录制会话回放,支持搜索、播放/暂停、变速 |
| **报文时序** | 十六进制通信帧查看与协议统计 |
额外组件:LED 矩阵灯、泳道时间线、数字时间线、直方图/散点图分析、表格对比、事件日志面板、统计信息面板等。
### 工程化管理
- **工程导入/导出** — 设备与点位打包为 `.iotsim`(JSON),便于分享、备份与版本管理
- **Excel 点位导入** — 批量导入点位定义,配合智能映射快速落库
- **模板库** — 复用预定义设备与点位模板
- **SQLite 持久化** — 配置自动保存至本地工作区
### 时序数据库集成
支持将仿真数据持久化至主流时序库:
- **InfluxDB**(含 v2 Token 等配置)
- **TDengine**
### 界面与体验
- **浅色经典** / **深色沉浸** 双主题,深色模式融合 Windows 沉浸式标题栏
- 系统托盘驻留,支持最小化到托盘
- 内置更新检查(Gitee Releases API)与更新日志查看
---
## 效果截图
### 点位导入与管理
支持从 Excel 批量导入设备点位,提供直观的表格化管理界面。

### 智能映射
灵活的协议地址与点位映射配置,降低批量导入后的整理成本。

### 设备仿真
多设备实时仿真运行面板,独立启停控制与状态监控。

### 报文监控
实时捕获通信报文,支持十六进制 / ASCII 双视图,便于协议调试。

### 深色主题
精心设计的深色沉浸主题,适合长时间监控与调试场景。

### 数据可视化
趋势图、仪表盘、热力图、历史回放等多维度可视化展示。

---
## 快速上手
### 安装与启动
1. 前往 [Releases 页面](https://gitee.com/aiexporter/iot-data-simulator/releases) 下载最新安装包(当前 **v0.0.3**)
2. 双击安装包完成安装并启动软件
3. 按下方示例新建设备、配置点位并启动仿真
### 示例一:Modbus TCP 从站联调(约 3 分钟)
适合验证 HMI、组态软件、自研采集程序的 Modbus 读点逻辑。
| 步骤 | 操作 |
|:----:|:-----|
| 1 | 点击 **新建设备** → 选择 **Modbus TCP** |
| 2 | 配置本机监听地址(如 `0.0.0.0:502`)与从站号 |
| 3 | 添加若干 **Holding Register** 点位,仿真模式选 **正弦波**,设置量程 |
| 4 | 点击设备卡片 **运行**,使用 Modbus Poll / 自研客户端读取验证 |
| 5 | 打开 **报文监控**,查看请求/响应十六进制帧 |
### 示例二:MQTT 数据推送(约 3 分钟)
适合对接 EMQX、ThingsBoard 等 IoT 消息中间件。
| 步骤 | 操作 |
|:----:|:-----|
| 1 | **新建设备** → 选择 **MQTT** → 填写 Broker 地址、端口、Client ID、用户名密码 |
| 2 | 为点位配置 **Topic** 与 **Payload** 模板 |
| 3 | 点位仿真模式选 **限幅随机** 或 **随机游走**,模拟传感器读数 |
| 4 | **运行** 设备,在 Broker 订阅侧或平台设备面板观察数据更新 |
| 5 | 可选:打开 **可视化中心 → 实时趋势** 同步观察曲线 |
### 示例三:工程备份与分享
| 步骤 | 操作 |
|:----:|:-----|
| 1 | 完成设备与点位配置后,使用 **工程导出** 保存为 `项目名.iotsim` |
| 2 | 将 `.iotsim` 发给同事或测试环境,通过 **工程导入** 一键还原 |
| 3 | 配置写入本地 SQLite 工作区,重启软件后自动恢复 |
---
## 环境要求与安装
| 项目 | 要求 |
|:-----|:-----|
| 操作系统 | Windows 10 / 11(**64 位**) |
| 运行时依赖 | **无需额外安装** .NET / Qt 等运行时(安装包已内置) |
| 磁盘空间 | 建议预留 ≥ 200 MB |
| 网络 | 仿真推送需目标端口可达;更新检查需访问 Gitee |
### 数据存储位置
| 内容 | 路径 |
|:-----|:-----|
| 工作区数据库、本地配置 | `%APPDATA%/IotDataSimulator/` |
| 用户工程文件 | 自行选择保存路径的 `*.iotsim` |
---
## 常见问题
安装后客户端连不上仿真设备?
1. 确认设备卡片状态为 **运行中**(非暂停/停止)
2. 检查 Windows 防火墙是否拦截对应端口(如 Modbus 502、MQTT 1883)
3. 确认 IP 地址与端口、从站号、MQTT Topic 等参数与客户端一致
4. 打开 **报文监控** 查看是否有请求到达
Modbus RTU 串口无法通信?
1. 确认串口号、波特率、校验位、停止位与现场设备一致
2. 检查串口是否被其他程序占用
3. USB 转串口驱动是否正常安装
4. 尝试降低波特率排除线路干扰
OPC UA 连接失败?
1. 核对 Endpoint URL、安全策略与证书配置
2. 确认本机与 OPC UA 服务器之间网络可达
3. 若为自签名证书,需在软件中信任或关闭严格校验(视项目安全要求而定)
如何反馈 Bug 或提交协议需求?
请前往 [Gitee Issues](https://gitee.com/aiexporter/iot-data-simulator/issues),说明软件版本、协议类型、复现步骤与期望行为。协议路线图会参考用户投票与业务优先级排期。
---
## 产品路线图
```
v0.0.x ✅ 核心 9 协议 · 25 种仿真 · 可视化中心 · 场景编排
v0.1.x 🚧 OPC DA · BACnet
v0.2.x 🚧 DNP3 · EtherNet/IP · PROFINET · DL/T 645 · CoAP
```
> 欢迎在 Issues 中留言你需要的协议或功能,我们会纳入优先级评估。
---
## 更新日志
### v0.0.3(更新检查与体验优化)
- 新增更新检查功能,支持通过 Gitee API 检测新版本
- 新增更新日志对话框,方便查看版本历史
- 重构更新对话框布局,优化交互体验
- 优化 Excel 点位导入流程,提升导入效率
- 修复点位读写相关 Bug
- 修复趋势监控视图显示问题
- 修复版本号显示前缀重复问题
- 优化可视化场景编辑器布局与画布操作
### v0.0.2(缺陷修复与 UI 优化)
- 修复设备列表卡片停止状态条颜色不一致问题
- 主窗口标题拼接版本号显示
- 优化点位详情弹窗样式,统一对话框视觉风格
- 优化仿真规则配置弹窗样式
- 设置窗口新增更新检查与更新日志 Tab
### v0.0.1(初始版本)
- 支持多设备、多点位仿真运行控制(运行/暂停/停止)
- 协议支持:Modbus TCP/RTU、MQTT、TCP/UDP、HTTP、WebSocket、OPC UA、IEC104、S7
- 工程导入导出(`*.iotsim`)、模板库、报文监视
- 可视化中心:趋势图、仪表盘、矩阵、历史回放、分析报告等
- 灵活的仿真值生成器与故障注入
查看更早版本说明
历史版本详情见仓库内文档:
- [v0.0.3 发布说明](docs/release/v0.0.3.md)
- [v0.0.1 发布说明](docs/release/v0.0.1.md)
---
## 关注我们

**扫码关注公众号【边缘计算组态仿真软件】**
获取最新版本通知、功能更新与开发动态
若觉得本项目对你有帮助,欢迎在 Gitee **Star ⭐** 支持我们
---
## 联系我们
| 渠道 | 说明 |
|:-----|:-----|
| **Gitee Issues** | [提交 Bug / 功能建议 / 协议需求](https://gitee.com/aiexporter/iot-data-simulator/issues) |
| **微信公众号** | 边缘计算组态仿真软件(见上图二维码) |
| **最新版本下载** | [Releases 发布页](https://gitee.com/aiexporter/iot-data-simulator/releases) |
---
Copyright © 2024–2026 ECSS. All rights reserved.