复杂场景下无线监测系统的设计
2017-12-20高绍腾曹自平张金娅
高绍腾,曹自平,张金娅,王 岩
(1.南京邮电大学 通信与信息工程学院,江苏 南京 210003;2.中国人民解放军73685部队,江苏 南京 210000)
复杂场景下无线监测系统的设计
高绍腾1,曹自平1,张金娅1,王 岩2
(1.南京邮电大学 通信与信息工程学院,江苏 南京 210003;2.中国人民解放军73685部队,江苏 南京 210000)
针对复杂场景下对监测设备的较高要求,设计了一种通用型的无线监测系统。系统中的每一个传感节点基于433 MHz ISM射频频段来完成数据的无线收发,并且在节点与节点之间设计了点对多点的自组网方法。收发节点先由Cortex-M3内核的单片机控制收发,然后把数据传入到嵌有OpenWrt开源系统的网关中,在网关中完成串口数据与Socket数据的相互转换,最后通过WIFI技术把采集数据传入PC端进行监测与反向控制,并在开源视频服务器软件MJPG-streamer的框架结构下实现视频采集。客户端软件采用C#语言进行编写,除了简单的界面显示之外,主要完成网络通信、数据处理、反向控制和监控界面显示等功能,使该系统具有较好的监测功能以及人机互动功能。整个系统的功耗较低、便携性较高、实用性强,可实现多点监测。
无线传输;自组网;多点监测;网关;视频采集
0 引 言
随着信息化的逐步深入,以及低功耗和高性能芯片的不断推出,物联网领域的应用前景愈加广阔,低功耗嵌入式研究成为当下热点。如今许多工业、农业或野外的监测场合对设备布线的要求越来越高,传统的有线设备往往不具备通用性,而无线传感网络技术(WSN)具有低成本、移动性好、无需布线等优点,可应用于无法布线的场合以及对设备移动性要求较高的场合[1-6]。因此设计一种体积小、便携性高、功耗低的通用性无线监测系统在数据采集方面将具有较好的实用性和灵活性[7-8]。
文中设计了一种节点之间自组网传输的无线监测系统。该系统的体积小、便携性较高、功耗低,可用于多种场合。系统把传感器节点采集的数据利用433M无线模块接入到WIFI网关单元中,在移动设备上实现各种信息的汇总及处理。
1 系统方案与硬件设计
1.1 系统方案
系统的发送端与接收端均采用基于433M频段收发的SI4432无线收发模块,发送端通过Cortex-M3内核的STM32F103单片机控制,以自组网的形式构成点对多点的通信方式。通过单片机测量环境参数并发送数据。接收端通过STM32单片机控制433M模块完成数据的接收。数据在网关单元完成串口协议与Socket协议的转换,然后传送给上位机。系统的整体设计框架如图1所示。
在网关单元上添加了采用MJPG-Streamer开源框架的视频监控。摄像头的底部采用舵机控制,智能设备不仅可以监测到发送端的数据变化和反向控制,还可以自由调整摄像头的角度,监测现场的视频情况,适用于工业、农业以及野外探测等复杂场景下的工作。
图1 系统框架
1.2 硬件设计
发送节点与接收端的控制芯片均采用Cortex-M3内核的STM32系列单片机,通过配置GPIO口的电平来驱动传感器和433M模块。两端通过433M模块进行组网数据传输,发送节点预留了多种型号传感器的接口,可搭载电压型、电流型以及数字型传感器。图2是两端节点的硬件构成。
图2 收发两端的硬件设计
为了更好地实时监控周围环境,系统中的摄像头部分安装了舵机,可以通过上位机来控制STM32单片机(接收端)产生不同的占空比信号。该信号可以改变舵机的旋转角度。
2 自组网设计
2.1 组网结构
传统433M无线收发模块的通信方式为点对点通信,没有组网能力。文中为防止多个节点在传输数据过程中产生竞争现象,通过自定义组网算法改成点对多点的层次化组网结构。在层次化组网结构中,按照分簇的思想,节点被分为两大类:一类是簇内成员节点即普通的传感分节点,另一类是用作传感数据汇集的簇头节点,也可称为中心节点或主节点。传感分节点将采集的传感数据通过无线通信汇集到中心节点,中心节点再将数据传给上层节点。层次化拓扑结构是无线传感网络中常用的拓扑结构。
针对无线传感网络对实时性、可靠性等特性的需求,提出一种适用于本设计的星簇型网络拓扑结构。如图3所示,图中的拓扑结构可分成两层,每一层都采用星形层次型拓扑的方式相连,由簇头和簇内节点组成。第一层的簇内节点是由若干个传感器采集节点组成,簇头是由若干个中间转发节点组成。第二层的簇内节点是由第一层的多个簇头组成,簇头则是与上位机相连的中心节点,也是终端节点[9]。
图3 系统组网设计结构
2.2 组网的频点选择
在数据收发时,收发两端的频点设置必须一致,频点起始值可以通过寄存器RF_FREQ_BASE(0x2F)配置,信道间隔由寄存器CH_SPACE(0x2F)配置,信道号可通过寄存器CHANNEL1~CHANNEL8(0x28~0x2B)配置。其中CHANNEL1为主信道号,CHANNEL2~CHANNEL8为从信道号,从信道号只在信道跳频模式开启后有效,信道号的取值可以从0到255。RF_FREQ_BASE寄存器设置值以100 kHz为单位,即起始频点为RF_FREQ_BASE*100(kHz)。
CH_SPACE确定频点间隔的方式为:
00:间隔为100 kHz;
01:间隔为200 kHz;
10:间隔为400 kHz;
11:间隔为800 kHz。
最终发送或接收的主信道的频点值为:
(RE_FREQ_BASE+CHANNEL1*2CH_SPACE)*
100(kHz)
设置CH_SPACE值,将频点间隔设置为100 kHz,主信道中心频段为433 MHz。
2.3 定义数据包结构
考虑到该模块在数据收发过程中可能会受到外界因素干扰,所以采用单跳数据传输的方式,每个传感节点都有唯一的地址,并对发送节点和接收节点进行地址匹配,进而提高数据传输的实时性和可靠性[10]。
首先,每个无线模块都有一个ID编号,用来标识每个模块的来源地址。无线模块在发送采集数据时会将此ID号写入自定义数据包内,标识该数据的模块来源,无线数据接收模块在每次接收到数据后,单片机都要对发送模块的ID号进行核准和判断,以确定此次通信是自己需要的无线模块发来的。数据包中ID编号的字节长度可以根据实际的模块数量来确定。
3 系统网关单元的设计
3.1 网络通信的程序设计流程
上位机采用C#语言进行设计,包括基本界面显示、数据接收处理和实时监控显示。其中最重要的设计环节为服务器端的异步网络通信程序的编写,其流程图如图4所示。
图4 网络通信设计流程
3.2 OpenWrt系统的部署
系统中网关单元的核心是一种移植了OpenWrt系统的路由器,核心处理器是AR9331。OpenWrt系统是以Linux源码为基础的一个嵌入式系统,其高度模块化,使开发者能够方便地将各种功能移植到该系统下[11-12]。在OpenWrt系统下安装ser2net便可以实现Socket协议与串口协议之间的转换。
OpenWrt系统的开发流程步骤为:
(1)创建Linux交叉编译环境;
(2)创建uboot,编写bootloader;
(3)移植Linux内核;
(4)创建分区,构建rootfs;
(5)安装硬件驱动程序;
(6)安装软件工具包。
3.3 MJPG-streamer的构建
“MJPG-streamer”,是一个轻量级的视频服务器软件,利用某些硬件压缩功能来降低服务器CPU的开销,无需为视频帧压缩浪费大量的计算效率[13-15]。该软件采用了模块化的设计方法,各功能模块都放在plugins文件夹下,这些功能模块称之为插件。用户可以根据自己的需求自由选择需要的模块,这种模块化设计简化了视频服务器软件的移植。插件分为输入插件和输出插件两大类。输入插件主要包括input_uvc、input_testpicture、input_control等,输出插件主要包括output_file、output_http、output_udp、output_viewer等。MJPG-streamer起到了粘合剂的作用,把这些输入输出插件连在一起,几乎所有的功能都由这些插件来实现。
4 系统测试结果
4.1 节点的功耗
传感节点工作在3 V电压下进行测试。节点绝大多数时间处于低功耗模式,工作电流为8 μA,工作时间设为30 s;驱动433M无线模块的电流为50 mA;发射数据时间为90 ms,电流为7 mA。
平均电流的计算公式为:
(1)
根据式(1)可计算节点平均电流:
得到节点的平均功耗为:
P=UI=90.9(μW)
4.2 节点的传输性能
路径损耗和阴影效应会造成无线通信系统接收端的接收功率下降,甚至产生中断。中断率Pout可以表示为:
Pout(Pmin,d)=p(Pr(d) (2) 即通信距离为d时,接收端的接收功率Pr(d)低于最小接收功率值Pmin的概率。 发送节点的传输距离和传输波特率会影响到接收端的P(r),若低于Pmin,丢包率会迅速增加。因此分别在传输距离和波特率一定的情况下,测试系统总的丢包率。 测试传输距离时,波特率固定为1 200 bps;测试传输波特率时,距离固定为无障碍物190 m。 测试结果如表1和表2所示。 表1 节点的传输距离与丢包率的关系 表2 节点的传输波特率与丢包率的关系 信道的路径损耗为发射功率和接收功率比值分贝数: (3) 信号自由空间传播的路径损耗为: (4) 可知接收端的接收功率与通信距离d的平方成反比,但是在200 m内,接收功率P(r)没有低于Pmin,因此丢包率不明显。一旦超过了200 m,P(r) (5) 传输信号的频率固定,即带宽固定。随着传输波特率的增加,信号的平均功率下降,则数据传输的最大速率也下降,因此系统的丢包率增大。 通过上述测试,本设计中单个传感节点的传输距离在200 m以内、波特率采用1 200 bps,就可以实现较为可靠的传输。传感器本身采集数据的数据量较小,因此采用1 200 bps波特率也可以满足系统的传输速率。 文中设计的监测系统灵活性强,布线方便,二次开发容易,通用性强。测试结果表明,系统中的自组网节点功耗较低、节点之间干扰较少、数据收发稳定,可应用于多种复杂的场景。为了进一步提高数据传输的安全性,目前正在研究节点之间数据传输的加密算法。 [1] 邹军华.面向工业设备监控的无线传感器网络系统设计[D].大连:大连理工大学,2012. [2] 李快快,张 东.一种433MHz无线传感器网络的设计与应用[J].信息技术,2014(1):131-134. [3] ZHONG D,JI W,LIU Y,et al.An improved routing algorithm of Zigbee wireless sensor network for smart home system[C]//International conference on automation,robotics and applications.Wellington,New Zealand:[s.n.],2011:346-350. [4] 戴振华,梁小芝.基于无线传感器网络的实验管理系统的设计[J].湖南科技学院学报,2013,34(8):80-83. [5] SANDEEPK S,ANGADI S.Evolution of wireless micro sensors and their applications[J].International Journal of Engineering Trends & Technology,2013,4(5):28-37. [6] SHAN Q,BROWN D,LIU Y.Wireless temperature sensor network for refrigerated vehicles[C]//International symposium on industrial electronics.[s.l.]:IEEE,2005:1209-1214. [7] 孙瑞瑞.低功耗嵌入式数据采集系统的设计与实现[D].济南:齐鲁工业大学,2015. [8] 潘绍明,罗功坤,劳有兰.基于无线传感器网络的RFID系统[J].仪表技术与传感器,2012(6):86-87. [9] 乔玉伟.基于无线传感器网络的路由协议的研究[D].合肥:合肥工业大学,2009. [10] 裴 勇.面向机械振动同步采集的无线传感器网络协议栈设计[D].重庆:重庆大学,2013. [11] 陈 彬.基于OpenWrt的家庭网关管理系统的设计及实现[D].南京:南京大学,2014. [12] 滕泓虬.基于OpenWrt的移动机器人系统设计[J].单片机与嵌入式系统应用,2012,12(1):50-52. [13] 陈恒鑫.基于ARM11的移动视频监控系统的设计与实现[D].哈尔滨:哈尔滨工业大学,2014. [14] 陈书益,黄永慧.开源视频服务器软件MJPG-streamer的研究和应用[J].电子设计工程,2012,20(5):172-176. [15] 赵 冰,霍春宝,李岩松.基于嵌入式Linux的3G无线视频监控系统[J].单片机与嵌入式系统应用,2013,13(3):56-58. DesignofWirelessMonitoringSysteminComplexScene GAO Shao-teng1,CAO Zi-ping1,ZHANG Jin-ya1,WANG Yan2 (1.School of Telecommunications and Information Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210003,China;2.Troop 73685 of PLA,Nanjing 210000,China) Aiming at the high demand of the monitoring equipment in the complex scene,an universal wireless monitoring system is designed.Each sensor node in the wireless monitoring system completes the transmitting and receiving of data through 433 MHz ISM band radio frequency,and a point-to-multipoint ad hoc network method is used among these nodes.First of all,data in the transceiver node controlled by SCM (Single Chip Micyoco) with the Cortex-M3 microcontroller as its core is transmitted to the gateway embedded OpenWrt open-source system.Then,the interconversion between serial data and Socket data is carried out in the gateway.Finally,the collected data is ultimately transmitted to PC terminal for monitoring and reverse control by WIFI technology.In addition,the video capture is actualized in the MJPG-streamer framework,an open source video server software.The client software written by C#,in addition to simple interface display,is mainly for network communication,data processing,reverse control and monitoring interface display.Therefore,the system has better functions of monitoring and human-computer interaction,with low-power consumption,strong portability and high practicability,which can realize the multi-point monitoring. wireless transmission;ad hoc network;multi-point monitoring;gateway;video capture TP302 A 1673-629X(2017)12-0193-04 10.3969/j.issn.1673-629X.2017.12.041 2017-01-16 2017-05-19 < class="emphasis_bold">网络出版时间 时间:2017-09-27 教育部新世纪优秀人才支持计划(NCET-13-0871);国家自然科学基金面上项目(61372044);江苏省高校自然科学研究重大项目(14KJA510002) 高绍腾(1990-),男,硕士研究生,研究方向为能量采集和嵌入式技术;曹自平,博士生导师,研究方向为能量自维护的物联网及绿色无线传感网技术。 http://kns.cnki.net/kcms/detail/61.1450.TP.20170927.0958.060.html5 结束语