前言
工业自动化和智能制造快速发展的今天,设备与系统之间的互联互通成为企业数字化转型的关键。面对种类繁多的工业协议、复杂的通信环境以及海量设备接入需求,开发一个稳定、高效、可扩展的物联网中间件显得尤为重要。
今天推荐一个一款工业级首的物联网开发解决方案 不仅可以做软网关, 还可以做嵌入式边缘网关。它致力于解决工业物联网中常见的通信协议适配、设备管理与数据流转问题。
项目介绍
iot-ucy 是一个基于 Java 开发的物联网网络中间件,依托 Netty、Spring Boot 等成熟框架构建,专注于工业场景下的设备接入与数据交互。
它不仅支持 TCP、UDP、串口等底层通信方式,还实现了对 MQTT、WebSocket、Modbus、PLC(西门子 S7、欧姆龙 Fins)、DTU 等主流工业协议的深度适配。无论是现场设备的数据采集,还是与上层系统的对接,iot-ucy 都能提供稳定可靠的通信支撑。
项目功能
该项目已经实现了多个核心功能模块,覆盖了工业物联网中的常见需求:
- 支持西门子和欧姆龙 PLC 的原生协议接入,可直接读写寄存器数据;
- 实现 Modbus TCP 客户端功能,便于与支持该协议的仪表、传感器通信;
- 提供 DTU + Modbus(TCP/RTU)服务端适配能力,适用于远程数据传输场景;
- 内置 MQTT 3.1+ 客户端,支持默认实现与自定义协议扩展;
- WebSocket 客户端与服务端双模式支持,可用于 Web 端实时监控;
- 跨平台串口通信(Windows、Linux、macOS),满足本地设备直连需求;
- DTU 模拟器功能,方便开发在无硬件环境下进行调试;
- 允许用户基于 TCP 或 UDP 自定义设备通信协议,提升灵活性。
项目架构
架构图
IBOOT系统除了可以部署在云服务器作为软网关也可以嵌入到硬件(工控机)里面作为边缘网关。
项目特点
iot-ucy 的设计充分考虑了工业应用的复杂性与稳定性要求。
其主要特点包括:
- 支持多协议并行运行,各组件可动态启用或停用(V3.0.0+);
- 不强制依赖 Spring 框架,可在任意 Java 环境中独立使用;
- 设备协议与业务逻辑分离,支持 Spring 注入或自定义处理器;
- 具备同步与异步调用能力,支持客户端、服务端、设备三者间的灵活交互;
- 完善的事件通知机制,包括设备上线、下线、异常等状态感知;
- 自动重连机制,在连接中断后能自动恢复通信;
- 丰富的日志输出,便于排查协议交互过程中的问题。
模拟工具
QtSwissArmyKnife 支持udp、tcp、modbus、websocket、串口等调试
IotClient 支持plc(西门子,欧姆龙,三菱),modbus,串口,mqtt,tcp, udp等模拟和调试 netty使用教程
已实现的协议驱动
项目技术
1、后端:java1.8、spring boot2.7、、mybatis、mybatis-plus、shiro、satoken、thymeleaf、hikaricp
2、前端:vue3、antd、axios、qs、moment、validate3、数据: mysql8.0+4、开发工具:idea
项目文档
iboot是一个基于Spring Boot2的物联网开发框架,旨在简化物联网应用的开发和部署,还提供了一系列的物联网设备管理和数据处理功能,帮助开发者快速构建稳定、高效的物联网应用。
项目体验
支持DTU、PLC、MODBUS、串口等调试
项目效果
系统登录
系统首页
运行管控
设备管理
工业物联网
系统运维
系统管理
项目源码
Gitee:gitee.com/iteaj/iboot
总结
iot-ucy 不只是一个通信中间件,更是一套面向工业物联网的完整解决方案。它将复杂的底层通信封装成易用的接口,让开发者能够专注于业务逻辑的实现。
不管是做设备厂商对接、工业数据采集,还是搭建智慧工厂平台,iot-ucy 都能为你提供强有力的技术支撑。如果你正在找一个功能全面、文档清晰、社区活跃的物联网中间件,不妨试试 iot-ucy,给项目点个 star,让更多人看到这个优秀的开源作品。
关键词
#物联网、#中间件、#Netty、#SpringBoot、#Modbus、#PLC、#DTU、#MQTT、#串口、#TDengine
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!
优秀是一种习惯,欢迎大家留言学习!