物联网云平台远程控制源码,响应式布局,MQTT协议 Spring Boot

物联网云平台远程控制源码,响应式布局,MQTT协议 Spring Boot,第1张

使用Java语言;数据库:Mysql;经典技术组合(MQTT、Spring Boot、Shiro、MyBatis、Druid、Ehcache、Thymeleaf、Bootstrap、Swagger)开发,支持多数据源,支持代码一键生成。


功能模块:

设备管理、开关管理、计划管理、传感器管理、传感器数据展示、报警规则管理、设备日志、用户管理、角色管理、部门管理、岗位管理、菜单管理、字典管理、参数管理、通知公告、 *** 作日志、登录日志、在线用户、定时任务、代码生成、系统接口、服务监控、缓存监控、在线构建器、连接池监视等。

功能特点:

1、硬件使用 ESP8266,基于MQTT协议,自建物联网云平台。

2、支持云固件升级、设备远程重启。

3、支持音频播放、开关、普通灯、调色灯等各种用电设备控制。

4、单个模块可控制8路用电设备开关,可对模块信息、开关信息、计划任务、报警规则等维护管理。

5、云平台可对各类传感器管理,对传感器数据有多种展示方式。可设置阈值报警规则,符合报警规则的可执行自定义的动作。

6、模块具有一键配网功能,变更网络时无需重新烧写程序,方便快捷。

7、控制端可使用任意网络(2G/3G/4G/5G/WiFi/等)控制灯、热水器、电视、电机、窗帘、监控等各种用电设备,不受任何地区限制。

8、可云端存储模块各路开关状态,模块断电或重启后可自动同步云端模块各路开关状态,具有开关状态记录功能。

9、可记录设备所有 *** 作记录,模块、用户上下线记录等,并具有多种类型的数据统计展示。

10、控制设备命令下达后有状态反馈,可确保设备控制命令执行成功,且延时低。

11、具有心跳检测功能,模块掉线或模块重启后模块可自动重连MQTT服务,具有模块上下线提醒功能(平台消息提醒、邮件提醒)。

12、具有定时功能,可指定某一时刻执行、周期执行、延时执行、自定义Cron表达式执行等 *** 作。

13、可多模块接入云平台,可统一管理、控制模块各路设备开关。

14、云平台可对所有用户管理,每个用户可配置不同角色、不同权限,具有权限分配功能。

15、前端采用完全响应式布局,支持电脑、平板、手机等所有主流设备。

17、具有代码一键生成功能(包括控制器、模型、视图、菜单等),方便快速开发。

18、支持多数据源,简单配置即可实现切换。

19、支持菜单、按钮及数据权限分配,亦可自定义数据权限。

20、具有完善的XSS防范及脚本过滤,彻底杜绝XSS攻击。

21、Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。

22、支持服务监控、数据监控、缓存监控等功能。

MQTT 是一种基于发布订阅模型的即时通讯协议,主要应用于物联网设备中

MQTT主要需要MQ服务器地址、用户名、密码、发布主题和响应主题,以及客户端唯一标识

使用方法:

为了防止内存泄漏,我们使用Application的Context

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议。它是一种发布/订阅,极其简单和轻量级的消息传递协议,专为受限设备和低带宽,高延迟或不可靠的网络而设计。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境。相对于XMPP,MQTT更加轻量级,并且占用的宽带低。

MQTT协议有以下特点:

那么问题来了?重连连接成功后重复接收到最后一条消息
MQTT推送消息订阅端重复接收问题。
(背景)订阅端断开的时候,发布端多次推送消息。
(现象)订阅端启动时,接收到最后一条推送消息有两次;即使Qos设置为2;依然是两次。
经排查是因为
MqttMessage的Retained设置为了true;
该值很多文章上只说了是 消息保留机制,若设置为true,mqtt服务器会保留每次发布的消息;较少提到 若订阅某主题的客户端重启,则会把此主题之前发布的消息重新推送到客户端。该值默认为false;去掉修改该值即可
那么问题来了?重连连接后手动那么多遗漏的消息,怎么选择只接收最新的一条消息呢?
MQTT推送消息订阅端重复接收问题。
(背景)订阅端断开的时候,发布端多次推送消息。
(现象)订阅端启动时,接收到msg1,msg2,msg3 (这三个消息都是同一个类型消息,只需要处理最新的msg3就好,不然界面会刷新三次)这个谁有什么好办法没呢?

GitHub地址: >MQTT服务器。物联网指的是将无处不在的末端设备和设施,物联网的前端核心设备是MQTT服务器,使用MQTT协议进行数据通讯可以免去常规CS架构中服务器搭建较为复杂的问题。物联网是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/12931046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存