一个ESP 8266 WiFi模块和一个基于 MQTT 协议的网络传感器节点结构..

      最后更新:2021-11-14 17:55:35 手机定位技术交流文章

      0 引 言

      随着技术的成熟,该技术已广泛应用于卫生、运输和物流、能源和公用事业以及零售贸易等领域[1]。 根据思科可视化网络指数,到2022年,全世界一半以上的设备和连接将是机器对机器(M2M)的连接,比2017年增加34%。 智能声箱、固定装置、移动装置和其他物体之间的连接将从2017年的61亿增加到2022年的1,460亿[2]。 互联性增加和类型增加,应用环境日益复杂,传感器联网和可靠传输敏感数据的资源有限或带宽有限,这些都是在应用数据联网技术时应考虑的问题。

      材料联网传感器节点作为物体联网和有形世界互动以及信息收集和基本处理、数据分析和处理以及数据传输到应用层的边界节点[3],传感器节点主要通过近距离和长距离通信进行互动,短距离无线通信,如蓝牙、ZigBee、WiFi等,通常在传感器节点之间使用。 传感器和物体网络云服务器或应用服务器采用诸如固定网、移动网络等远程通信方法。

      由于传感器节点资源有限以及CPU处理能力、内存等的局限性,轻量级网络传输协议通常用于LwIP货盘。 目前,最广泛应用的标准材料网络传输协议包括MQTT、CoAP.MQTT是一种轻量级传输协议,其基础是TCP/IP协议的订阅/分配模式,该模式适用于引入第三方云平台的联网应用程序。

      本文以ESP8266 WiFi模块和MQTT协议为基础,设计一个低成本网络传感器节点,以ESP8266嵌入处理器为核心,使用AM2302传感器收集温暖湿度数据,并进行简单处理,通过MQTT协议向100度天文网络云层平台IoTHub发布传感器数据。 数据收集中心使用视觉C#自动识别传感器节点和订购传感器数据,并为传感器节点储存、处理和显示温度湿度数据。 数据收集中心可以通过云层平台IoThub发布命令,以配置传感器节点参数,并允许传感器节点执行规定的操作(开放/关闭中继)。传感器节点可靠、可扩展和广泛。

      1 系统总体结构

      该系统由传感器节点、数据收集中心和100度天工网云平台组成,如图1所示。 发射器节点由ESP 826和AM 2302组成,用于收集和报告温度湿度;数据收集中心的基础是为接收、储存、分析和显示传感器数据开发视觉C#;100度天工网云平台IoThub作为MQTT电文代理负责专题订阅管理、信息传递和缓冲,以及传感器节点与数据收集中心信息的互动。 传感器节点与数据收集中心的互动数据类型为JSON格式。

      基于 ESP8266WiFi 模块和 MQTT 协议的物联网传感节点设计

      2 传感节点设计

      宣传节点负责收集有关感知物体的信息,并通过MQTT信息代理通过相关通信模块将其传送到遥远的数据收集中心。

      2.1 硬件设计

      AM2302传感器至I/O外部传感器,以ESP8266EX WiFi模块为核心,图2描述了传感器节点的硬件结构。

      基于 ESP8266WiFi 模块和 MQTT 协议的物联网传感节点设计

      ESP8266 WiFi模块已编成一个ESP826EX芯片和一个4 MB SPI FLASH,配有支持三种 WiFi 工作模式(SoftAP, State, SoftAP+Station)的PCB WiFi 天线天线天线支持三种WiFi工作模式(SoftAP, State, SoftAP+Station)。 ESP 826EX具有完整的 WiFi功能,嵌入Tensilica的L10632-位内核处理器,CPU时钟速度为80兆赫,最高可达160兆赫,综合SRAM,作为MCU独立和通过I/O外部传感器。 ESE8266 WiFi模块支持IE802.11 b/g/n无线标准,与IPV4, TCP/UDP/HTTPP/MQTT[5]。

      2.2 软件设计

      NOdeMCU模块用Lua脚本语言编程,在ESP8266非OS SDK的非OS SDK上创建。NodeMCU固态软件包含ESES8266硬件操作的应用编程接口功能API,还支持外部公交车司机,如I2C、SPI、UART和老旧/TFT显示驱动器、各类传感器驱动器、网络协议库(TCP/UDP、HTTP、MQTT等),开发商可以在不理解基本硬件驱动器的情况下迅速开发应用程序。 宣传节点主要通过数据获取模块、 MQTT客户端和网络连接模块实施。 数据获取模块负责定期阅读温度湿度数据; MQTTF客户负责保持与MQTT信息代理 Iotub的连接,传播传感器数据,接收和回应 t。

      第二.二.1号数据采集单元

      数据获取模块设置了tmr计时器,调用 dht 库的读 () 方法读取温度湿度数据,然后使用字符串。格式函数将温度湿度数据改为 JSON 格式。

      pin = pin or 2

      status,temp,humi,temp_dec,humi_dec = dht.read(pin)

      暖湿度转换为 JSON 格式代码 :

      topicmsg='{"reported" :{"time" :"%d","temperature" :%0.2f,

      "humidity" : %0.1f}}'

      msg = string.format(topicmsg,rtctime.get(),temp,humi)

      基于 ESP8266WiFi 模块和 MQTT 协议的物联网传感节点设计

      MQTT 客户端编号: 2. 2. 2

      宣传节点和数据收集中心利用MQTT协议通信为订购/分配机制相互操作。宣传节点和数据收集中心作为MQTT客户端,而100度IoTHub云平台作为MQTT代理方,100度IoTHub云平台作为MQT代理方。信息按主题发布和排序(专题)。MQTT代理负责监测订阅或缓存信息(将标记保留为真实),并将信息传递给MQTT客户端,因为MQTT

      以下是宣传节点的 MQTT 客户端启动代码 :

      基于 ESP8266WiFi 模块和 MQTT 协议的物联网传感节点设计

      msghandler 是一个解释和处理从数据收集中心收到的JSON格式数据的信息处理功能。 JSON 数据对结构使用关键值(值)值, Key 可用于显示电文类型, 作为电文内容的价值。 JSON 格式数据使用sjson 模块的解码() 功能作为表格数据来解释。 敏感节点号召公共功能向主题发送信息, 语法: mqtt: mqtt:publish( 主题、 有效载荷、 qos、 保留[ ) 。 Topic 是发布信息的主体; 有效载荷是将要发布的信息; qos 是Qos 服务的质量; 0 表示只能一次发送, 1 表示至少一次, 2 表示可以一次发送; 保留服务器是否需要存储当前信息以维护标识; 功能( clit) 是成功发布电文的函数, 在代理方对 PUBACKK Mess 进行确认后执行此功能 。

      基于 ESP8266WiFi 模块和 MQTT 协议的物联网传感节点设计

      3个数据收集中心设计

      数据收集中心负责管理传感器节点和显示传感器数据,其中传感器节点管理包括自动节点识别、节点对象订阅、节点控制等。 数据收集中心通过MQTT协议的订购/分配机制与传感器节点沟通,而不必相互了解对方的IP地址,所有信息都通过MQTT电文代理传输。 数据收集中心对传感器节点的识别过程见图4. 敏感节点张贴到主题$baidu/iot/general/ data/id/stat,保留标记为“在线”和离线信息“脱线”,通过最终意愿(Last Will)连接到MQTT信息代理 IoTHoub,在订阅主题 $baidu/iot/general/data/+/status之后,接收所有传感器节点的状态信息,从电文主题(+字段与 wardcard相对应)中解析节点标识,在更新新节点之前直接添加节点状态。

      基于 ESP8266WiFi 模块和 MQTT 协议的物联网传感节点设计

      一旦数据收集中心在$baidu/iot/general/data/ did/data订购传感器节点主题,当传感器节点向这个主题发送信息时,信息代理 Iothub 将信息转发到数据收集中心。当数据收集中心获得传感器节点数据时,它分析JSON-format message获取的数据类型。

      基于 ESP8266WiFi 模块和 MQTT 协议的物联网传感节点设计

      图6显示了数据收集中心界面,其中包括节点清单和最新节点传感器数据以及节点数据曲线。

      基于 ESP8266WiFi 模块和 MQTT 协议的物联网传感节点设计

      4 结 语

      本文章设计基于 MQTT 的成像节点节点,使用 ESP8266 WiFi 模块 + 感应器收集数据与节点网络平台 MQT 模块接口,该模块使用视觉 C# + MQTnet 库实现感应节点数据、存储和显示的自动识别和控制。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/13214.html

          热门文章

          文章分类