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

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

项目介绍

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
#好用的开源软件##开源项目精选#

相关文章

MQTT协议介绍及Java教程(mqtt协议运行在哪一层)

一、 概述  MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅模式的"轻量级"通讯协议,它和 Modbus TCP 一样都...

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

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

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

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

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

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

Modbus协议很简单,结合温湿度传感器手把手教你使用Modbus协议

一、阅读温湿度传感器产品手册1、产品参数2、产品所用到的Modbus协议功能号3、产品通讯协议二、利用PC串口调试助手与温控传感器进行通信设置设置串口调试助手通讯格式字:波特率9600,校验位NONE...