物联网云平台远程控制源码,响应式布局,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(Message Queuing Telemetry Transport,消息队列遥测传输)是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。例如:\x0d\①网络代价昂贵,带宽低、不可靠。\x0d\②在嵌入设备中运行,处理器和内存资源有限。\x0d\该协议的特点有:\x0d\①使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。\x0d\②对负载内容屏蔽的消息传输。\x0d\③使用 TCP/IP 提供网络连接。\x0d\④有三种消息发布服务质量:\x0d\⑤"至多一次",消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。\x0d\⑥"至少一次",确保消息到达,但消息重复可能会发生。\x0d\⑦"只有一次",确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。\x0d\⑧小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。\x0d\⑨使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。\x0d\WebSocket则提供使用一个TCP连接进行双向通讯的机制,包括网络协议和API,以取代网页和服务器采用>

MQTT (Message Queuing Telemetry Transport,消息队列遥测传输) 是一种基于 TCP/IP 协议族的应用层协议。MQTT 协议是专门针对硬件性能低下 & 网络状况不稳定的场景设计的,这使得 MQTT 在物联网和移动应用等受限场景得到广泛应用。

目前,MQTT 主要分为两个大版本:

物联网和移动应用场景的特点是硬件性能低下和网络状况不稳定,而 MQTT 协议就是专门针对这种环境设计的,主要在四个方面有优势:

结论:这三种协议并没有绝对的优胜者,最好的协议取决于具体的需求和限制条件。但如果只从带宽、电池、功能多样性这些基本条件看,MQTT 在其中是更占优的选择。

MQTT 协议的设计特性中包含了一项 “高可靠性交付”,它需要一个保证可靠的底层传输层协议,因此 TCP 协议、TLS 协议、WebSocket 协议都可以作为 MQTT 的底层协议。而无连接的 UDP 协议会丢失或重排数据,不能满足 MQTT 协议的传输需要。

MQTT 是基于发布 - 订阅模型 (pub/sub) 的消息传递协议,与请求 - 响应模型不同,发布 - 订阅模型主要有三种角色: publisher & subscriber & subscriber

当 client 发布某个主题的消息时,broker 会将该消息分发给任何已订阅该主题的 client。通常来说,client 不会存储消息,一旦消息被发送到这些 client,消息就会从 broker 上删除。另外,保留消息、持久连接和服务质量 QoS 可能会导致消息临时存储在 broker 上。

发布 - 订阅模式使得 消息的发布者和订阅者解耦 ,主要体现为空间解耦和时间解耦:

引用自 >MQTT是用于物联网的标准消息传递协议,具有轻巧高效、双向通讯、安全、可靠传递等优点,常被设计为一种非常轻量级的发布,适用于较小的代码占用量和网络带宽连接远程设备。
随着物联网、大数据及人工智能的迅速发展,自动化厂商也在加速推进物联网战略,推出各自的IoT和数字化解决方案。作为主流物联网协议的MQTT协议迅速成为各自动化设备厂商关注的重点,各大自动化厂商为了加速实现互联互通的工业物联网,纷纷开始在 PLC 中集成 MQTT 协议,以方便 PLC 数据的采集,如西门子、倍福、菲尼克斯、矩形科技等等。
如果你是相关需求,且经费预算有限,可以选择国内品牌。如矩形科技,矩形科技旗下产品覆盖军工、楼宇、能源管理、自动化装备等多个领域,大部分均支持MQTT协议。 百度也有很多相关信息。

JMeter 内置 >

简单回答一下,MQTT(MQTelemetryTransport)是针对物联网而设计的,如手机对家里的智能开关,而WebSocket是针对浏览器与服务器之间而设计的两者基本上是两个世界的东西

MQTT只是一个接口,让两个"物件"能够透过TCP协议通讯,但并没有规定(在应用层面上)通讯中要怎样"对答",如pop3邮件伺服器会有:

S:220我是xxx服务器

C:HELOmyServer

S:250Nicetomeetyou

C:authlogin

这些是没有硬性被定义的,两个"物件"之间要怎_"聊天",由你自己来定

WebSocket则是一个>

以上,只是很概念的说法,便於你理解,详细你得自己翻下文献了


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存