谢晋飞,靳 鸿,史晓军
(1.中北大学 仪器科学与动态测试教育部重点实验室,太原030051;2.晋西工业集团有限责任公司,太原030027)
随着我国综合国力和地区影响力的不断提升,无论在在地区维稳,还是在反恐治安中,履带式车辆都扮演着极其重要的角色。 目前在履带式车辆的动态参数研究方面,数据采集与数据分析往往被分割开来,如文献[1]对发动机支撑载荷变化数据进行采集分析,先将数据采集到存储读数盒,采集结束后再将读数盒的数据读取到上位机进行分析。 文献[2]基于总线技术的网络化设计,对履带式装甲车辆电气系统进行模块划分,作为总线上的节点,对装甲车辆电气系统进行实时、快速、准确地检测。 文献[3]提出了一种装甲装备训练远程监控系统架构,实现了装甲装备训练信息数字化远程监控。 文献[4]针对传统的装甲车辆电气设备检测的缺陷,利用CAN 总线构建了网络化检测系统。 该系统将待检测子系统作为总线上的节点,以C8051F040 单片机为控制单元,通过相应接口电路连接到待测节点,并将数据处理结果通过CAN 总线上传到上位机,实现对装甲车辆电气系统的实时监测。
在此融合物联网创新技术,设计了履带式车辆无线温度智能监测系统,采用无线分布式传感器网络对温度数据进行实时采集、监测。
所设计的车载无线温度智能监测系统,融合物联网技术,通过人机智能交互界面对履带式车辆舱内的温度参数进行读取、分析,测试终端的传感器通过分布式拓扑网络结构进行部署,取代传统测试依靠线缆传输数据,大大提高舱内电子设备的可集成度,从而优化了整车的信息传输系统,扩展整个监测系统的空间。 履带式车辆内部机构复杂,温度参数直接体现舱内环境舒适状况,监测舱内的温度变化状况可以直观地告诉车内人员所处环境的温度变化情况,提高驾驶体验和工作效率。
该系统的整体设计方案如下:前端温度采集节点构成舱内无线传感网络,将采集的舱内温度数据通过ZigBee 协议汇总到协调器接收终端,数据接收终端再将获取的温度数据通过串口上传到树莓派,树莓派可根据需要设计适合车辆的人机交互界面,车内人员可以通过车载显示屏的人机交互界面进行温度数据的获取和分析,温度数据同样可以通过WiFi 传输到远程控制中心,对舱内的温度数据进行存储和分析。 车载无线温度智能监测系统结构如图1 所示。
图1 车载无线温度智能监测系统结构Fig.1 Structure of vehicle-mounted wireless temperature intelligent monitoring system
前端温度采集节点由8051 内核及其外围电路、温度传感器、CC2530 模块(传送)、电源模块构成,设计框图如图2 所示。
图2 前端温度采集节点Fig.2 Front-end temperature acquisition node
前端温度采集节点加入网络后,周期性控制传感器采集数据通过CC2530 的RF 收发器发送至协调器。 当收到上位机系统发来的指令数据,则对数据进行解析,并执行相应的操作。不同的CC2530 模块具有不同的节点网络容量,功放与耗能最高的情况下可以包含200~255 个节点[5],完全可以满足履带式车辆舱内的温度监测需求。
上位机数据处理模块核心部分由树莓派3B+、车载显示屏内嵌人机互动界面、CC2530 模块 (接收)、电源模块、串口通信模块和远程PC 端构成。 其中,树莓派与显示屏通过HDMI 接口连接,实现显示屏的供电和数据传输;树莓派与CC2530 模块之间采用USB 串口连接,实现数据和控制指令的传输。
当协调器收到终端发送的传感器数据,首先对数据进行验证提取,并且在协调器中对各个终端的数据进行整理, 将所有数据组合成一个数据包,通过周期性事件,将数据通过串口通信模块发送到上位机树莓派系统, 电源模块给予协调器和树莓派5 V 供电。上位机数据处理模块设计框图如图3 所示。
图3 上位机数据处理模块Fig.3 Upper computer data processing module
根据系统需要所选用的DSl8B20 型温度传感器,是美国Dallas 半导体公司的一种智能数字温度传感器,是目前市面上最常用也是性价比最高的温度传感器。 DSl8B20 的优点之一就是读出或写入数据均采用单总线接口,这样就大大简化了系统电路连接。DSl8B20 工作的能量由总线提供,无需外接电源, 也是DSl8B20 适合ZigBee 网络的一个突出优点。DSl8B20 体积小,封装形式多样,可靠性高,非常适用于履带式车辆内部长时间温度监测。
DS18B20 传感器有3 个引脚接线, 即地线、供电线和数据线。 根据DS18B20 的使用说明,分别与CC2530 模块的GND、P0.7 和3.3 V 引脚连接, 其路线如图4 所示。 在供电线与数据线之间接入电压拉低电阻,防止烧毁器件[6],使数据传输稳定,其阻值为4.7 kΩ。
图4 DS18B20 与CC2530 模块接线图Fig.4 DS18B20 and CC2530 module wiring diagram
该系统数据采集与收发主控采用CC2530 无线通信模块。 其使用一个单周期的8051 兼容内核,包括许多不同的外设,允许应用程序设计者开发先进的应用。CC2530 设备系列提供了一个IEEE 802.15.4兼容无线收发器。RF 内核控制模拟无线模块。除此之外,其自身还提供了一个接口用于连接外设,这使得无线设备的操作与工作方式更加多样化。CC2530 模块除了电源供电之外还可以使用干电池供电,在功率合适的情况下可以工作数月之久,是组建无线传感网络的最佳模块。
CC2530 的Flash 容量可以选择,有32,64,128 kB,这些Flash 可以允许应用程序保存必要的数据,以保证这些数据在设备重启后可用。 使用该功能,就可以保存具体网络参数,当系统再次上电后,就可以直接加入网络,进行数据采集工作,从而为车载无线传感网络的间歇重启工作提供了保障。CC2530芯片及其外围电路如图5 所示。
图5 CC2530 芯片及其外围电路Fig.5 CC2530 chip and its peripheral circuit
该系统中,协调器模块与树莓派采用USB 串口通信模块,实现数据和控制指令的传输。 USB 转串口芯片是电路的核心部分,提供USB 和串口的桥转换, 它分别由3 个部分组成——USB 转串口芯片PL2303,PL2303 晶振,PL2303 外围电路。 串口通信模块电路如图6 所示。
图6 串口通信模块电路Fig.6 Serial communication module circuit
USB 串口相比于其他串口具有很多的优势[7]。在设备上使用时可以热插拔[8],不需要关机再开机等动作;USB 串口采用全双工数据传输,速度更快,5根线路中2 根用于发送数据,另外2 根用于接收数据,还有1 根是地线,可以同步全速地进行读写操作。
上位机数据处理模块主控采用树莓派3B+微型电脑系统作为控制核心,树莓派的实际尺寸只有信用卡大小,但具有与电脑相同的功能。3B+型树莓派配置了一枚64 位1.4 GHz 四核ARM Cortex-A53 处理器,并板载了2.4,5 GHz 的双频无线网卡,支持蓝牙4.2 传输。 B+型树莓派具有很多接口, 如4 个USB 2.0 接口、HDMI 接口、网线接口等,同时配有512 MB RAM 和40 个通用输入/输出口。 使用树莓派作为上位机主控,可以根据设计需要完成上层应用的开发,连接底层硬件与上层应用,是实现物联网云控制和云管理的最佳主控选择[9]。树莓派3B+微型系统实物如图7 所示。
图7 树莓派3B+微型系统实物Fig.7 Raspberry Pi 3B+ micro system object
该系统监测节点数据采集程序通过嵌入式系统开发工具IAR 软件进行编写与下载。 IAR 编程与下载环境如图8 所示。
图8 IAR 编程与下载环境Fig.8 IAR programming and download environment
IAR 支持众多知名半导体公司的微处理器,包括CC2530 模块中的8051 内核。 在编译与下载之前,需要将DS18B20 温度传感器的C++库函数文件移植到系统工程文件中,在主函数中直接调用温度读取函数,就可以实现节点模块对温度数据的采集。
编译完成之后下载到对应的CC2530 模块中,由于模块自带Flash,所以掉电后下载的程序不会丢失,如果想要更新模块中的程序,直接通过IAR 下载覆盖旧程序即可。
该系统通过无线传感器网络技术WSN(wireless sensor networks)实现舱内温度监测的获取,采用分布式的方式将前端温度采集节点部署在设定的网络中,将采集到的温度数据信息通过ZigBee 无线通信网络汇聚到智能控制终端。 该技术具有自组织、大规模、可靠性高等特点。
该系统的通信协议主要基于Z-Stack 协议栈进行开发,树莓派通过串口连接CC2530 协调器进行ZigBee 网络的建立与管理, 前端温度采集节点作为终端加入ZigBee 网络, 协调器和树莓派系统的控制中心对分布在舱内的前端温度采集节点进行轮询呼叫。 系统Z-Stack 协议栈启动流程如图9所示。
图9 Z-Stack 协议栈启动流程Fig.9 Startup flow chart of Z-stack protocol stack
智能监测终端软件设计主要包括树莓派登录界面和监测界面,采用Python 语言可以实现其软件程序的开发。
Python 语言拥有开源的第三方库以及简洁的语法规则,可以大幅缩短软件开发周期,同时Python程序具有强大的兼容能力。PyQt5 是Python 与Qt 结合的产物, 是进行图形界面设计最棒的库之一,在PC 端上安装完Python 后只需通过一些命令即可安装PyQt5。 在Windows 上安装PyQt5 后,会生成一个界面开发软件Qt Designer。 Qt Designer 是一个PyQt5 的可视化界面编辑软件, 它的作用是帮助用户快速开发出界面文件,采用PyCharm 进行调控系统主程序的开发,可以大幅提升编程效率[10]。
树莓派已安装了Python 编译器, 所以在PC 上采用PyCharm+PyQt5+Python 进行智能监测终端软件的开发, 将编写好的.py 源文件下载到树莓派上,便可在树莓派上执行所开发的软件。 监测终端显示界面工作流程如图10 所示。
车载智能检测系统设置有登录界面,只有用户名和密码都正确才能进入系统,进一步提高了系统的安全性。 登录界面如图11 所示。
图10 终端显示界面工作流程Fig.10 Work flow chart of the terminal display interface
图11 车载智能监测终端登录界面Fig.11 Login interface of vehicle-mounted intelligent monitoring terminal
将编译好的ZigBee 协议栈下载到对应的CC2530 模块,1 个作为协调器与车载树莓派端连接,另设4 个终端节点作为温度采集节点,将利用PyCharm+PyQt5+Python 编写好的智能监测终端登录界面、温度数据采集界面的.py 文件打包发送到车载树莓派,通过树莓派系统自带的Python 编译器运行文件。
系统上电,4 个终端节点分散在实验室的不同位置,模拟车辆舱内环境,可以适时地对改变其所处位置的温度,通过车载树莓派端直连的HDMI 显示屏和WiFi 连接的远程PC 端来观察舱内温度的变化趋势。 监测的温度数据直接存放在树莓派系统中, 可以通过HDMI 显示屏或远程PC 端进入树莓派系统文件夹进行查看。 远程PC 端温度监测界面、车载智能监测终端如图12,图13 所示。
图12 远程PC 端温度监测界面Fig.12 Remote PC temperature monitoring interface
图13 车载智能监测终端Fig.13 Vehicle-mounted intelligent monitoring terminal
目前物联网创新技术在各个领域拥有巨大的潜在应用价值。 在此依托嵌入式技术和无线传感技术,阐述了履带式车辆无线温度智能监测系统的系统设计、硬件结构、软件协议。 舱内人员可以通过树莓派在HDMI 显示屏上对舱内温度数据进行采集、显示、存储;将树莓派接入以太网,使用安装在PC端的VNC 软件对树莓派进行远程登录,实现远程舱内温度监控。 在实验室环境下模拟车辆舱内环境进行了监测系统整体功能验证,结果表明该系统基本实现了设计的要求,对履带式车辆动态参数研究具有一定的意义。