MQTT协议在创新实践教学中的应用

2020-07-23 16:23雷钢李国选
关键词:创新实践物联网

雷钢 李国选

摘 要:阐述了MQTT物联网协议在大学生创新实践教学中的应用,利用该协议具有成本低、安全性强、自由定制化、对网络依赖小、可以离线使用、部署方便、能在低可靠的网络环境下运行稳定等优点,搭建了MQTT物联网协议的智能家居系统,实现了传感器的数据传输、自动化处理和终端指令的执行的全过程。

关键词:MQTT;物联网;创新实践

0 引言

伴随着互联网和电子技术的发展,人们已经不能在满足传统的家居服务方式了,而家具也正向着智能化,网络化,人性化的方面发展。随着物联网的兴起,在智慧家庭,智能家具方面各类产品层出不穷。在物联网方面,主要有五大协议MQTT、CoAP 、HTTP、XMPP、SoAP。其中各有个的优点,但是对于智能家具来说,大多是一些传感数据的采集,动作的执行,还有一些自动化执行的判断。在这其中既要满足低功耗的判断,又要满足工作的可靠性,采用了MQTT协议。

本系统采用arduino mini做处理平台,有煤气传感器、火焰传感器、电磁阀、继电器和wifi转串口等模块组成。其中arduino做信号处理和指令执行,各类传感器完成环境检测部分,电磁阀做动作执行部分。系统采用模块化设计,由基于wifi传输的MQTT协议做各部分的通信支撑。

1 系统组成及硬件设计

在环境感知部分,我们以天然气传感器和火焰传感器为数据采集传感器,以arduino做数据处理平台。Arduino在采集完数据后通过wifi转串口模块,以MQTT协议形式在代理服务器上发布数据,在低功耗的场景下做到每秒采集并上传一次。在动作执行部分,有电磁阀控制模块,继电器控制模块,均以arduino做处理平台。Arduino通过wifi转串口连接到服务器,订阅天然气和煤气传感器数据,订阅命令主题,同时发布目前控制模块状态。当处理器感知到传感器数据有异常时,在MQTT代理服务器中发布警告信息,请求终端处理,当等待终端处理超时后自动执行防护命令,关掉电磁阀,关掉继电器,并等待终端的检修重启命令,更进一步处理。在通信部分,我们采用的MQTT协议(Message Queuing Telemetry Transport)是一个基于TCP的發布订阅协议,设计的初始目的是为了极有限的内存设备和网络带宽很低的网络不可靠的通信,非常适合物联网通信。MQTT通信主要由三部分构成,发布客户端,代理服务器,订阅客户端。订阅客户端通过告知服务器订阅自己感兴趣的主题,在发布客户端发布相关主题消息后将消息转发到订阅客户端,以此完成通信。在低功耗和低可靠性的网络环境下仍然能够很好的工作。整套系统可以自动化处理,也可人为干预。让使用者可以随时了解家庭中的状态,并远程操控。系统组成框图如图1所示。其硬件设计如下:

(1)环境感知部分设计;本套系统是检测家庭煤气泄露和是否产生火灾的示例系统,所需要检测的环境变量主要是天然气的浓度和是否发生火焰。主要用到的是天然气传感器,和火焰传感器。天然气传感器采用的是MQ-4天然气传感器。MQ-4传感器的特点主要有对甲烷和天然气有很高的灵敏度、对乙醇烟雾的灵敏度很低、快速响应恢复特性、长期使用寿命和可靠的稳定性、简单的驱动电路。主要应用于家庭、工业,甲烷和天然气的探测装置。火焰传感器利用光敏半导体检测物质燃烧后产生的红外线辐射波长在1-2um近红外波长的信号强度输出对应的模拟值,从而完成对火焰的探测。Wifi转串口模块用的是esp8266模块,这是物联网领域比较廉价的一款联网模块,模块稳定性高,连接方便,功耗较低,在物联网领域有着重要的应用。主控单片机arduino原理图如图2所示,它具有平台化、统一化、有标准的工业设计,方便集成,可替换性高,并有丰富的各类传感器库和丰富的片上外设资源,开发周期短,开发效率高。

(2)动作执行部分设计;动作部分的设计主要是进行自动化判断和相关命令的执行,程序实现方式也比较简单。动作部分主要有两个动作,一个是继电器的开启和关闭,另一个是电磁阀的开启和关闭。Arduino单片机通过ESP8266通过wifi连接到MQTT代理服务器上面,订阅继电器和电磁阀命令主题,同时发布状态主题。

(3)数据传输;Esp8266模块集成了透传功能,支持微信Airkiss 2.0协议、标准的 IEEE802.11 b/g/n 协议、完整的 TCP/IP 协议栈、STA/AP/STA+AP 工作模式、SmartConfig、串口透传、支持串口AT 指令集、服务器 AT 指令集、IO 口控制等功能即拿即用,简单配置后便可以非常便利的实现网络访问功能,最大限度减少开发者的工作和项目开发时间。MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。它有一个固定报头(所有报文都有)和一个可变报头(部分报文可有)。协议报头采用数字代号和位控制,这种方法可以有效的减少数据包体积,能保证通信的快捷性。协议采用UTF-8的编码方式,兼容大多数语言。同时有严格的主题数据格式,既保证数据传输的承载能力,又能保证数据的主题隔离,减少不同数据间的识别干扰问题。服务器的登陆验证过程保证了数据信息在发布到代理服务后不被窃取,从而在一定程度上保证了安全。在信息的质量上有三种不同的通信质量。不同质量的信息保证了不同信息的传输要求。

(4)MQTT代理服务器设置;采用低功耗家庭小型MQTT服务器。由于MQTT协议的简洁高效性,还有家庭传感器数量较少,利用低功耗设备建立一个MQTT服务器网关使用,理论上完全可以满足家庭的需要。优点是:成本低、安全性强、自由定制化、使用内网、对网络依赖小、可以离线使用、部署方便。在本次系统中采用的是第二种方式,自己搭建的MQTT代理服务器。主要原因是在服务器上搭建的有家庭管理平台,能够智能化处理家庭传感器数据,给用户提供一个较好的家庭环境。

2 系统评测结果

(1)传感器测试;完成系统部署后在正常情况下进行过7*24小时的运行评测,期间服务器运行正常,传感器数据正常,执行部件状态正常,并无出现异常情况。在调试状态下进行评测。将传感器放入人工制造的环境中,传感器数值有上升趋势。传感器主题数据传送正常,传感器主题订阅数据传送正常。

(2)执行部分测试;运行期间状态主题正常,命令调试执行正常。在传感器数据超出正常值后正常发送出警告信息,设备重置通过,不重置自动化执行正常,状态反馈正常。

通过评测,MQTT协议的通信任务圆满完成,系统设计完全符合预期。如系统稳定运行一周数据图3所示,从图中可以看出在运行期间各项数值处于稳定状态,在误差范围内完全可以满足要求。表明了此协议在物联网传感系统中能很好的保障数据的传输,保障系统的稳定运行。

3 结语

本设计提供了一种基于MQTT物联网协议的通信系统设计,用MQTT协议担任传感器数据到平台再到执行端的一个沟通角色。MQTT协议的优点是对资源占用小,通信可靠性高,能够满足各种类型的消息传递,同时消息的主题特性也能使得它能够很好的隔离相关信息,提高消息的抗干扰性。已经智能家居系统上得到了验证。通过本次创新实践活动,把涉电专业的大学生对编程语言、软件、硬件、应用平台搭建的全过程都有一个完整的了解和实践,对MQTT协议有了更深刻的理解,提高了学生综合创新能力。

参考文献:

[1]袁志强.基于单片机智能家居设计[J].创新设计,2019年第9期.

[2]孙雪,崔晓梅,马雪滢,董玉华.智能家居灯光控制系统设计[J].智能计算机与应用,第九卷第二期.

[3]陈铭乾.基于人工智能的物联网平台搭建[J].信息科学探索,1674-6708(2019)229-0116-03.

(项目来源:郑州工程技术学院 2018 年大学生创新创业训练计划 项目编号:201811068025,项目名称:非智能家居的智能化)

作者简介:雷钢(1979-),男,河南郑州人,硕士,副教授,主要研究方向:电子与通信工程。

猜你喜欢
创新实践物联网
基于知识经济下的企业经济管理创新与实践
浅谈基于计算机竞赛模式下的计算机基础教学建设与应用型人才培养
浅析班组文化建设与创新实践
民办高校应用型人才培养模式探析
新时期医学生创新实践能力培养的意义
基于高职院校物联网技术应用人才培养的思考分析
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者