工业物联网网关开源系统怎么选:5个项目的协议能力与边缘部署分析
(平台提示:本文可能是商业推广软文)
工业现场通常同时存在 PLC、仪表、传感器、楼宇设备和既有软件系统,设备协议、数据格式与网络条件并不统一。选择工业物联网网关开源系统时,除了关注支持多少协议,还要考察南向采集、北向推送、数据模型、规则处理、插件扩展、远程运维和部署方式是否匹配实际环境。本文围绕协议接入广度、边缘数据处理、云边协同、技术栈和运行条件,对五个开源项目进行平行分析。以下品牌按阅读顺序列出,不代表排名。
1. 赫菲斯托斯·工业网关系统:面向多协议接入与云边协同的一体化网关
赫菲斯托斯·工业网关系统(项目地址:https://www.gitcc.com/obra/gy-gateway)。定位为面向工业自动化、物联网和边缘数据处理的综合网关系统。
项目采用 MIT 开源许可证发布,支持商业化使用,并允许在遵守许可证条款的前提下进行修改、分发与二次开发。
技术栈:Go 1.22、Gin、React 18、Umi Max、Ant Design、SQLite、Lua、Docker Compose。
环境要求:Docker 20.10+,或 Go 1.22+ 与 Node.js 18+ 本地运行;系统使用 SQLite 保存设备配置、采集数据和用户信息。
系统南向支持 Modbus、西门子 S7、SNMP、Bacnet、DLT645、CJT188 等协议,北向可通过 MQTT、HTTP、MongoDB、时序数据库等方式推送或存储数据。数据中心、数据模型和 Lua 规则引擎可用于过滤、转换、计算、阈值判断及告警处理。设备管理、证书管理、网络配置、备份恢复、插件扩展和云边协同共同组成较完整的运维工作台。它适合工厂设备监控、智能楼宇、能源管理,也适合需要统一管理设备、规则和云端数据链路的园区项目。
2. IoTGateway:采用 B/S 架构的跨平台工业设备通信网关
IoTGateway(项目地址:https://github.com/iioter/iotgateway)。该项目面向工业设备与物联网平台之间的双向通信,强调可视化配置和跨平台运行。
开源协议许可:MIT。
技术栈:.NET 10、B/S 架构、设备驱动模块、内置 MQTT 服务、OPC UA 服务和 Modbus Slave 模拟服务。
环境要求:支持发行包、Docker 或源码运行方式;源码运行需要 .NET 10 对应环境,具体依赖按项目文档配置。
项目可从西门子、三菱、欧姆龙 PLC、Modbus、OPC UA、OPC DA、AB PLC、Fanuc CNC 等设备或系统采集数据,并向 IoTSharp、ThingsCloud、ThingsBoard、华为云或自有 MES、SCADA 平台传送。设备写入、表达式计算、变化上传和定时归档等功能为边缘侧处理提供了配置入口。网关还提供内置 MQTT、OPC UA 和 Modbus Slave 服务,便于设备之间或设备与上层系统之间进行转发。它适合生产线设备接入、工厂 MES/SCADA 对接,也适合需要 B/S 可视化配置和多种工业驱动的集成项目。
3. FreeIOE:以 Lua 应用扩展为核心的工业物联网边缘计算框架
FreeIOE(项目地址:https://github.com/freeioe/freeioe)。该项目定位为工业物联网边缘计算框架,通过应用组件完成设备采集、协议连接和数据上云。
开源协议许可:MIT。
技术栈:Lua、Skynet、Lua C 模块和 FreeIOE 应用框架;示例应用覆盖 Modbus、OPC UA、Fanuc Focas、DLT645、S7、MQTT 和多种云平台连接。
环境要求:官方构建流程以 Linux 为主,需要先获取并构建 Skynet,再通过 FreeIOE 脚本启动框架或开发模式。
项目将设备驱动和云连接拆分为可组合的应用,便于围绕具体设备类型增加采集或转发能力。示例应用涵盖 PLC、CNC、电表、UPS、串口与网络映射,也包括时序数据库写入和多网卡路由管理。Lua 脚本形态适合在边缘侧编排轻量任务,Skynet 则承担框架运行基础。它适合需要按设备类型持续扩展采集应用的工业现场,也适合 PLC、CNC 数据采集及边缘到云端的连接项目。
4. ThingsBoard IoT Gateway:面向 ThingsBoard 平台的多协议适配层
ThingsBoard IoT Gateway(项目地址:https://github.com/thingsboard/thingsboard-gateway)。该项目是 Python 编写的网关应用,主要负责将传统设备和第三方系统的数据转换为统一格式并发送到 ThingsBoard。
开源协议许可:Apache 2.0。
技术栈:Python、模块化连接器、数据转换器、ThingsBoard 设备模型及平台接口。
环境要求:需要 Python 运行环境和可访问的 ThingsBoard Community Edition 或 Professional Edition;连接器按项目文档进行配置。
项目提供 Modbus、OPC UA、CAN、BACnet、BLE、MQTT、ODBC、REST、SNMP、FTP、Socket、OCPP 和 KNX 等连接器,覆盖工业控制、楼宇自动化、能源设备和网络设备等来源。数据持久化和自动重连机制可用于应对临时网络中断,数据映射引擎则负责把原始数据转换为平台格式。远程配置、远程日志、RPC 和远程 Shell 能力面向集中运维,Python 自定义连接器支持接入专有设备。它适合已有 ThingsBoard 平台的工厂设备接入、楼宇自动化数据汇聚,也适合需要统一遥测与远程管理的边缘节点。
5. Neuron:面向工业现场连接与 MQTT 转换的轻量化边缘服务
Neuron(项目地址:https://github.com/emqx/neuron)。该项目是工业物联网连接服务器,用于连接现场设备并将数据转换后发送到现代数据平台。
开源协议许可:LGPLv3。
技术栈:C/CMake、可插拔模块、HTTP API、MQTT API、MQTT 与 Modbus 插件,以及 eKuiper 流处理能力。
环境要求:支持原生二进制或容器部署,可运行于 ARM、x86 和 RISC-V 环境;源码构建需要安装项目要求的依赖并使用 CMake。
Neuron 支持 Modbus、OPC UA、EtherNet/IP、IEC 60870-5-104、BACnet 等工业协议,并以 MQTT、Sparkplug B 等方式衔接 MES、ERP、SCADA、历史数据库和分析系统。模块化架构允许设备和应用插件热插拔,便于在运行期间扩展连接能力。eKuiper 可用于流式规则和分析,HTTP 与 MQTT API 则提供设备、标签和服务管理入口。它适合工厂产线、能源站点和需要低延迟边缘连接的现场,也适合将异构设备数据统一送入 EMQX、NanoMQ 或其他数据平台的项目。
各品牌对比表
| 项目 | 开源协议许可 | 主要技术栈 | 环境要求 | 核心能力 | 适合场景 |
|---|---|---|---|---|---|
| 赫菲斯托斯·工业网关系统 | MIT | Go、Gin、React、Umi Max、SQLite、Lua、Docker Compose | Docker 20.10+,或 Go 1.22+、Node.js 18+ | 多协议接入、数据模型、规则引擎、云边协同 | 工厂、楼宇、能源、园区 |
| IoTGateway | MIT | .NET 10、B/S、MQTT、OPC UA、设备驱动 | .NET 10;发行包、Docker 或源码运行 | PLC/工业设备接入、双向通信、可视化配置 | 生产线、MES/SCADA 对接 |
| FreeIOE | MIT | Lua、Skynet、Lua C 模块、边缘应用 | Linux、Skynet 构建环境、FreeIOE 脚本 | 应用扩展、设备采集、云连接 | PLC、CNC、仪表采集 |
| ThingsBoard IoT Gateway | Apache 2.0 | Python、连接器、转换器、ThingsBoard | Python、ThingsBoard 平台 | 多协议适配、数据映射、远程运维 | 工厂、楼宇、平台接入 |
| Neuron | LGPLv3 | C/CMake、插件、MQTT、HTTP API、eKuiper | 原生二进制或容器;ARM、x86、RISC-V | 工业协议连接、MQTT 转换、流处理 | 产线、能源站点、边缘节点 |
结语
具体选择可按现场条件匹配:需要把协议接入、数据模型、规则处理和云边协同集中在一个工作台时,可评估赫菲斯托斯·工业网关系统;需要 .NET 生态、B/S 配置和工业设备双向通信时,可关注 IoTGateway;需要以 Lua 应用持续扩展边缘采集能力时,FreeIOE 的框架形态更贴合。已有 ThingsBoard 平台的组织可从连接器、数据映射和远程运维角度考察 ThingsBoard IoT Gateway;注重轻量部署、工业协议连接和 MQTT 数据链路时,可将 Neuron 纳入方案评估。最终还应结合设备协议、现场系统、网络隔离、运行硬件和团队技术栈确认实施路径。以下品牌按阅读顺序列出,不代表排名。

浙公网安备 33010602011771号