如何应用MQTT协议到物联网中

如何应用MQTT协议到物联网中,第1张

以原生支持“MQTT协议”切入物联网战场
原生支持MQTT协议成为百度开放云推出的物联网服务一大特点。首先需要解读的是,为什么百度开放云会选择“MQTT协议”?
百度开放云支持的MQTT(Message Queuing Telemetry Transport)是国际物联网标准协议,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务,可以适应各种物联网应用场景。
相对于其它标准协议,MQTT属于轻量级双向消息传输协议,主要优势是开源、可靠、轻巧、简单。MQTT的传输格式非常精小,最小的数据包只有2个比特,且无应用消息头。MQTT可以保证消息的可靠性,它包括三种不同的服务质量(最多只传一次、最少被传一次、一次且只传一次),如果客户端意外掉线,可以使用“遗愿”发布一条消息,同时支持持久订阅。
MQTT在物联网应用中的主要优势有:一,可靠传输。MQTT可以保证消息可靠安全的传输,并可以与企业应用简易集成;二,消息推送。支持消息实时通知、丰富的推送内容、灵活的Pub-Sub以及消息存储和过滤。三,低带宽、低耗能、低成本。占用移动应用程序带宽小,并且带宽利用率高,耗电量较少。
MQTT的优势还表现在安全性。安全设计对于物联网项目而言,是需要非常重视的问题,但是却常常容易被工程师所轻视。今年央视315晚会,揭秘了无人机、智能摄像头、智能POS机、智能汽车、洗衣机、电烤箱、智能插座等智能家居存在的三大安全隐患——泄露隐私、财产损失、甚至危及生命安全。而MQTT协议则可以提供多层次的安全特性,在传输层上可以使用TLS加密;在应用层提供了客户标识(Client Identifier)以及用户名密码,不但传输的内容是二进制字节,而且还受惠于传输层的TLS加密。
MQTT开放协议已有17年历史,先期在2014年被国际标准化组织定义为物联网的推荐协议。在应用层传输协议这个领域,它已经走在了其它协议的前面。正因为MQTT的综合优势非常突显,业界不少专家认为,MQTT非常适合各种物联网场景,有望是未来最主流的物联网标准协议。
原生支持“MQTT协议”背后旨在推动物联网标准化
接下来的问题是,那么为什么百度开放云要在国内率先成为原生支持MQTT协议的公有云服务商?
在笔者看来,首先,这和百度开放云在物联网行业的核心目标有着紧密的关系。在去年的“百度世界2015”开放云论坛上,百度开放云高层曾对物联网的发展战略做出阐述,指出:打破行业与行业之间的界限,以“连接人与服务”为核

物联网主要功能是将用户端的所有需要的信息互通互联,实现全方位的远程识别、读取和 *** 控、互动。
应用层位于物联网三层结构中的最顶层,其功能为“处理”,即通过云计算平台进行信息处理。应用层与最低端的感知层一起,是物联网的显著特征和核心所在,应用层可以对感知层采集数据进行计算、处理和知识挖掘,从而实现对物理世界的实时控制、精确管理和科学决策。
从结构上划分,物联网应用层包括以下三个部分:
1. 物联网中间件:物联网中间件是一种独立的系统软件或服务程序,中间件将各种可以公用的能力进行统一封装,提供给物联网应用使用。
2. 物联网应用:物联网应用就是用户直接使用的各种应用,如智能 *** 控、安防、电力抄表、远程医疗、智能农业等等。
3. 云计算:云计算可以助力物联网海量数据的存储和分析。依据云计算的服务类型可以将云分为:基础架构即服务(IaaS)、平台即服务(PaaS)、服务和软件即服务(SaaS)
从物联网三层结构的发展来看,网络层已经非常成熟,感知层的发展也非常迅速,而应用层不管是从受到的重视程度还是实现的技术成果上,以前都落后于其他两个层面。但因为应用层可以为用户提供具体服务,是与我们最紧密相关的,因此应用层的未来发展潜力很大。

使用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、支持服务监控、数据监控、缓存监控等功能。

在移动互联网中,最常用的应用层协议就是>

>

如果要实现这种消息推送,就需要借助WebSocket这种全双工的通信机制。不过对于很多计算和存储资源有限的物联网节点,不太适合使用>

除了>

相关信息:

DDS、MQTT、AMQP和JMS都是基于发布/订阅模式,发布/订阅框架具有服务自发现、动态扩展、事件过滤的特点,它解决了物联网系统在应用层的数据源快速获取、物的加入和退出、兴趣订阅、降低带宽流量等问题,实现物的联接在空间上松耦合(双方无需知道通信地址)、时间上松耦合和同步松耦合。

MQTT、DDS、AMQP、XMPP、JMS、REST、CoAP这几种协议都已被广泛应用,并且每种协议都有至少10种以上的代码实现,都宣称支持实时的发布/订阅的物联网协议,但是在具体物联网系统架构设计时,需考虑实际场景的通信需求,选择合适的协议。

物联网网关作为一个新名词,将在未来物联网时代发挥非常重要的作用。它将成为感知网络和传统通讯网络之间的纽带。物联网网关作为一种网关设备,能够完成感知网络与通讯网络以及不同类型感知网络之间的协议转化。

网关既能够完成广域互连,也能够完成局域网互连,具备设备办理功能。运营商能够办理底层传感节点,了解每个节点的相关信息,经过物联网网关设备完成长途 *** 控。

这一部分强调了一个要害点,即物联网网关完成感知网络与通讯网络的互联,但感知网络中有许多不同的协议,如LonWorks、ZigBee、6LoWPAN、rubee等来完成这种互联网,网关有必要具有协议转化才能。一起,网关有两个要害点,即完成广域互联。当广域网不行用时,网关往往能完成局域网互连,即近端之间的交互与协作。

lora网关

主要功能:

一广泛的访问才能

现在,短程通讯的技能规范许多,只有LonWorks、ZigBee、6LoWPAN、rubee等常用的无线传感器网络技能,各种技能主要是针对某一应用开发的,缺少兼容性和体系规划。现在,国内外现已开展了物联网网关的规范化作业,如3GPP、传感器作业组等,以完成各种通讯技能规范的互联互通。

二可办理性

强壮的办理才能关于任何大型网络都是必不行少的。首先,需要对网关进行办理,如注册办理、权限办理、国家监管等。网关完成了子网中节点的办理,例如获取节点的标识、状况、特点、能量等,以及因为子网的技能规范和协议复杂性的不同,唤醒、 *** 控、确诊、升级和保护等的长途完成,网关具有不同的办理功能。根据物联网的模块化网关来办理不同感知网络、不同应用,保证使用一致的办理接口技能来办理终端网络节点。

三协议转化才能

不同感知网络到接入网络的协议转化,低规范格局的数据一致封装,保证不同感知网络的协议能够成为一致的数据和信令;将上层宣布的数据包分析成可由感知层协议识别的信令和 *** 控指令。

总结这些基本网关才能没有问题,但关于物联网网关来说,要害点之一是网关本身是完成感知层和通讯层的仅有入口和出口通道。外部只需要处理网关,而网关用于调度和 *** 控下面访问和注册的各种类型的传感设备。

因而,网关具有相似于API网关的要害才能,即对传感层中各种传感设备供给的不同类型的协议进行接入和适配,一起在协议接入后能够转化为规范接口协议和通讯层交互。关于实时接口,它能够选用相似的>

一般来说,物联网网关在架构和实现进程中会提供硬件设备,实现协议转化、路由、转发、自动注册办理、南北一体化的接口才能。这个网关通常是布置在局域网端的设备。对于整个云架构,只有网关设备和云能够交互。

边缘计算的终究落地能够在物联网网关层实现,即进一步提高物联网网关的存储和核算才能。一方面,在网关层实现本地收集后的数据自动收集,二次处理后收集上传到云端。另一方面,将云的要害核算规矩和逻辑散布到网关层,支撑网关层的本地化核算。这也是网关层功用的一个要害扩展。

MQTT是非常流行的设备的接入协议,包括IBM、亚马逊、微软的IoT托管服务都有支持,而CoAP在这方面几乎没有露面的机会。感觉以下几点是MQTT优于CoAP的主要原因:
MQTT基于TCP,在做反控设备的时候比UDP更可靠,比如CoAP走3G、4G的时候甚至需要实现CoAP over TCP,否则反控很不稳定甚至无法联通。
MQTT异步Pub/Sub实现,好比发个微信,无需等待对方确认便可以继续,而不像CoAP那样必须等待对方应答才能返回的同步模式。
MQTT为物联网提供了许多体贴的设计,比如QoS,比如“遗言”的设计。
篇幅有限,无法完全枚举MQTT的优越性,建议参考以下文章:
MQTT入门篇
MQTT进阶篇
MQTT安全篇
MQTT实战篇
当然,CoAP在功耗方面有优势,不过随着物联网设备特别是网管的计算能力加强,这点应该不是主要矛盾。

假的,物联网的中间件是一种软件系统,而不是硬件设备。它是指处于物联网系统中,连接设备和应用程序之间的中间层,起着将信息转发、存储、处理和分析的重要作用。
物联网的中间件充当着物联网系统的枢纽,对于物联网数据采集、传输、存储、处理、分析等方面发挥着举足轻重的作用,能够使各设备感知和理解环境变化,进行决策和控制,并将数据流和控制信号从各个终端节点搜集,并通过互联网进行交互。
通常,物联网的中间件包括了诸如云计算、大数据分析、消息代理、协议转换、数据缓存、安全管理等多种功能,以便于实现设备、应用程序、网络和平台之间的互 *** 作性和信息交互,并为物联网系统提供支撑。
因此,物联网中间件并不是一种硬件设备,而是一种软件系统,扮演着连接其他物联网组件的重要角色。


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

原文地址: http://outofmemory.cn/dianzi/13054634.html

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

发表评论

登录后才能评论

评论列表(0条)