JAVA开源物联网平台

物联网平台 - Thinglinks-iot

## 🌟 项目简介

一个功能完备、高可扩展的物联网平台,提供完整的设备接入、管理和数据处理解决方案。支持多种网络协议,具备强大的消息解析和实时告警能力,帮助企业快速构建物联网应用。

该项目现已纳入若依项目拓展中
在这里插入图片描述

演示地址

代码地址:https://gitee.com/chinachentao/thinglinks-community
演示使用,请不要暴力测试和修改密码,谢谢。
http://47.109.145.72:28082/
账号:admin 密码:admin123

测试方式

MQTT方式:

1、线上已经开启一个端口,连接即可

2、发送以下消息到任意topic

{
“humidity”: 45.7,
“inTemperature”: 22.5,
“outTemperature”: 31,
“voice”: 65.2,
“windSpeed”: 13.8,
“deviceSn”:“mqtt_001”
}
在这里插入图片描述

3、查看对应SN设备数据,消息已经上来

在这里插入图片描述

Websocket方式也是如此:

1、线上已经开启一个ws连接地址: ws://47.109.145.72:10883/test1
2、发送消息

{
“humidity”: 45.7,
“inTemperature”: 22.5,
“outTemperature”: 31,
“voice”: 65.2,
“windSpeed”: 12.8,
“deviceSn”:“WS_DEVICE_001”
}

3、查看WS_DEVICE_001设备数据

在这里插入图片描述

4、在历史数据按钮里面能够看到上下线和上报的历史数据

在这里插入图片描述

其他网络组件也是如此,由于线上环境这两种协议比较方便测试,只添加了这两种数据。

🚀 核心特性

1. 设备全生命周期管理

  • 状态监控 - 实时设备在线状态跟踪,多种在离线模式
  • 数据清理 - 设备可单独配置消息保存时间,到期自动删除

2. 多协议接入支持

  • TCP - 稳定可靠的长连接通信
  • MQTT - 轻量级的发布订阅模式
  • UDP - 高效的低延迟数据传输
  • CoAP - 专为受限设备设计的协议
  • HTTP - 标准的RESTful接口
  • WebSocket - 实时双向通信
  • MODBUS(开发中) - 工业物联网设备协议

3. 智能消息解析

  • 协议适配 - 多种数据格式解析(JSON、二进制、自定义)
  • 数据转换 - 灵活的数据格式转换和归一化
  • 规则引擎 - 可配置的数据处理规则
  • 数据转发 - 可配置数据转发到各种消息队列,HTTP接口
  • 设备联动 - 多设备联合条件触发,多设备执行指令

4. 实时告警系统

  • 阈值告警 - 可配置的数据阈值监控
  • 规则引擎 - 灵活的告警规则定义
  • 设备联动 - 灵活的设备联动配置,如A设备触发告警、执行B设备指令
  • 多通道通知(开发中) - 邮件、短信、Webhook等多种通知方式
  • 告警分级 - 多级别告警管理

5. 远程功能下发

  • 指令管理 - 统一的指令下发接口
  • 自动下发 - 触发告警后自动下发相应指令
  • 历史记录 - 手动\告警触发指令执行记录

6、协议开发

协议包在代码同级目录 protocol.zip
开发协议只需要实现对应网络协议的decode和encode方法即可

decode对应设备上行消息协议

encode对应设备指令下发解析

以mqtt-client为例

1、实现MqttClientProtocol的decode方法,并把解析后的消息组装到DecodeMessage类并返回。

2、实现MqttClientProtocol的encode方法,并把解析后的消息组装到EncodeMessage类并返回。

3、打包成jar包上传到平台,并选择对应的协议分类即可。

注意:更新或者新增协议无需重启项目,上传即生效,平台启动之后,后续任何操作都无需再重启平台。

下面是协议中重要的类截图

MqttClientProtocol接口:
在这里插入图片描述

MqttClientDeal实现类:
在这里插入图片描述

DecodeMessage解析后的消息实体:
在这里插入图片描述

EncodeMessage解析后的指令下发实体:
在这里插入图片描述

🏗️ 系统架构

在这里插入图片描述

🛠️ 快速开始

1、首页

在这里插入图片描述

2、产品管理

在这里插入图片描述

3、告警配置

在这里插入图片描述

4、实时数据

在这里插入图片描述

5、指令下发

在这里插入图片描述

6、物模型

在这里插入图片描述

7、告警记录

在这里插入图片描述

8、其他配置

在这里插入图片描述

9、网络组件

在这里插入图片描述

10、组件调试

在这里插入图片描述

11、协议管理

在这里插入图片描述

12、规则引擎-数据转发

在这里插入图片描述

13、规则引擎-设备联动

在这里插入图片描述

14、规则引擎-定时任务

在这里插入图片描述

15、设备管理-地图服务

!在这里插入图片描述

环境要求

JDK >= 1.8
MySQL >= 5.7
Maven >= 3.0
Node >= 12
Redis >= 3

项目地址:https://gitee.com/chinachentao/thinglinks-community

⭐ 支持项目

如果这个项目对您有帮助,请给我们一个 Star!您的支持是我们持续更新的动力。

### 回答1: 基于Java开源物联网组态,可以实现一个可靠、高效的物联网系统。首先,使用Java开发物联网组态可以充分利用Java语言的优势,它是一种高性能、面向对象的编程语言,具有可移植性强、跨平台、易学易用等特点。 在物联网组态的开发中,我们可以使用Java开源框架如Spring Boot、Spring MVC等来进行应用的快速搭建和开发,实现物联网设备的接入、数据采集和存储、数据的可视化展示等功能。同时,Java提供了丰富的API和库,如JavaFX图形库可以实现可视化界面的设计和开发,Apache Kafka可以实现物联网数据流的高效处理和传输,MySQL、MongoDB等数据库可以用来存储和管理物联网设备产生的数据。 此外,Java还提供了大量的开源物联网平台,如Eclipse IoT、ThingsBoard等,这些平台基于Java开发,提供了一整套的物联网解决方案和工具链,可以帮助开发者快速部署和管理物联网应用。 总之,基于Java开源物联网组态,可以快速、高效地开发出功能强大的物联网系统。无论是从物联网设备的接入到数据的处理和展示,还是从物联网平台的部署和管理,Java都提供了丰富的工具和技术来支持。使用Java开发物联网组态,可以满足不同应用场景的需求,实现物联网的智能化、自动化和可视化,助力推动物联网技术的发展和应用。 ### 回答2: 基于Java开源物联网组态是一种用于构建物联网系统的开源工具。它提供了一套丰富的功能和工具,帮助开发人员快速构建和管理物联网设备和应用程序。 首先,基于Java开源物联网组态提供了一套强大的设备管理功能。它可以自动发现和注册物联网设备,监控设备的状态和性能,并提供设备管理接口,使开发人员可以方便地管理设备的配置和属性。 其次,该开源工具提供了丰富的数据收集和处理功能。它可以采集来自不同设备的数据,支持各种传输协议,并提供数据存储和处理的功能。开发人员可以使用该工具来存储、查询和分析物联网设备生成的数据,从而实现更高级的数据分析和应用。 此外,基于Java开源物联网组态还提供了一套易用的应用程序开发框架。开发人员可以使用该框架构建各种类型的物联网应用程序,如远程监控、智能家居等。该框架提供了丰富的API和工具,使开发人员可以方便地开发和部署应用程序,并提供了完善的安全机制,保护物联网系统的安全性。 总之,基于Java开源物联网组态是一种功能强大的开源工具,它提供了丰富的设备管理、数据收集和处理以及应用程序开发功能。它可以帮助开发人员快速构建和管理物联网系统,并实现更高级的物联网应用。同时,它的开源特性使得开发人员可以根据自己的需求进行定制和扩展,实现更多的功能和应用场景。 ### 回答3: 基于Java开源物联网组态平台是一种使用Java作为主要开发语言并且以开源形式提供的物联网设备管理和控制平台。这种平台提供了一系列功能强大的工具和框架,用于连接和管理各种物联网设备,实现数据采集、监控和控制等功能。 使用基于Java开源物联网组态平台,用户可以方便地搭建一个物联网系统。首先,该平台提供了各种支持多种物联网通信协议的接口和驱动程序,例如MQTT、CoAP、Modbus等,可以直接与各种物联网设备进行通信。其次,该平台具备数据采集和存储功能,可以实时地从设备中采集数据,并将数据存储到数据库中。用户可以通过图形化界面来配置数据采集参数,方便地进行数据监控和分析。 除了数据采集功能,该平台还提供了设备管理和控制的功能。用户可以通过平台对设备进行远程管理,包括设备的注册、绑定、配置等操作。同时,用户也可以通过平台对设备进行控制,例如发送命令、设置参数等。该平台还支持多用户和权限管理,可以根据用户的角色和权限对设备和数据进行访问控制。 基于Java开源物联网组态平台还具备良好的可扩展性和定制性。用户可以根据自己的需求,对平台进行二次开发和定制,以适应特定的物联网应用场景。此外,该平台还提供了丰富的开发文档和社区支持,用户可以在开发过程中获取帮助和交流经验。 总而言之,基于Java开源物联网组态平台是一种功能强大、灵活可定制的物联网设备管理和控制平台。它通过提供丰富的工具和框架,帮助用户快速搭建和管理物联网系统,实现数据采集、监控和控制等功能。同时,该平台还具备良好的可扩展性和定制性,用户可以根据需要进行二次开发和定制。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tao____

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值