




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于ESP8266WiFi模块和MQTT协议的物联网传感节点设计 丘源 经本钦 李精华? 摘 要:设计了一种基于ESP8266 WiFi模块和MQTT协议的物联网传感节点,该节点具有数据采集、数据上报和远程控制功能。传感节点通过轻量级物联网MQTT协议与数据采集中心通信,数据采集中心能够自动识别和实时显示传感节点的采集数据。实验证明,所设计的传感器节点可靠、扩展性强、通用性好。Key:ESP8266;MQTT协议;物联网;传感器节点;远程控制;实时显示:TP393 :A :2095-1302(2019)06-00-030 引 言随着物联网技术日趋成熟,物联网已被广泛应用在医疗、交通与物流、能
2、源与公用事业、零售业等领域1。据思科公司(Cisco)思科视觉化网络指数显示,到2022年全球有超过半数设备和连接将会是机器对机器(M2M)的互联,比2017年增加34%。智能音箱、固定设备、移动设备及其他物件的连接数将从2017年的61亿增至2022年的146亿2。互联设备的数量和类型越来越多,应用环境日趋复杂,实现资源有限或带宽有限环境下的传感器联网和保证传感数据的可靠传输成为物联网技术应用应重点考虑的问题之一。物联网传感节点作为物联网和物理世界交互的边界节点,负责信息的采集和简单处理,与将数据传输到应用层进行数据分析和处理3。传感器节点的通信方式主要分为近距离通信和远距离通信,传感器节点
3、之间一般采用短距离无线通信,如蓝牙,ZigBee,WiFi等;传感器与物联网云服务器或应用服务器采用远距离通信,如固网、移动网络(2G/3G/4G)、NB-IoT网络等。无线网络连接类型(WiFi、移动网络)是主流。现在越来越多的应用场合要求传感器节点自带接入网关,即支持物联网网络接入服务。由于传感器节点资源有限,受CPU处理能力、内存等限制,通常在LwIP协议栈上采用轻量级物联网传输协议。目前,应用最广泛的物联网标准传输协议包括MQTT、CoAP。MQTT是一种在TCP/IP协议上的基于订阅/发布模式的轻量级传输协议,适用于引入第三方云平台的物联网应用。CoAP即约束应用协议,类似HTTP,
4、是一种文档传输协议,也是一种基于请求/响应的客户端/服务器端轻量级UDP传输协议,适合将物联网应用嵌入到现有Web服务器中4。本文基于ESP8266 WiFi模块和MQTT协议设计了一种低成本物联网传感节点,以ESP8266嵌入式处理器为核心,采用AM2302传感器采集温湿度数据,进行简单处理后将传感数据通过MQTT协议发布到百度天工物联网云平台IoTHub。数据采集中心采用Visual C#实现,能自动识别传感节点和订购传感器的数据,可保存、处理和显示传感节点的温湿度数据。数据采集中心可通过云平台IoTHub下发命令,实现传感器节点参数配置并让传感节点执行指定操作(打开/关闭继电器)。传感器
5、节点性能可靠,扩展性强,通用性好。1 系统总体结构系统由传感节点、数据采集中心和百度天工物联网云平台组成,如图1所示。传器节点由ESP8266和AM2302构成,实现温湿度的采集和上报;数据采集中心基于Visual C#开发,实现传感数据的接收、存储、分析和显示;百度天工物联网云平台IoTHub作为MQTT消息代理,负责主题订阅管理、消息转发和缓冲,实现传感节点与数据采集中心的信息交互。传感节点与数据采集中心的交互数据类型为JSON格式。2 传感节点设计传感节点负责采集感知对象相关信息,并通过相应的通信模块将数据通过MQTT消息代理推送到远端数据采集中心。2.1 硬件设计传感节点以ESP826
6、6EX WiFi模块为核心,通过I/O外接传感器AM2302及其他设备。传感节点硬件框图如图2所示。2.2 软件设计传感节点软件基于NodeMCU固件开发。NodeMCU固件使用Lua脚本语言编程,在乐鑫ESP8266 Non-OS SDK上开发而来。NodeMCU固件封装了ESP8266硬件操作的应用编程接口函数API,同时还提供I2C,SPI,UART等外设总线驱动函数及OLED/TFT显示驱动、各种类型传感器驱动、网络协议库(TCP/UDP,HTTP,MQTT等),开发者无需了解底层硬件驱动即可快速开发应用。传感节点程序主要通过数据采集模块、MQTT客户端和网络连接模块实现。数据采集模块
7、负责定时读取温湿度数据;MQTT客户端负责维护与MQTT消息代理IoTHub的连接、发布传感数据、接收并响应数据采集中心的命令;网络连接模块负责WiFi连接。系统软件主流程如图3所示。2.2.1 数据采集模块数据采集模块创建了一个tmr定时器,周期调用dht库的read()函数读取温湿度数据,再使用string.format函数将温湿度数据转换为JSON格式。读取传感器数据代码:2.2.2 MQTT客户端传感节点和数据采集中心基于订购/发布机制的MQTT协议通信进行信息交互。传感节点和数据采集中心作为MQTT客户端,百度IoTHub云平台作为MQTT代理。消息的发布和订购基于主题(topic)
8、进行。MQTT代理负责管理订阅关系或缓存消息(保留标志为真的消息),将消息转发给已订阅主题的MQTT客户端。为了实现传感节点与数据采集中心的数据交互,兩者发布与订阅的主题见表1所列。msghandler为订购消息处理函数,用于解析和处理从数据采集中心收到的JSON格式数据。JSON数据采用键(key)值(value)对结构,key可用来表示消息类型,value为消息内容。JSON格式数据用sjson模块的decode()函数解析成table表格数据。传感节点调用publish函数向某个主题发布消息,语法:mqtt:publish(topic,payload,qos,retain,functio
9、n(client)。topic是发布的主题;payload为将发布的消息;qos为QoS服务质量;0表示只发送最多一次便可送达,1表示至少一次可送达,2表示一次便到达;Retain为保留标志,指示服务端是否需要存储当前消息;function(client)为消息发布成功回调函数,在收到代理发布确认PUBACK消息后执行函数。3 数据采集中心设计数据采集中心负责传感节点的管理及传感数据的显示,其中传感节点管理包括节点自动识别、节点主题订阅、节点控制等。数据采集中心与传感节点通过MQTT协议的订购/发布机制进行异步通信,两者不必知道对方的IP地址,所有消息均通过MQTT消息代理转发。数据采集中心识
10、别传感节点流程如图4所示。传感节点上线时向主题$baidu/iot/general/data/id/status发布保留标志为真的消息“online”,离线时通过最后遗嘱(Last Will)发布离线消息“offline”。数据采集中心连接到MQTT消息代理IoTHub,在订阅主题$baidu/iot/general/data/+/status后,会收到所有传感节点的状态消息,从消息主题解析出节点ID(+通配符所对应的字段),如果是新节点,则先添加节点再更新状态,否则直接更新节点状态。数据采集中心订购传感节点主题$baidu/iot/general/data/id/data后,当传感节点向此主
11、题发布消息时,消息代理IoTHub将会把消息转发给数据采集中心。数据采集中心收到传感节点数据后,解析JSON格式消息获得消息的数据类型。如果是传感数据,则存储后显示;如果是传感节点配置信息,则存储到节点信息。信息处理流程如图5所示。数据采集中心界面如图6所示。界面上部分显示节点列表及最新的节点传感数据,下部分显示节点数据曲线图。4 结 语本文设计了基于MQTT协议的物联网传感节点,采用ESP8266WiFi模块+传感器采集数据与NodeMCU物联网平台的MQTT模块实现传感节点与数据采集中心交互,数据采集中心采用Visual C# + MQTTnet库实现传感节点的自动识别与控制、传感节点数据
12、的存储与显示。系统运行稳定,扩展性强,搭配不同传感器就能实现特定的物联网传感节点。参 考 文 献1沃达丰.物联网市场晴雨表(2017版)R/OL.2017.2 Cisco. Cisco Visual Networking Index: Forecast and Trends,20172022R/OL.2018.3吴大鹏,舒毅,王汝言,等.物联网技术与应用M.北京:电子工业出版社,2012:63-64.4王劍秋,赵一.物联网传输协议MQTT与CoAP比较与应用J.计算机时代,2017(10):25-28.5乐鑫信息科技.ESP8266EX技术规格书Z.2018.6奥松电子.温湿度模块AM2302产品手册Z.2018.7王成,王跃.基于MQTT协议与Android技术的跨平台访客管理系统J.物联网技术,2017,7(3):50-52.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 潜水装备的水下作业安全意识培养与提升考核试卷
- 舞蹈教育在儿童成长中的作用考核试卷
- 窗帘面料的环保染整技术考核试卷
- 四川水利职业技术学院《临床检验仪器与技术》2023-2024学年第二学期期末试卷
- 山西省运城市万荣县2025年初三下学期第二次模拟考试化学试题文试卷含解析
- 山东省威海市文登区文登实验、三里河中学2025届中考化学试题模拟试卷(8)含解析
- 沈阳工业大学《现代地球物理学进展》2023-2024学年第二学期期末试卷
- 潍坊学院《大学写作实践课》2023-2024学年第二学期期末试卷
- 景德镇市重点中学2024-2025学年初三考前热身生物试题试卷含解析
- 天门职业学院《应用真菌学》2023-2024学年第二学期期末试卷
- 2025届福建省多地市联考高三下学期二模物理试题(原卷版+解析版)
- 2025年传染病护理
- 2025年上半年池州市园林局招考专业技术人员易考易错模拟试题(共500题)试卷后附参考答案
- 武汉市2025届高中毕业生四月调研考试 试卷与解析
- 2025北京各区高三一模数学分类汇编解析 答案
- 第18课《井冈翠竹》 课件
- 质量信誉考核自评报告3篇
- 胃肠炎护理教学查房
- 护士站管理制度
- 药物服用指导与患者教育试题及答案
- (四调)武汉市2025届高中毕业生四月调研考试 英语试卷
评论
0/150
提交评论