欢迎来到天天文库
浏览记录
ID:31217269
大小:81.32 KB
页数:11页
时间:2019-01-07
《基于zigbee与mqtt的物联网网关通信框架的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于ZigBee与MQTT的物联网网关通信框架的设计与实现随着匍慧地球感知屮国”等一系列有关物联网相关的口号的提出,物联网的在各行各业应用方案也在不断地被提出并实施,这也使人们的生活变得更加便利和智能化[1]。此外,因为无线传感器结构简单、成本低廉的特点,使得其在物联网中成为一个部分,但因为其使用的乙gBee协议与现有的互联网的TCP/IP协议是属于两种不同的异构网络的协议[2],两者之间如有实时、可靠的传输数据,也成了无线传感网,乃至物联网能否快速发展的…个重要因素。本文将MQTT协议融合到物联网网关协议转换的设计中,通过ZigBee协议与MQTT协议的对接,解决物联网在不同网络结构、不同
2、通信方式以及不同协议环境下的对接问题。2相关研究背景(Relatedresearchbackground)物联网网关技术是物联网的关键技术之一,近年来国内外的研究也较多,在感知层的ZigBee协议与上层协议的对接转换上提出了很多网关的实现技术和方案,如将ZigBee与Wi-Fi进行对接來实现智能家居网关的设计[3];将ZigBee与TCP协议之间进行有效转换来实现网关软硬件设计[4];也有文献提出一种基于ZigBee技术和GPRS技术的网关设计方案,实现监控中心对现地水位的实时监控[5]。以上的这类文献主要研究的是针对某种具体物联网的应用场合下对物联网网关的设计,在一定程度上也提高了物联网网
3、关的效率,但对于异构网络的不同上层协议与底层ZigBee协议的对接的研究还比较少。本文将主要研究物联网网关设计中乙gBee与MQTT协议的对接,从而实现物联网感知层与不同应用层协议之间的通信。3物联网网关相关协议分析(Analysisofinternetofthingsgatewayprotocol)ZigBee是物联网感知层的协议之一,它具有近距离、低功耗、低复杂度、低数据传输率以及自组织等特点,其低功耗的特点可以使其在有限能源供应的场合下能够存活更长的时间;自组织的特点在物联网感知节点的部署中可以通过多跳的方式来进行数据传输,而不需要专门部署固定的基础设施。相比于其他物联网感知层的短距离
4、无线通信协议,如Wi・Fi、蓝牙等,虽然Wi・Fi组网方便,但传输快、流量大的特点会导致其具有太大的功耗与成本开销。对于物联网感知层来说,对传输的速度与流量并没有很大要求,反而更需要低流量的缓解流量开销的问题;蓝牙协议虽然也是可以做到比较低的功耗,但其组网上要比乙gBee复杂麻烦得多,不适合物联网下大量节点的组网与数据传输。MQTT(MessageQueueingTelemetryTransportprotocol,消息队列遥测传输协议),它是IBM公司所推出的一种基于轻量级代理的发布/订阅模式的消息传输协议,运行在TCP协议栈之上,能够提供有序、可靠、双向连接的网络连接保证[6]。它具有开
5、放、简单和易于实现等特点,因此更适合于嵌入式系统以及网络带宽低等资源受限的环境中应用,此外,它也被广泛用于遥感勘测、智能家居、能源监测和医疗应用程序等各个领域,对于M2M或物联网网关通信来说却是一个不错的选择。4基于乙gBee与MQTT协议的物联网网关总体设计(DesignofinternetofthingsgatewaybasedonZigBeeandMQTTprotocol)4.1网关系统总体结构设计如图1所示,基于ZigBee/MQTT物联网网关位于网络传输层,其嵌入式网关/PC网关应用程序将串口传来的传感器数据转换为符合JSON消息格式的数拯,通过MQTT的发布者角色发布到MQTT代
6、理服务器。MQTT代理服务器一方面对数据进行持久化操作,将数据以文档形式存入MongoDB数据库。另一方面则将网关应用程序发布的数据消息推送到已经订阅的PC或移动端的客户端。而应用层则是PC或移动端的客户端接收服务器推送的下位机发布的传感器数据或发送控制传感器的命令给代理服务器。MTZigBee/MQTT物联网网关$用启1",峡入式/片初关斗用18序zicaaasb»・□设物理烂zvsa图1基于ZigBee/MQTT物联网网关总体结扌Fig.1ThemainarchitectureofIOTgatewayonZigBee/MQTT4.2ZIGBEE与MQTT协议之间的通信框架设计(1)定义传
7、感器设备类对于不同消息的格式,需要设计一个标准的格式,使得无论程序接收的是哪种消息格式,都可以统一转换成这个标准的格式,从而实现不同消息格式的统一化,方便消息格式的互相转换C经过对现有传感器产品特性的归纳、总结定义了如下数据类和传感器设备类,描述如下:/*定义数拥类,ts述弃存液传恳器设备状态值3个尹用publicclassStateValue{9个引用publicstringDescribe{set:get
此文档下载收益归作者所有