基于ZigBee技术的儿童追踪器的设计与实现

2021-07-19 23:49刘如冰鲁久玲王莉廖文昭吴望龙
电脑知识与技术 2021年13期
关键词:低功耗定位

刘如冰 鲁久玲 王莉 廖文昭 吴望龙

摘要:ZigBee技术是一种用于无线设备之间的,借助无线通信协议来实现短距离无线数据的接收和发送的通信方式。随着我国人民的生活水平逐步提高,社会越来越关注和重视有关儿童安全的问题。本文设计了一种基于ZigBee技术的儿童追踪器,它采用GPS定位技术和ZigBee无线通信技术,以达到在PC机上对儿童定位实时追踪的功能。在本系统的数据采集节点中,ZigBee终端拓展的定位模块用于对儿童所在位置进行定位数据的采集,并借助传输节点发送定位信息到PC端的上位机进行实时显示。与传统的系统相比,该系统具有低功耗、电路简单等特点。

关键词:儿童追踪器;ZigBee;定位;低功耗

中图分类号:TN919        文献标识码:A

文章编号:1009-3044(2021)13-0231-04

1引言

随着时代的发展,市面上运用的通信方式大多是有线通信方式,但是有线通信方式价格昂贵,且不利于儿童追踪,故本文采用无线通信的方式,无线通信的方式不用考虑地理环境对信息传输的影响,可以随时实现定位数据的采集。目前运用最多的无线通信技术有:ZigBee、Wi-Fi和蓝牙技术等。而本文采用了GPS定位模块和ZigBee无线通信技术。该设计相比传统的有线通信方式,它具有简单和便携的优势,且ZigBee技术的发展前景广泛,在短距离低功耗信息传输方面的运用已趋于主流。

2总体方案设计

设计系统总体结构方框图如图1所示。

系统采用了9V电池供电,ASM1117-3.3稳压,为数据采集节点供电,使用ZigBee组建的无线传感网络实现数据的无线发送与接收,使用了以CC2530芯片为核心板的ZigBee终端模块和ZigBee协调器模块,还使用了ATGM336H-5N定位模块,该定位模块可以选用北斗+GPS定位双模模式对ZigBee终端进行定位。

2.1电源模块电路设计

电源模块由电池、电池盒、稳压器组成,本文中选择的数据采集节点所需的电压是3.3V的电压,因此可以选择9V的电池和与此配套的电池盒,稳压器选择市面上常用的电压转换模块,该模块的核心芯片为ASM1117-3.3,通过ASM1117-3.3将9V电压转换成3.3V电压,以供电给采集节点。PC端就采用民用220V电压供电。表1为电压转换模块引脚描述。

2.2 ZigBee终端模块设计

本文中,ZigBee终端的作用是连接定位模块并加入由ZigBee协调器组建的组网中以进行无线通信,该模块的核心是CC2530芯片,其P0、P1、P2组引脚有通用IO口的作用,其中P2口只有5个IO口。在ZigBee终端模块中,核心板CC2530的P0_2和P0_3引脚被设置为RX和TX功能,分别用杜邦线连接定位模块的TX和RX端口,VCC和GND引脚为电源接入端口和信号地端口,分别用杜邦线接电源的电压输出端口和电源的信号地。表2为ZigBee终端模块与电源模块的接口说明。

2.3 定位模块电路设计

本文的定位模块用的是GPS+北斗定位系统,GPS+北斗定位模块采用的是ATGM336H-5N双模定位模块。该模块电路用于对随身携带ZigBee终端模块的儿童进行定位,该模块引脚描述如表3所示,定位模块的TX口连接ZigBee模块的RX端口,定位模块的RX端口连接ZigBee模块的TX端口。

2.4 ZigBee协调器设计

ZigBee协调器的作用是组建和维护无线传输网络,并接收ZigBee终端发送的数据,将数据进行处理后发送给上位机[1],其通信方式是串行通信,该模块与ZigBee终端模块电路大致相同,都是以CC2530芯片为核心,但在本文中ZigBee协调器模块通过数据线直接与电脑相连,以实现数据交互和为ZigBee协调器模块供电。

3 软件设计

本文是基于ZigBee技术的儿童追踪器的设计,其软件部分是ZigBee的程序编写,需在IAR编译环境下,利用Z-stack协议栈,用C语言采取模块化的方法编写程序,即将本文的软件部分,分解成几个简单的功能模块,然后对这些简单的模块进行程序的编写,然后再将这些编写好的简单模块组装成本文所需的系统。所有编写好的软件程序都要在IAR开发环境中编译通过。其中ZigBee协调器以及ZigBee终端的功能可以借助ZigBee的协议栈编程实现,协议栈是ZigBee供应商将各层网络协议以函数的形式整合而成的集合,用户只需对协议栈的应用层进行编程就可以完成ZigBee终端和协调器的功能。

3.1 Z-stack协议栈工作

Z-stack协议栈的工作流程如图2所示。在本文中,需要借助协议栈完成对ZigBee协调器和ZigBee终端功能的设置,然后在协议栈的应用层分别对ZigBee协调器和ZigBee终端所需完成的功能进行程序编写。对于每个Z-stack协议栈来讲,Z-stack协议栈由主函数main()函数开始执行,而在main()函数中协议栈只做了两件事,其中之一是系统初始化,另一件是开始执行轮训查询式操作系统。系统初始化除了协议栈自带的各种初始化,用户可根据自身应用的情况添加初始化函数。执行轮训查询式操作系统的目的是:按照优先级处理各个事件,防止优先级错乱以及漏掉未处理的事件,且当程序运行至执行操作系统时,一旦进入执行操作系统函数,程序将不会再返回主函数main()。

3.2 ZigBee协调器模块

ZigBee无线传感网络中的设备类型有协调器:协调器有组建网络的功能,且ZigBee无线传感网络中有且仅有一个协调器;还有路由器和终端这两种类型。协调器组建网络的功能只体现在网络建立阶段,当网络组建完成,协调器功能便如路由器一般。设备类型由协议栈中f8wCoord.cfg定义,具体操作是在IAR編译环境的workspace下选择不同功能的选项卡,如:coordinatorEB、EndDeviceEB、EndDeviceEB-Pro等选项卡。

在本文中,ZigBee协调器的功能除了建立网络,还有接收ZigBee终端发送出的定位信息,当有ZigBee终端成功入网后,协调器会通过无线网络接收终端发来的定位信息[2],并将该定位信息放入定位信息解析函数中,当定位信息解析完成后将解析完成的数据通过串口发送给上位机。图3为ZigBee协调器程序流程图。

3.3 ZigBee终端程序

本文中终端的作用是采集定位模块的定位信息,以及将采集到的定位信息发送给ZigBee协调器,总而言之,终端节点主要负责定位信息的采集和发送[3]。ZigBee终端的具体工作流程为:ZigBee终端初始化并加入网络后,开始等待对定位模块配置的事件发生,事件发生后对定位模块进行配置,配置完成后ZigBee终端开始采集数据,并将采集的数据发送给协调器。图4为ZigBee终端程序的流程图。

3.4 定位信息解析函数

本文中定位模块输出的是最简定位信息,最简定位信息中包含有维度、维度方向、经度、经度方向等信息,这些信息都以逗号隔开。在最简定位信息中对本文有用的数据是:经纬度以及维度方向和经度方向,因此解析函数的作用是解析出经纬度、维度方向和经度方向。

以定位模式为双模为例,最简定位信息以$GNRMC即消息ID开头,因此解析函数首先判断接收的数据是否以GNRMC开头。在以GNRMC开头的条件下,本文所需的纬度数据在最简定位信息的第三个逗号和第四个逗号之间,纬度方向在第四个逗号和第五个逗号之间,经度数据在第五个逗号和第六个逗号之间,经度方向在第六个逗号和第七个逗号之间;因此,解析出所需的数据可以用查找逗号位置的方式,以GNRMC为基准找到相应的逗号位置,提取出信息;经纬度信息提取出后通过运算将数据换算成所需的格式,以方便定位。图5为定位信息解析函数流程图。

4 系统仿真与调试

4.1 软件环境

本文完成的是基于ZigBee技术的儿童追踪器的设计,其中软件部分主要是ZigBee程序。因此为了检验完整的系统功能,需对上述软件部分进行调试。软件调试是在IAR编译环境下完成的。

4.2 硬件连接

在数据采集节点即ZigBee终端模块及定位模块中,ZigBee终端模块需要接入天线,并且按照硬件电路的要求,定位模块的输入输出端口与ZigBee终端的对应引脚相连;ZigBee终端模块和定位模块的电源和地与电源电路的电源和地相连;两者的连接方法都是采用杜邦线连接两个模块,因为终端和定位模块的通信方式是串口通信,因此需将两个模块的地相连接,使串口通信时稳定。在传输节点即ZigBee协调器中,ZigBee协调器使用USB数据线与电脑USB口相连,用以ZigBee协调器将数据传输给上位机。

4.3 系统调试

4.3.1不同定位模式在室内外测试结果的分析及对比

在系统调试的过程中,分别测试了在GPS定位模式、BD定位模式以及在GPS+BD定位模式下的定位情况,并在室内和室外分别进行了定位,在这种情况下定位的对比结果如表4所示。当定位模块位于室内时,由于建筑物的遮挡,定位模块无法定位,只有增强定位模块接收信号的能力以及将定位模块放置遮挡物较少的地方时,才能在室内接收到定位信息,但是此时的状态与在室外定位没有什么差别。当定位模块位于室外定位时,分别采用三种不同的模式进行定位,然后在同一地点定位10次,比较定位信息以及定位时间的均值,由于室内无法获取定位信息,故下表中的定位时间为室外定位时间,可以发现三种模式下获取的定位信息差距不大,在地图上搜索三种模式下的经纬度,其中GPS+BD模式的定位最精准,且GPS+BD定位模式定位相对更快。

4.3.2不同定位模式在晴雨天测试结果的分析及对比

用三种不同的定位模式分别在晴天和雨天进行实验晴天和雨天时分别在同一地点定位10次,实验结果如表5所示,其中定位时间为10次定位时间的均值。根据表格可以看出晴雨天对定位模块的影响不大,也就是说只要天气不是在极端的变化的情况下,定位模块受天气的影响较小。且三种模式下得到的定位信息都比较准确,其中在晴天时GPS定位模式下的定位信息最为准确。

4.3.3无线传输距离与定位信息关系的对比及分析

将zigbee终端按照1米为单位进行移动,远离zigbee协调器,获取定位信息,并绘制出折线图,如图6所示。根据前面所做实验以及测试时情况的分析,本文所用定位模块的三种定位模式获取的定位信息差距不大,故在无线传输距离与定位信息关系的对比中选用BD+GPS定位模式进行数据的采集和分析。由图6可知,两个zigbee之间的最大传输距离为15米,当传输距离超过15米后,协调器将接收不到终端发送的无线数据,且在15米的传输范围内,经纬度变化量较小,定位信息反应的具体位置总保持在一个较小范围内。

5总结

本文设计了基于ZigBee技术的儿童追踪器的系统,实现了对儿童实时定位的功能。本文采用了基于zigbee技术的CC2530芯片,不仅降低了功率消耗,提高了追踪效率和追踪能力,方便程序的修改和编写,为扩展功能的实现提供了软件上的保证。

参考文献:

[1] 韩培培,姬五胜,张泉斌,等.基于ZigBee和RFID技术的特高频读写系统[J].天津职业技术师范大学学报,2018(1):6-11,16.

[2] Elgenaidi W,Newe T,O'Connell E,etal.Reconfiguration of neighbouring nodes in coastal monitoring wireless sensor networks based on leader node recommendation[C]//2017 4th International Conference on Control,Decision and Information Technologies (CoDIT).April5-7,2017,Barcelona,Spain.IEEE,2017:0348-0352.

[3] 张玉宾.基于ZigBee无线传感器网络的工业污水监测系统的设计[J].电子技术,2014,43(7):59-62.

[4] 李九生,徐胜.基于ZigBee技术在森林火灾监测系统中的应用设计[J].电子制作,2020(2):5-7.

[5] 胡凯波,许林波,夏志凌.基于ZigBee技术高压开关柜温度在线监测系统研究[J].自动化与仪表,2020,35(2):100-103,108.

[6] Gaikwad S,Patil R,Khandare A,etal.Design WSN node for protection of forest trees against poaching based on ZigBee[C]//2015 IEEE International Conference on Electronics,Computing and Communication Technologies (CONECCT).July10-11,2015,Bangalore,India.IEEE,2015:1-4.

【通聯编辑:梁书】

猜你喜欢
低功耗定位
一种高速低功耗比较器设计
《导航定位与授时》征稿简则
Smartrail4.0定位和控制
找准定位 砥砺前行
青年择业要有准确定位
ADI推出三款超低功耗多通道ADC
IDT针对下一代无线通信推出低功耗IQ调制器
低功耗加权cache替换策略