基于ZigBee 的测距系统实验设计

2021-12-13 07:31陈旻哲邬洪波徐静雅谢雨婷熊诚
科学技术创新 2021年33期
关键词:测距基站标签

陈旻哲 邬洪波 徐静雅 谢雨婷 熊诚

(1、武汉大学电子信息学院,湖北武汉 430072 2、华为技术有限公司武汉研究所,湖北武汉 430074 3、武汉大学信息中心,湖北武汉 430072 4、华中师范大学信息化办公室,湖北武汉 430079)

随着物联网、无线传感器网络等技术的逐步发展,越来越多的工程实际问题都需要运用到相关知识。从近年来电子信息类学科竞赛也可以看出,不仅是相关技术更频繁地出现在赛题之中,而且物联网类大赛也越来越受到师生的重视。因此,在新工科教育的背景下,十分必要在实验教学过程中加强相关技术的实践训练,与时俱进地提高学生的工程实践能力[1-3]。本文设计了一个基于ZigBee 的测距系统实验项目,该实验项目涉及到ZigBee 网络节点的硬件制作、节点间基于ZigBee 的测距通信交互设计、节点的嵌入式软件实现、PC 端上位机实现等知识技能,是一个综合设计型的实验项目,既能锻炼学生的物联网系统设计与实现能力,也能提升学生的创新实践能力。

1 系统架构

本实验项目的系统框架如图1 所示。系统由基于ZigBee 的无线传感器网络和PC 端距离计算平台组成。无线传感器网络节点分为基站、移动标签和锚节点三种角色,三者的硬件电路相同,通过加载不同的程序实现不同的功能。基站首先创建一个基于ZigBee 的无线网络,移动标签和锚节点加入该网络后会各被分配一个用于网络内部通信的短地址。移动标签主动向锚节点发起测距,并根据信号发送和接收时刻计算出信号在两节点间的飞行时间(TOF,Time of Flight),然后将TOF 发送给基站,基站通过串口将TOF 发送给距离计算平台。距离计算平台利用TOF 测量值计算出节点间的距离,并实时刷新显示测距结果。

图1 系统框架示意图

2 节点硬件设计

本设计选用JN5168-001-M03 模块进行节点的硬件电路设计,该模块内部是超低功耗的高性能无线微控制器JN5168。JN5168 自带了用于TOF 测距的飞行时间引擎,通过较为简单的配置和调用,即可实现两个节点之间的距离测量。节点的硬件结构框图如图2 所示。

图2 节点硬件框图

为了方便节点的携带和部署,节点采用电池供电和USB 供电两种供电方式,不同角色的节点可自由选择合适的供电方式。采用FT232RL 芯片实现JN5168 微控制器与PC 端的串口通信以及程序下载。在FT_Prog 软件中修改FT232RL 的EEPROM,将CBUS2 和CBUS3 引脚的功能变成I/O MODE,将JN5168 的RESETN 和SPIMISO 引脚分别接到FT232RL 的CBUS2 和CBUS3 引脚上,RESETN 引脚同时连接一个复位电路,复位信号与MISO 信号协作能够使得JN5168 能够进入编程模式,然后PC 端就可以通过Flash Progtammer 对JN5168 进行程序下载。此外,设计了LED 和按键方便学生实验交互。节点的电路实现采用转接板和底板结合的模式。在转接板上将JN5168-001-M03 模块可能被用于其他功能的引脚都引到底板上,为学生实验的扩展设计提供了硬件基础,同时转接板的可插拔特性使得JN5168-001-M03 模块的课堂重复利用率更高,节约实验耗材资源。学生需要在万用板上实现底板电路,能够锻炼学生的电子制作和电路实现能力。

3 软件程序设计

3.1 嵌入式程序设计

嵌入式端的程序设计按设备角色分为三部分[4]。如图3(a)所示,基站负责创建ZigBee 网络和向PC 端转发距离测量结果。如图3(b)和3(c)所示,标签节点和锚节点加入网络并获得16位短地址之后,即可开始测距。图3(b)和3(c)中给出的参考测距方案是标签节点主动向锚节点发送测距请求,锚节点接收到测距请求后与标签节点完成测距交互,标签节点负责将其与锚节点之间的信号飞行时间测量值转换成距离测量值,并将距离测量结果发送给基站。学生在实验过程中可以参考图3 中的测距方案设计嵌入式端的程序,也可以从效率和稳定性的角度出发设计其他测距方案。其中具体的基于TOF 的测距算法,学生可以选用双程测距(Two Way Ranging, TWR)算法、对称双边双程测距(Symmetric Double-Sided Two Way Ranging, SDS-TWR)算法、单边非对称双程测距(Single-Sided Asymmetric Two Way Ranging, SSA-TWR)算法[5-6]或者创新性地提出某种优化算法,并且在本系统中实现并测试该优化算法的性能。

图3 嵌入式端主程序流程图

3.2 距离计算平台程序设计

PC 端的距离计算平台的主程序流程图如图4 所示。距离计算平台通过串口成功接收来自基站的数据帧后,根据协议解析数据帧,并存储原始的TOF 测量值,然后将TOF 测量值转换成距离测量值。学生在搭建起了基于ZigBee 的测距系统的硬件平台和软件平台之后,即可制定测试方案初步测试系统的测距性能,在实验测试中得到大量的测距数据,通过对这些数据进行整理和分析,选用滤波、曲线拟合等算法[7-8]对原始距离测量结果进行处理,最终将能够有效减小测距误差的算法反过来运用到距离计算平台中,使得最终实时刷新显示在UI 上的测距结果更加准确。

图4 PC 端距离计算平台的主程序流程图

4 系统方案测试

为测试本实验系统方案的可行性,在实验室外的长走廊上进行了测距实验。采用定点测距的方式,将锚节点的位置固定,用市面上的标准卷尺标定出与锚节点相距5m、10m、15m、20m、25m、30m 的位置点,依次在这些位置点放置标签节点,每个距离点测试200 次。将每个位置点的200 次距离测量结果求平均值,统计在表1 中,可以看出,本实验设计方案能够实现基于ZigBee 的测距功能,且测距绝对误差能够小于3m。

表1 定点测距结果统计表(m)

5 结论

本文设计了基于ZigBee 的测距系统实验项目。该实验项目涵盖了硬件制作、软件编程、实验测试、结果分析等任务要求,通过一整套较为完整的物联网系统设计与实现流程提高学生的综合实践能力和解决实际复杂工程问题的能力,适用于物联网、无线传感器网络、电子系统综合设计等实验课程。多样的测距方案、测距算法和误差修正算法,学生可以查找资料研究和探索各方案和算法的特点,灵活地选择系统的设计方案,为培养学生的自主学习能力和创新实践能力提供了很好的平台。

猜你喜欢
测距基站标签
基于RSSI测距的最大似然估计的节点定位算法
基于NETMAX的基站网络优化
5G基站辐射对人体有害?
基于STM32的多通道超声波测距系统设计
5G基站辐射对人体有害?
基于单片机的超声波测距导盲杖设计
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
可恶的“伪基站”
让衣柜摆脱“杂乱无章”的标签