核心内容摘要
xxxxxwwww:开启数字时代的无限想象
物联网平台 - Thinglinks-iot## 项目简介一个功能完备、高可扩展的物联网平台用最少的代码接入设备基于Ruoyi-vue框架支持Mysql和pgsql双版本集成mybatis-plus集成TCP、MQTT、UDP、CoAP、HTTP、WebSocket、MODBUS等多种网络组件提供完整的设备接入、管理和数据处理解决方案。
具备强大的消息解析、数据转发、规则编排和实时告警能力帮助企业快速构建物联网应用。
该项目现已纳入若依项目拓展中仓库代码地址https://gitee.com/chinachentao/thinglinks-community演示地址演示使用请不要暴力测试和修改密码谢谢。
http://
47.
109.
1
72:28082/账号:admin 密码:admin123使用中如果遇到问题或需要改进的地方可以加入文档末尾QQ群在群里提问同时也感谢您宝贵的建议。
技术文档官方技术文档最新协议包代码地址协议包代码地址 核心特性
设备全生命周期管理状态监控- 实时设备在线状态跟踪多种设备在离线判断方式可配置断开连接/网关管理/心跳机制数据清理- 设备可单独配置消息保存时间到期自动删除定位管理- 设备可配置经纬度坐标以及中文位置地图上一览设备在离线情况。
设备分组- 可对产品和设备单独分组更方便设备类别的管理。
多协议接入支持TCP- 稳定可靠的长连接通信MQTT- 轻量级的发布订阅模式内置高性能mqtt_broker可一键开启mqtt服务UDP- 高效的低延迟数据传输CoAP- 专为受限设备设计的协议HTTP- 标准的RESTful接口WebSocket- 实时双向通信MODBUS- 工业物联网设备协议
智能消息解析协议适配- 多种数据格式解析JSON、二进制、自定义数据转换- 灵活的数据格式转换和归一化设备自动注册- 设备上报消息即可自动注册无需一个设备一个设备手动添加。
规则引擎- 可视化配置数据处理规则,不再需要修改代码设备联动- 可视化配置多设备之间告警执行动作数据转发- 可配置数据和告警转发到各种消息队列HTTP接口定时执行- 可视化配置设备自动执行各种指令动态开关。
数据存储- 支持mysql/postgresql两种数据库无需改一行代码随意切换。
实时告警系统在离线告警- 多种设备在离线判断方式可配置断开连接/网关管理/心跳机制都可触发告警。
阈值告警- 可配置的数据阈值监控规则引擎- 灵活的告警规则定义设备联动- 灵活的设备联动配置如A设备触发告警、执行B设备指令多通道通知(开发中)- 邮件、短信、Webhook等多种通知方式告警分级- 多级别告警管理
视频中心(目前仅支持海康平台、其他平台和GB28181还在开发中)海康平台- 可配置多个海康平台地址一键同步所有监控设备。
远程功能下发指令管理- 统一的指令下发接口自动下发- 触发告警后自动下发相应指令历史记录- 手动\告警触发指令执行记录
协议开发协议包在协议包代码地址按照以下方法写完解析代码之后打包成jar包上传到平台开发协议只需要实现对应网络协议的decode和encode方法即可演示地址代码地址https://gitee.com/chinachentao/thinglinks-community演示使用请不要暴力测试和修改密码谢谢。
http://
47.
109.
1
72:28082/账号:admin 密码:admin123测试方式MQTT方式
线上已经开启一个端口连接即可
发送以下消息到任意topic{“humidity”:
4
7,“inTemperature”:
2
5,“outTemperature”: 31,“voice”:
6
2,“windSpeed”:
1
8,“deviceSn”:“mqtt_001”}
查看对应SN设备数据,消息已经上来Websocket方式也是如此
线上已经开启一个ws连接地址 ws://
47.
109.
1
72:10883/test
发送消息{“humidity”:
4
7,“inTemperature”:
2
5,“outTemperature”: 31,“voice”:
6
2,“windSpeed”:
1
8,“deviceSn”:“WS_DEVICE_001”}
查看WS_DEVICE_001设备数据
在历史数据按钮里面能够看到上下线和上报的历史数据其他网络组件也是如此由于线上环境这两种协议比较方便测试只添加了这两种数据。
开发协议只需要实现对应网络协议的decode和encode方法即可decode对应设备上行消息协议encode对应设备指令下发解析以mqtt-client为例
实现MqttClientProtocol的decode方法并把解析后的消息组装到DecodeMessage类并返回。
实现MqttClientProtocol的encode方法并把解析后的消息组装到EncodeMessage类并返回。
打包成jar包上传到平台并选择对应的协议分类即可。
注意更新或者新增协议无需重启项目上传即生效平台启动之后后续任何操作都无需再重启平台。
下面是协议中重要的类截图MqttClientProtocol接口MqttClientDeal实现类DecodeMessage解析后的消息实体EncodeMessage解析后的指令下发实体️ 系统架构️ 快速开始