【开源】一个基于java语言的物联网中间件,支持常用物联网协议

createh52个月前 (02-01)技术教程10

项目介绍

iot-ucy是使用java语言且基于netty, spring boot, redis等开源项目开发来的物联网网络中间件, 支持udp, tcp, 串口(com)通讯(window、linux、mac)等底层协议和http, mqtt, websocket(默认实现和自定义协议头实现), modbus(tcp,rtu),plc,dtu(支持心跳,设备注册功能以及AT协议和自定义协议支持),dtu for modbus tcp,dtu for modbus rtu组件适配 等上层协议. 主打工业物联网底层网络交互、设备管理、数据存储、大数据处理。(其中plc包括西门子S7系列,欧姆龙Fins) 数据存储将使用taos数据库以及redis消息队列。

已实现功能

  • 西门子和欧姆龙PLC原生协议适配
  • Modbus Tcp协议客户端实现
  • DTU + Modbus(Tcp/RTU)协议的服务端实现
  • Mqtt(3.1+版本)客户端实现(一套默认实现并支持自定义实现)
  • Websocket协议的客户端和服务端实现(一套默认实现并支持自定义实现)
  • 串口通讯(支持平台 mac, windows, linux)
  • DTU模拟器
  • 支持基于TCP协议的设备协议自定义
  • 支持基于UDP协议的设备协议自定义
  • 支持在任意的java环境使用不强制依赖spring框架(V3.0.0+)
  • 支持动态启用和停用组件服务(V3.0.0+)
  • 支持串口+Modbus Rtu(V3.0.0+)

接口主要特性

  • 支持服务端启动监听多个端口, 统一所有协议可使用的api接口
  • 包含一套代理客户端通信协议,支持调用:客户端 -> 服务端 -> 设备 -> 服务端 -> 客户端
  • 支持设备协议对象和其业务对象进行分离(支持默认业务处理器【spring单例注入】和自定义业务处理器)
  • 支持同步和异步调用设备, 支持应用程序代理客户端和设备服务端和设备三端之间的同步和异步调用
  • 服务端支持设备上线/下线/异常的事件通知, 支持自定义心跳事件, 客户端支持断线重连
  • 丰富的日志打印功能,包括设备上线,下线提示, 一个协议的生命周期(请求或者请求+响应)等
  • 支持请求时如果连接断线会自动重连(同步等待成功后发送)
  • 支持客户端发送请求时如果客户端不存在将自动创建客户端(同步等待成功后发送)

模拟工具

  • QtSwissArmyKnife 支持udp、tcp、modbus、websocket、串口等调试
  • IotClient 支持plc(西门子,欧姆龙,三菱),modbus,串口,mqtt,tcp, udp等模拟和调试

项目界面

开源地址:
https://gitee.com/iteaj/iot
#好用的开源软件##开源项目精选#

相关文章

基于Netty的ModbusRtu和云服务器(java)通讯

上篇讲了modbus协议的基础。今天说下问题的场景及过程的困扰,断断续续历时个把月才把问题解决。场景(农污):站点分散分布在农村,不具备有线网络。每站点现场通过plc接现场设备,比如泵、液位计、鼓风机...

ModBus通讯协议:传输模式+地址、功能码、数据域+数据格式

ModBus通讯协议通俗点来讲,ModBus规约了起停电机,主机要分别发送什么命令给从机。ModBus规定主从机之间数据的交互,需要遵循什么样的格式,如何保证数据在传输过程中不发生冲突。只要都遵循这个...

Java 泛型使用(类、方法、接口协议、类型通配符、通配符上下限)

一、简介泛型:是 JDK5 中引入的特性,它提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型,它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。一提到参数,最熟悉的就是定...

分布式协议与算法,你了解多少?(分布式协议 paxos)

我这里将主要列举一致性Hash算法、Gossip协议、QuorumNWR算法、PBFT算法、PoW算法、ZAB协议,Paxos会分开单独讲。一致性Hash算法一致性Hash算法是为了解决Hash算法的...

ThingsBoard物联网平台实践 LoRa协议+node-red+mqtt 实现单灯控制

ThingsBoard是一个基于Java的开源物联网平台,可实现物联网项目的快速开发,管理和扩展。ThingsBoard 使用行业标准物联网协议(MQTT,CoAP和HTTP)实现设备连接,并支持云和...

6 张图带你彻底搞懂分布式事务 XA 模式

XA 协议是由 X/Open 组织提出的分布式事务处理规范,主要定义了事务管理器 TM 和局部资源管理器 RM 之间的接口。目前主流的数据库,比如 oracle、DB2 都是支持 XA 协议的。mys...