APP下载

基于蓝牙5.0的无线测温仪表设计与研究

2024-05-20周玉博

现代计算机 2024年5期
关键词:低功耗网关测温

周玉博

(华北科技学院电子信息工程学院,廊坊 065201)

0 引言

在隧道冻结法挖掘隧道的过程中,对隧道冻结层温度的实时监测对于隧道挖掘工程的稳定运行至关重要。然而,传统的有线温度监测方法存在着诸多问题,如安装维护困难、需要布设大量的传感器、数据线和电源线、设备成本高昂等[1]。鉴于隧道测温工程的温度采集周期较短,采用无线传感技术实现隧道冻结层温度监测早已成为了一种新的选择[2-3]。蓝牙5.0无线技术具有高速传输、远距离传输和低能耗的特点[4]。与当前测温系统主流的ZigBee 无线技术相比,蓝牙5.0 无线技术具有更低的功耗、更长的通信距离、更快的传输速度和更大的数据载量[5],能够更好地适应隧道环境的特殊需求。因此,蓝牙5.0 无线技术在隧道冻结层测温中具有明显的优势。

目前,针对于隧道测温应用场景来说较为先进的测温方式是光纤测温法。光纤测温抗干扰能力强、抗腐蚀性强、传输距离远,但由于光速度为3×108m/s,导致需要频率极快的处理芯片进行配合,而芯片工作频率和价格成正比,故光纤测温法系统整体成本过高。对于此应用场景,需要使用一种简单且可靠的方式,DS18B20 单总线测温是一个非常合适的选择,该方式使用单总线技术实现多个DS18B20 传感器在同一总线上工作,方便实现大规模温度监控;采用低功耗设计,通信时只需要短暂控制总线电平,完全符合本系统的应用需求。

1 系统硬件设计

1.1 系统整体设计

本系统硬件分为三部分,分别是温度采集终端、蓝牙主机网关和仪表显示端。温度采集终端由多个低功耗的采集终端进行温度数据采集,将数据无线转发给网关,网关通过串口将数据发送给仪表显示控制终端。系统模块结构图如图1所示。

图1 系统模块结构图

1.2 测温终端设计

该终端以nRF52832为主控,是一款由Nordic公司研发的低功耗蓝牙SOC 芯片,内置32 位ARM Cortex-M4F处理器,支持蓝牙5.0、NFC-A、NFC-B 和NFC-F 等多种无线通信协议,可运行在-40°C~85°C 的温度范围、5%~95%的湿度范围等[6]。该终端使用官方蓝牙5.0 协议栈进行开发,配置为低功耗蓝牙从机。由电池供电,集成单总线驱动电路对单总线上多个DS18B20进行控制,具备定时监测、数据存储转发等功能,测温终端的结构图如图2所示。

图2 测温终端的结构图

图3 从机设备广播包

DS18B20 采用寄生供电模式,多个传感器共同挂载在单总线上,使用单总线驱动电路提高电压驱动能力,进而能驱动单总线上的全部传感器设备。

1.3 网关设计

网关同样以nRF52832 为主控,使用Nordic官方蓝牙5.0 协议栈进行开发,配置为主机,使用一主多从模式,可同时连多个测温终端设备,形成一个星型网络通讯结构。该网关与STM32主控共同构成仪表端这个整体,可被看作为仪表端的蓝牙模块,直连仪表端主控芯片的串口,与仪表端主控芯片通过串口协议进行通讯。

1.4 仪表端主控设计

仪表端以STM32F429 为主控芯片,是一款基于ARM Cortex-M4内核的微控制器,最高工作频率达180 MHz,内置DMA2D 外设配合LTDC外设来提高RGB 触摸屏的刷新率。DMA2D 是STM32 系列微控制器中的硬件加速器,它提供了高效的2D 图像处理能力,并且能够以非常高的速度处理图像数据。LTDC 是一种专门设计用于控制TFT 液晶显示器的图形控制器,主要用于实现高性能、高品质的图像和视频显示。

DMA2D 主要作用是将大量的像素数据以极高的速度搬运至指定的内存区域,即使这些区域在内存中实际是不连续的[7]。LTDC 作用就是不停地将指定内存区域的像素数据转换成像素点,输出到液晶显示屏上,实现图像的显示。由于DMA2D 和LTDC 初始化后便自己运行不会占用CPU 资源,对于图像处理来说,这两个外设配合会大大减轻CPU 的负担并实现高效的图形界面设计和显示[8],从而通过减少可视化界面的操作卡顿来提升用户体验感。

仪表端主控部分通过串口连接网关模块,两者使用JSON 数据格式进行通信,由电池供电,使用SD 卡存储温度数据,使用RGB 触摸屏进行可视化操作。

2 系统软件设计

2.1 测温终端程序

2.1.1 通讯程序设计

本系统测温终端等待连接时将自身的信息以广播包的形式发出去,广播包的主要内容是设备MAC 地址和31 字节的自定义数据,自定义广播数据为Flag(3 字节)+128 位UUID(18 字节)+设备名称:“华北科技学院”拼音首字母大写(8字节)。

前市场上的绝大部分蓝牙电子产品都采用mac地址连接方案,其优点是适配各种蓝牙设备连接,缺点是连接时需要在主机端操作,输入密钥使双方设备进行配对。针对本工程应用场景:从机数量多、测温系统独立性和专用性,本系统采用UUID 过滤连接方案,测温终端将某私有服务的128位UUID 写入自定义31字节的数据包,主机通过扫描广播包过滤到该UUID 并发起连接,此方案具备以下优点:

(1)所有从机设备共用同一个128 位UUID,保证了设备连接的统一性。

(2)自定义128 位UUID 极小可能会和别的设备UUID冲突。

(3)主机自动扫描所有符合条件的测温终端并自动建立连接。

(4)使用静态密钥加密,防止其他设备配对。

2.1.2 低功耗程序设计

该测温终端整个工程期都要连接DS18B20总线,设定每隔一段时间对总线进行一次测温并存储。由于本系统采用电池供电,为了实现长时间稳定运行和延长电池寿命,此终端采用低功耗技术。蓝牙5.0 继承自蓝牙BLE 的低功耗特性,蓝牙BLE 拥有两种低功耗模式,一种是System on 下的低功耗模式,该模式平均电流是3 μA,在系统空闲情况下会自动进入,可通过任何事件脱离低功耗模式并进入运行状态(自动广播等);另外一种低功耗模式是System off 睡眠模式,由于这个模式的设备只能外部唤醒,不符合本系统需求,故不作概述。

对于蓝牙、ZigBee 等低功耗无线产品来说,其工作期间消耗的电流主要来自于主从之间信息交互。分别为设备连接前的广播和连接时的通讯。经分析得出,在测温终端等待其他设备连接的时候,最大的功耗就是瞬间发送的广播,针对此情景,设计使用运行在协议栈上的软件定时器为广播定时,该软件定时器是一段程序,不属于外设,所以对此终端的功耗几乎不会产生影响。程序内设置终端在一天的某个时间段开启广播,供网关设备进行扫描连接,其余时间通过关闭广播进入低功耗模式来节约电量,终端程序流程如图4所示。

图4 测温终端程序流程图

2.1.3 单总线程序设计

单总线上挂载多个DS18B20 温度传感器设备,我们可以通过指定读取总线上某个传感器温度进而确定某位置的温度。每个DS18B20 传感器都有一个唯一的64位ROM 代码,用于在多个传感器存在的情况下区分它们。DS18B20 使用单总线通信协议(1-Wire 协议),该协议提供了ROM 搜索算法,该搜索算法采用的是二叉树型结构,搜索过程沿各分节点进行,直到找到器件的ROM 码,即叶子为止;后续的搜索操作沿着节点上的其它路径进行,按照同样的方式直到找到总线上的所有器件代码。为避免每次测温前都要搜索传感器ROM,本系统程序设定为系统初始化时进行ROM 搜索,并将搜索到的ROM 值通过FDS 文件系统存储到芯片片内FLASH,以便以后测温直接调用。

2.2 网关程序设计

网关设定为蓝牙主机,配置为一主多从模式,理论上最多可连接20 个蓝牙从机(测温终端)。该模式连接分为以下步骤:

(1)主机初始化完成后便开启广播包的扫描,每接收到任意广播包后便解析广播包内是否有正确的128 位UUID 值,若UUID 正确主机便发起连接。

(2)建立连接后,主机分配连接句柄给从机,从机接收后保存,之后主机通过与从机的连接句柄进行从机设备的区分。对于不同主机的相同服务,例如测温服务,主机创建一个测温服务数组,将不同从机句柄作为数据的不同下标,以此区分不同从机的不同服务,随后发现并记录该服务的特征值UUID和描述符。

(3)连接完成后,主机开始定时发送连接心跳包保持连接,并且继续扫描其他从机设备。连接的从机设备停止发送广播包,开始定时发送回复心跳包,之后继续进行其他设备广播包的解析。主机停止扫描的条件有两个,一是连接达到规定数量的从机设备,二是到达设定的扫描时长。

如图5所示,主机同时连接两个从机,根据连接的顺序从0 开始分配连接句柄,连接后将mac地址和对应连接句柄通过串口打印出来。

图5 一主多从连接句柄

2.3 仪表端主控程序设计

仪表端主控通过连接的网关间接对温度采集端进行数据的收发,移植FATFS 文件系统配合SD 卡对温度数据进行模块化存储,移植LVGL开源图形库并配合RGB触摸屏来对设备信息、温度数据、SD 卡读取数据等相关参数进行显示,移植FreeRTOS 操作系统来对图形显示任务、数据存储任务、RTC 实时任务进行实时调度并配合信号量、消息队列等相关量实现一个实时显示系统。仪表端程序流程如图6所示。

图6 仪表端程序流程图

3 结果分析

3.1 低功耗实验

为了实现功耗最小化,在测温终端等待连接的时候,将系统中使用的ADC、IO 口等外设统统关闭,用软件定时器定时开启和关闭广播,连接到网关后进行电量采集和温度采集等服务,断开连接后继续进行低功耗模式。

经测温实验分析得出,睡眠阶段单位时间工作电流为2.83 μA,测温期间的单位时间的工作电流是6.91 mA,按照工程需求经计算得出,此测温终端平均每天的电量消耗约为2 mAh,结合图4 的各个状态电流消耗情况计算得出使用210 mAh的纽扣电池能供能三个月之久,由此得出此测温终端功耗符合该工程的需求。工作期间各阶段电流如图7所示。

图7 工作期间各阶段电流

3.2 仪表显示端实验

仪表通过解析串口连接的蓝牙主机网关发送过来的JSON 格式数据,将连接的测温度端信息显示为设备列表,可通过单独点击设备列表进行指定采集端指令的发送和数据接收。仪表端将存储的温度数组通过LVGL图形库的图表显示出来,帮助工作人员更直接地进行温度数据分析,借此来制定工程的下一步计划。

4 结语

本系统能对隧道冻结层温度进行定时采集、无线传输和图形化显示,通过对无线和便携式的两个特性的开发对整个测温系统最大程度地进行了结构的简化,仅仅使用若干测温总线连接低功耗温度采集终端配合便携仪表显示端即解决冻结层测温问题,解决了传统有线测温布线复杂和无线测温功耗高的问题,完善了冻结层测温系统的功能。

猜你喜欢

低功耗网关测温
一种高速低功耗比较器设计
基于WiFi无线通信测温系统的设计
变压器光纤测温探头的安装固定
基于DS18B20的单片机测温系统
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计
ADI推出三款超低功耗多通道ADC
IDT针对下一代无线通信推出低功耗IQ调制器