ZigBee无线传感器网络教学实验平台开发
扫描二维码
随时随地手机看文章
引言
无线传感器网络(WirelessSensorNetwork,WSN)是由大量微型智能传感器节点以无线多跳方式形成的自组织网络,在军事、工业、农业、医疗、交通、环境监测、智能家居等诸多领域有着广阔的应用前景近几年,随着物联网概念的兴起,特别是我国高校开设物联网专业以来,作为物联网重要支撑技术的WSN进一步成为研究、应用的热点。
ZigBee是建立在IEEE802.15.4协议规范基础之上的新兴无线网络技术,与Bluetooth、Wi-Fi等相关技术相比,ZigBee更适合低速WSN中对成本、安全性、动态组网和功耗有特殊要求的节点之间的无线互连。ZigBee增强版ZigBeePRO于2007年发布,已有多家知名半导体厂商为其提供芯片、协议栈和开发环境支持。
针对电子科技大学中山学院学生实践教学和创新训练需要,设计了一套基于ZigBee的WSN实验平台。平台中传感器终端、路由器、协调器三类节点设备均以JN5148无线微控制器为核心,硬件采用模块化结构。利用该平台开展多层次、案例化教学和项目设计训练,可使学生较快掌握ZigBee无线传感器网络相关技术要点,有效提高无线传感器网络应用开发能力。
1实验平台的组成与功能
实验平台由运行ZigBeeCenter软件的上位机以及协调器、路由器、传感器终端等ZigBee节点设备组成[9-11]。首先由协调器建立网络并接受各路由器和传感器终端的加入,其后,传感器终端按要求定时采集现场参数并通过多个路由器组成的网状网汇聚至协调器,协调器再将其传给上位机,利用ZigBeeCenter软件对数据进行分类存储、处理和显示。此外,上位机还通过协调器对网络动态拓扑结构和节点健康状况进行监控。图1所示为该平台构建的ZigBeeWSN示意图。
为提高实验平台的设备通用性,釆取了模块式硬件结构。主控板硬件可完全满足协调器、路由器的运行需求,传感器终端则由不同功能的传感器板通过扩展口与主控板连接而成。
图1 ZigBeeWSN示意图
2设备硬件结构
2.1主控板
主控板由JN5148无线微控制器、SST25VF040串行Flash存储器、FT232RL串口芯片、基本人机界面和扩展插座组成,其硬件结构如图2所示。
JN5148是NXPJennic公司推出的第三代32位无线微控制器,片内集成了32位RISCCPU、2.4GHzIEEE802.15.4射频收发器以及128KBROM、128KBRAM、5路SPI口、2个异步串口、与I2C/SMbus兼容的两线串口、21路并口、3个应用定时/计数器、3个系统定时器、4路12位ADC、2路12位DAC、2个模拟比较器、1个数字音频接口以及看门狗等资源。用户设计的IEEE802.15.4/ZigBee应用程序代码存于外部串行Flash存储器,系统复位后由ROM中的BootLoader加载到内部RAM运行。
FT232RL芯片实现JN5148异步串口0与上位机USB口的适配连接,该连接可用于代码下载、数据上传和主控板供电,除USB口外,主控板也支持电池和稳压电源供电。
本系统的基本人机界面包括2个LED、2个按键和1个无源蜂鸣器,可用于主控板状态提示和模式设置。两个20针插座J1、J2为各种传感器终端提供外部扩展支持,除21路并口和标准SPI口外,扩展信号中还包含4路ADC、2路DAC以及JN5148复位信号。
2.2传感器板
传感器板有多种不同类型,以 S01 传感器板为例,其电路结构如图 3 所示。
图3中,AT24C01A为I2C接口的1Kb串行E2PROM存储器,用于存储传感器板的设备ID,设备ID由16位类型码和32位序列码组成。JN5148的DIO14、DIO15为I2C总线复用口,可与AT24C01A的SCL、SDA直接连接。DHT11为低成本单总线温湿度传感器模块,温度测量范围0~50℃,分辨率为1℃,精度为±2℃;湿度测量范围20%~90%RH,分辨率为1%RH,精度为±5%RH。PIR为热释电红外感应模块,采用高、低电平输出,100°视角范围内有效作用距离5~7m。CMOS摄像头模块C328内置OV7640图像传感器和OV528处理器,可在外部命令控制下实时完成图像采集、JPEG压缩、串行输出等操作。C328采用与RS232兼容的数据传输格式,波特率最高为115.2Kb/s。其信号电平为3.3V,故可直接与JN5148的串口1相连接。红外LED实际有6只,用于低光照条件下的补光照明,JN5148通过DIO18对其进行亮度控制。光照传感器采用5516型光敏电阻,其亮电阻为5~10kΩ,暗电阻为500kΩ,通过下拉电阻分压后输出随照度变化的模拟电压,由JN5148进行A/D转换。干簧管KM用作门磁开关,在上拉电阻配合下输出高、低电平,指示房门的开关状态。
3软件设计
该硬件平台所支持的实验分为三个层次,即JN5148接口实验、数据采集综合实验和WSN设计实验。前两个层次不涉及无线通信,借助NXPJennic公司提供的IntegratedPeripheralsAPI函数,即可实现对JN5148片上接口以及板载人机界面设备、执行设备、传感器的驱动与控制。
WSN设计实验的任务是利用NXPJennic公司提供的JenOS操作系统和IEEE802.15.4/ZigBeePRO协议栈API函数,分别设计传感器终端、路由器、协调器控制程序,实现传感器数据的分布式采集、无线路由传输和汇聚处理。协调器和路由器程序相对简单。用户程序主要完成设备、操作系统、网络的初始化和运行状态指示,以及协调器与上位机之间的串行通信。
传感器终端的程序相对复杂一些。完成系统初始化并成功加入网络后,传感器终端按上位机设定的时间间隔定时采样传感器输出,拼装为APDU数据帧,再通过ZPS_eAplAfUnicastDataReq函数发送出去。为降低平均电流,传感器终端绝大部分时间处于SLEEP状态。只有当WakeTimer溢出,或有DIO中断发生(如热释电传感器检测到非法入侵)时,传感器终端才被唤醒,向父节点查询有无收到协调器发来的上位机控制指令,并在满足采样条件时,执行数据采集、拼装和发送等操作,之后,再次进入SLEEP状态。传感器终端的工作流程如图4所示。
图4 传感器终端软件流程图
ZigBeePRO设备开发工具包括Eclipse集成环境、JN51xxC语言编译器、JN51xxFlash编程器、JTAG调试服务器以及ZPS和JenOS配置器。
上位机软件ZigBeeCenter利用C++Builder开发,采用串口事件驱动的程序结构,图5所示为ZigBeeCenter运行界面。
4教学应用
电子科技大学中山学院先后在电子竞赛培训、开放性实验等环节,利用该实验平台和配套实验教程开展ZigBeeWSN实践教学。入门阶段主要通过8个基础性、综合性实验,使学生掌握JN5148片上接口和外部设备的程序控制方法。提高阶段,先介绍IEEE802.15.4/ZigBeePRO、WSN基本原理,再通过2个典型案例讲解ZigBeeWSN系统组成、节点工作流程及程序实现方法,接下来要求学生对设计进行完善,增加更多功能。研究阶段,要求学生3人一组,用3周时间完成一项自拟课题设计。
图5 ZigBeeCenter软件运行界面
由于实验平台软硬件支持性好,参考资料丰富,所以学生的学习热情和工作效率都很高,在较短的时间内,不但掌握了ZigBeePRO、WSN的技术要点,还在老师指导下开发了有源RFID、移动目标定位、家居安防、可视对讲、电子导游、自动点餐、病患护理等实用系统,其中有些设计还在广东省大学生电子竞赛、全国高校电子信息创新作品评选等活动中获奖。
5结语
本文所设计的ZigBeeWSN实验平台具有较强的技术综合性和体系开放性,适合开展单片机接口、过程控制、无线通信、ZigBee网络、WSN等方面的层次化、创新性教学与实验,能够有效调动学生兴趣,培养应用设计能力,提高工程素质,拓展知识面,更好地服务于物联网应用人才培养目标。
20211021_6171206adf6ae__ZigBee无线传感器网络教学实验平台开发1