温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
阿里
云和
LoRa
远程
多点
温度
测量
系统
设计
2023年/第8期 物联网技术全面感知 Comprehensive Perception250 引 言在很多场合需要进行多点温度数据测量和远程数据传输,因而需要设计一个远程多点温度测量系统,包含多点温度测量和远程数据传输两个方面。在多点温度测量时,可以布置若干个终端节点,每个终端节点测量温度数据后,通过无线模块发送到中心节点,中心节点接收各终端节点温度数据,实现了在无线模块有效传输距离范围内的多点温度测量数据采集。早期无线模块大多选择 ZigBee 或蓝牙模块1-2,但这些模块通信距离近,需要进行深度组网,导致成本增加,维护难度变大3。对此,可采用 LoRa 模块进行多点数据采集。LoRa 模块因具备低功耗、远距离、可靠性高的优势4-6而得到广泛应用。中心节点的 LoRa 模块与各个终端节点的LoRa 模块可采用透明传输模式,当中心节点的 LoRa 模块接收到数据后,将数据传输至单片机,配合 WiFi 模块,连接阿里云物联网平台,实现数据的远程访问,用户在 PC 和手机端可以远程监测多点温度数据,也可以下发指令至中心节点,实现其他预警等控制功能。1 系统整体设计远程多点温度测量系统总体设计如图 1 所示,包括终端节点和中心节点两部分。终端节点采用单片机STM32F103C8T6 读取温度传感器数据,通过 LoRa 模块传输至中心节点。中心节点采用单片机 STM32F103RCT6,其中串口 1 连接 LoRa 模块,串口 2 连接 WiFi 模块。中心节点从LoRa 模块接收各个终端节点的温度测量数据,再通过 WiFi连接至阿里云平台并发送数据,实现远程多点温度测量。中心节点接入了LCD显示器,显示接收的温度数据或其他信息。在 I2C 总线上接入了时钟芯片和存储芯片,用以显示系统实时运行时间和存储相关参数,可以进一步拓展多种控制功能。图 1 系统总体设计结构2 系统硬件设计2.1 终端节点硬件设计图 2 是 终 端 节 点 硬 件 电 路 设 计,其 中 采 用STM32F103C8T6 单 片 机 作 为 主 控 芯 片,在 PA0 接 入 了DS18B20 温度传感器,这是一款单总线传感器,具备体积小、基于阿里云和 LoRa 的远程多点温度测量系统设计苏格诺,刘烨楠,刘静波(南京工程学院,江苏 南京 211167)摘 要:为实现多点温度测量,并把接收的各节点温度数据远程发送至物联网云平台,设计了采用 LoRa 组网模块采集多点温度数据,通过阿里云飞燕平台远程接收数据的温度测量系统。系统包括终端节点和中心节点两部分:终端节点单片机读取温度,通过 LoRa 发送数据至中心节点;中心节点单片机连接 LoRa 和 WiFi 模块,具备接收各终端节点温度数据和远程发送数据至飞燕平台的功能。采用 MQTT 协议与飞燕平台建立连接后,用户可在网页端和手机端实时远程接收多点温度数据。文中对系统软硬件设计作了分析,并对在手机端创建飞燕平台可视化应用界面作了介绍。通过实际运行测试,系统实现了多点温度数据的测量与远程数据发送。测量结果表明,系统运行可靠,数据传输完整及时,具有较好的实用性。关键词:物联网;LoRa;飞燕平台;远程数据发送;多点测量;可视化应用中图分类号:TP311;TN929.5 文献标识码:A 文章编号:2095-1302(2023)08-0025-04收稿日期:2022-09-23 修回日期:2022-10-21基金项目:江苏省青蓝工程电子信息技术优秀教学团队经费资助;江苏省研究生教育教学研究课题“应用型高校工科专业硕士研究生数字化能力培养模式研究”(JGKT22_C049)经费资助DOI:10.16667/j.issn.2095-1302.2023.08.007物联网技术 2023年/第8期 全面感知 Comprehensive Perception26测量范围大、精度高的优点7,在-10 85 范围内精度达到 0.5,采用 T0-92 封装。DS18B20 的数据线通过 10 k 上拉电阻连接至 3.3 V 电源。图 2 终端节点硬件电路设计LoRa模块选择ATK-LORA-01,这是一款体积小、低功耗、高性能、远距离的 LoRa 无线串口模块。采用高效的 ISM 频段射频 SX1278 扩频芯片,工作频段为 410 441 MHz,具备 32 个信道,每个信道以 1 MHz 为步进,可在线修改串口速率、发射功率、空中速率、工作模式等参数,使用方便;具备 3 km 传输距离,并可实现自动分包传输,有效地保证数据包的完整性。与单片机之间以串口方式连接,连接于单片机的串口 1,通过终端节点完成温度测量与数据发送,结构简单、功能明确。2.2 中心节点硬件设计图 3 是 中 心 节 点 硬 件 电 路 设 计 图。单 片 机 选 用STM32F103RCT6,这是一款高性能处理器,主频 72 MHz,具备定时、外中断、串口、ADC、DMA 等多种资源8,串口 1 和串口 2 分别接入了 LoRa 和 WiFi 模块,配置 PC10和 PC11 为 I2C 总线,其中 PC10 为 SCL 时钟线,PC11 为SDA 数据线;接入时钟芯片 DS3231 和存储芯片 AT24C02,DS3231 器件地址为 0 xD0(写)、0 xD1(读),AT24C02 器件地址为 0 xA0(写)、0 xA1(读),在同一组总线上通过不同器件地址进行访问。DS3231 的 3 脚可编程输出 1 Hz 信号,连接到单片机的 PC4,作为外中断触发信号,在外中断服务程序中处理相关数据读取和显示等任务,提高了程序的效率。图 3 中心节点硬件电路单片机 PB 端口的 PB0-PB7 作为液晶显示的数据线,PB10-PB15 作为液晶显示的控制线。WiFi 模块选用基于ESP8266 的 ESP-01F 模块,这是一款高集成度 WiFi 模块,在本系统中帮助单片机接入互联网8,在使用中把 WiFi 模块配置为客户端(STA)模式,连接于单片机的串口 2,通过路由器接入网络,实现远程数据传输。3 系统软件设计3.1 终端节点软件设计终端节点软件设计中先对两个功能模块进行初始化配置,分别是串口 1 和温度传感器的初始化。在主程序中,以设定的读取时间间隔进行温度数据读取并打包发送,终端节点程序主流程如图 4 所示。现以 0 100 为测温范围,对终端节点发送的数据用统一的方式进行封装设定。在程序中定义一个数组 dtbuf,作为输出设定格式的变量数组。程序中,读取温度数据存放于变量 temperature。注意,此数值在读取时是扩大 10 倍的数据,有利于后续的数据处理。然后采用语句“sprintf(char*)dtbuf,$01:%2d.%1drn,temperature/10,temperature%10);”把温度数据封装打包到数组 dtbuf 中,统一为 11 位字节格式,以$开始、01 为终端节点的序号,其他节点依次排序。由此,当中心节点接收到数据后,可以判断出不同的终端节点发送的数据,后面以“*.*”为温度数据,并带有换行等字符。图 4 终端节点程序流程终端节点发送数据时,以分时方式进行发送,中心节点也会在固定的时间周期内重新对终端节点的分时发送时间统一复位,从而让终端节点以合适的分时时间发送数据,提高2023年/第8期 物联网技术全面感知 Comprehensive Perception27了发送数据的可靠性。3.2 中心节点软件设计图 5 是中心节点软件主流程。主流程中首先根据 MQTT协议建立与服务器的连接,当完成连接后程序给出连接成功标志,完成订阅报文并确认是否订阅成功,单片机在定时中断中(5 s)发送温度数据,把接收的节点温度数据发送到阿里云平台;同时每隔一段时间(例如 30 s),单片机会发送PING 信号,表明在线状态,并接收到回复信号,从而确认建立起稳定的连接状态。图 5 中心节点软件主流程单片机接收串口 1 的数据,按照终端节点设定的数据发送格式,包含了序号和温度数据,可以解析出不同节点的发送数据,存放于不同的变量里,例如以两个终端节点为例,定义 one_temp 和 two_temp 变量存放接收的温度值。将接收的节点温度数据统一打包后发送至阿里云,应按照协议格式进行打包封装,以两个节点数据为例,变量 one_temp 和 two_temp 是实际接收的浮点型温度数据,采用语句“sprintf(temp,method:thing.event.property.post,id:203302322,params:Temperature1:%.1f,Temperature2:%.1f,version:1.0.0,one_temp,two_temp);”把 one_temp 和 two_temp 与 Temperature1 和Temperature2 相关联。Temperature1 和 Temperature2 是在阿里云平台自定义的功能,是一种物模型数据,它们分别对应了中心节点接收的两个节点温度数据。对于物模型数据,阿里云平台提供了标准功能,可以在标准功能范围内选择适用的物模型数据,也提供了自定义功能,用户可灵活应用。中心节点主流程中设备建立与服务器的连接非常重要,如果连接成功,则会进行数据发送、数据接收和命令接收,这些都是设备与服务器具备的数据访问与命令下发的基本功能。如果连接不成功,则连接成功标志不置位,系统则会尝试连接,不会进行数据传输。中心节点显示等相关任务放在外中断服务程序里,不占用主程序资源,提高了主程序效率。3.3 中心节点 LoRa 接收程序将中心节点的 LoRa 模块连接在串口 1,并采用串口中断的方式进行数据接收9-10,对串口接收一个字节中断和一帧数据中断,从而进行判断。中断服务程序中分别判断USART_IT_RXNE 和 USART_IT_IDLE 两个标志位。每收到一个字节则 USART_IT_RXNE 置位,这样程序把所有接收的数据存放于 Usart1_RxBuffUsart1_RxCounter 数组里,其中 Usart1_RxCounter 是接收字节数量。USART_IT_IDLE 是一帧数据接收结束的标志,程序通过判断该标志位确定数据接收结束,当一帧数据接收完成时,在中断服务程序里,标志位 Usart1_RxCompleted 置 1,表示一帧数据结束,所有字节接收完成,同时 Usart1_RxCounte 清零,为下一帧数据接收做准备。这样在主程序里,根据标志位 Usart1_RxCompleted 的状态,解析并提取不同节点的温度数据,代码如下:if(Usart1_RxCompleted=1)/串口 1 接收 LoRa 数据Usart1_RxCompleted=0;/标志清零if(Usart1_RxBuff1=0)&(Usart1_RxBuff2=1)/1 号节点数据one_temp=(Usart1_RxBuff5-0 x30)*10+(Usart1_RxBuff6-0 x30)+(Usart1_RxBuff8-0 x30)*0.1;else if(Usart1_RxBuff1=0)&(Usart1_RxBuff2=2)/2 号节点数据two_temp=(Usart1_RxBuff5-0 x30)*10+(Usart1_RxBuff6-0 x30)+(Usart1_RxBuff8-0 x30)*0.1;4 实际测试选择阿里云生活物联网平台(也称“飞燕平台”)作为本次实际测试的远程平台。飞燕平台是面向消费级生活智能设备的平台,提供全链路一站式配置方案,包括设备连接、APP 控制、设备管理,能够快速实现设备智能化,降低“设备-云-APP”的开发成本。飞燕平台通过每一步的引导操作,让用户快速构建设备到云平台的对接。在飞燕平台上,用户可以创建项目和创建新产品,然后根据“功能定义”制定物模型数据,根据“人机交互”制定产品名称、创建设备物联网技术 2023年/第8期 全面感知 Comprehensive Perception28面板等。其中设备面板可采用云平台提供的公版 APP 控制产品,用户可自己编辑 APP 界面,应用到用户手机界面中;根据“设备调试”选择阿里云认证的模组,这里要注意选择可替代 ESP8266 的模组(2G 模组),通过“新增测试设备”步骤后,在“批量投产”的“配网+APP 下载二维码”下输入新增的设备名称,就可以生成“APP 下载二维码”,在手机云智能中扫描生成的二维码,就快速实现了本项目的 APP应用界面;在手机端查看数据,或通过控件下发其他参数命令。图 6 是手机 APP 接收数据的应用界面,其中显示接收当前测试的两个终端节点的数据;图 7 是中心节点实际运行 状态。图 6 手机端接收数据 图 7 中心节点实际运行状态5 结 语飞燕平台是阿里云平台的行业应用平台,非常适用于快速实现“设备-云-APP”的完整应用。本系统设计采用LoRa 采集多点温度数据,并用 WiFi 模块以 MQTT 协议连接飞燕平台,实现远程数据传输至云平台,完整实现了远程多点温度测量系统。实际测试结果表明,系统运行可靠,具有较好的实用性,在手机 APP 端也可以添加控件,用来下发控制参数等指令数据,增加中心节点对温度数据超温的报警提示功能。系统在中心节点主流程中,预留了进一步拓展应用的基础,包括命令接收与参数存储、数据比较与报警状态上传等,为进一步拓展丰富的应用功能提供可行性。本系统完成了多点数据采集,并与云平台建立连接实现了数据远程传输,为进一步的应用和研究打下良好的基础。参考文献1 薛义鹏,陈鑫,孙馨瑶,等.基于 STM32 和阿里云的棉纺车间环境温湿度监测系统 J.自动化与仪表,2022,37(8):67-70.2 任志敏,张良.基于阿里云的低功耗无线数据采集系统设计 J.物联网技术,2021,11(12):12-15.3 王伟,田国瑞,常彦文.基于 LoRa 通信的可视化城市照明系统设计 J.北京石油化工学院学报,2021,29(3):44-49.4 杨新华,郑越,马建立,等.基于 LoRa 的电力物联网智能终端采集系统设计 J.传感器与微系统,2022,41(1):123-126.5 胡祥翱,董冲,方挺,等.基于 LoRa 传输的高精度水温差监测系统 J.常州工学院学报,2022,35(1):46-51.6 倪威,姜涛,蒋中海.基于 Lora 的变电站物联网系统设计及应用J.上海电力大学学报,2022,38(3):274-279.7 闫施锦,陈淼,刘静波.基于 OneNET 的多模式远程控制开关系统设计 J.物联网技术,2022,12(2):36-40.8 刘静琦,阮煜婕,吴胜,等.基于 WiFi 智能小车的远程温湿度测量系统 J.物联网技术,2021,11(12):36-39.9 郭书军.ARM Cortex-M3 系统设计与实现-STM32 基础篇 M.北京:电子工业出版社,2019.10 游国栋.STM32 微控制器原理与应用 M.西安:西安电子科技大学出版社,2020.作者简介:苏格诺(2002),女,江苏徐州人,就读于南京工程学院信息与通信工程学院,研究方向为电子技术。参考文献1 郑再超,张萌,杨茜茜.高速公路逃缴通行费问题及治理方法研究综述 J.内蒙古公路与运输,2021,46(5):59-62.2 陈波.数据挖掘在高速公路防逃费中的应用研究 D.广州:华南理工大学,2014.3 黄志军.高速公路联网收费系统防逃费研究与实现 D.长沙:中南大学,2010.4 李松江,周舟,李岩芳,等.基于 IGA-IBP 算法的高速公路逃费预测 J.计算机工程与设计,2018,39(12):3840-3845.5 向红艳,杨朋涛,伊佳佳.基于 RF-LR 的高速公路逃费车辆状态预测模型 J.重庆师范大学学报(自然科学版),2020,37(1):75-80.6 HUANG H.Anomalous behavior detection in single-trajectory data J.International journal of geographical information science,2015,29(12):2075-2094.7 桑美英.高速公路货车收费标准改革实施效果评估研究 J.价格理论与实践,2021,41(10):45-48.8 孙吉贵,刘杰,赵连宇.聚类算法研究 J.软件学报,2008,19(1):48-61.9 张赫,杨兆升,李贻武.无检测器交叉口交通流量预测方法综合研究 J.公路交通科技,2002,19(1):91-95.10 储浩,杨晓光,吴志周.动态交通数据的预处理方法及应用 C/第一届中国智能交通年会论文集.上海:科学技术部全国智能运输系统协调指导小组办公室,2005.11 张俊涛,武芳,张浩.利用出租车轨迹数据挖掘城市居民出行特征 J.地理与地理信息科学,2015,31(6):104-108.作者简介:宣淑敏(1998),硕士研究生,研究方向为智能交通控制系统。靳引利(1972),博士,教授,研究方向为智慧公路系统及运营等。(上接第24页)