尹世通, 包伟华,2
(1.上海电力学院 自动化工程学院, 上海 200090;
2.上海自动化仪表有限公司 技术中心, 上海 200072)
基于ZigBee和蓝牙的无线视力测试系统设计
尹世通1, 包伟华1,2
(1.上海电力学院 自动化工程学院, 上海200090;
2.上海自动化仪表有限公司 技术中心, 上海200072)
摘要:提出了一种基于ZigBee和蓝牙技术的无线视力测试系统方案.介绍了该方案中显示、无线通信、CPU和电源相应模块的硬件设计原理,描述了该方案中手机应用、主程序、Zigbee网络和PC机后台监控的软件设计流程.该系统利用蓝牙实现了测试数据的无线输入,利用ZigBee网络实现了测试成绩的无线传输,利用PC机后台软件对测试数据进行存储和分析.
关键词:蓝牙; ZigBee技术; 无线网络; 视力测试
近年来,我国青少年近视率居高不下,并随着学历的提高而呈现上升的态势.其中,初中生近视发病率已超过30%,高中生近视发病率已超过70%,青少年近视的防治越来越得到了学生、家长及社会的关注.视力测试是医学上反映视力状况的重要手段.传统的视力测试方法主要是使用视力表进行测试,需要检查者参与,但测试者容易受到光线和指示棒的干扰,使得视力测试质量下降.
目前,市场上使用的视力测试装置主要有两种:一种是人工灯光定位测试装置,它用背投灯光定位代替长棒点击,在一定程度上减轻了检查者的劳动强度,但检查过程相当繁琐,检查者既要扳动定位灯开关给出测试信号点,又要观察测试者的判断正确与否,进而给出下一步测试的等级和方位.另一种是验光仪,它利用光学原理测量眼球曲轴半径而测知视力等级,具有精度高、速度快、无需测试者参与判断的优点,不过其价格昂贵,无法大量普及.
随着无线通信技术、网络技术、嵌入式计算机技术以及智能传感器技术的发展,无线传感器网络已成为近年来国内外的热门研究领域.[1]本文结合当今无线传感器网络的发展,提出了一种基于ZigBee和蓝牙的无线视力测试系统设计方案.该方案仅需测试者一人参与即可完成整个测试,并且能够与历史数据对比,进而了解测试者视力是否下降.
该方案采用微处理器自动判断,无需检查者参与,实现了视力的自动测试,节约了测试成本,消除了人为测试误差,提高了测试质量.
1无线网络技术
近年来,微电子、无线通讯和数字电子方面取得的巨大成就,使得低成本、低功耗、小体积、短通信距离的无线传感器网络得到了快速发展.无线传感器网络应用潜力巨大,可以应用于工业控制、城市交通、 空间探索、家庭自动化、医疗护理、智能农业、消费类电子和远程控制等领域.随着物联网的发展,短距离无线通信技术越来越多地被应用于人们的日常生活中.在2.4 GHz ISM频段上,各种技术的互补优势渐渐凸显出来,出现了多种技术的融合使用,这些对于物联网的发展是极为重要的.
ZigBee技术是一种新兴的、针对低速率通信网络而设计的短距离无线通信技术.ZigBee 2007协议在参考了OSI参考模型的基础上,结合无线网络的特点,采用分层思想实现,其中物理层和介质访问控制层由IEEE802.15.4定义,应用层和网络层由ZigBee联盟定义.
ZigBee以低成本、低功耗的终端设备和大容量、快速、便捷的组网方式来实现数据的实时采集和无线发送,其可以与各类传感器相结合,具有广阔的应用前景.ZigBee节点在不工作时,处于休眠状态,能够大大节省电池电量.从网络结构上看,ZigBee网络有星形、树形、网状3种模式,按照网络节点功能可划分为终端节点(ep)、路由器节点(rp)和协调器节点(cp)3种.[2]它的物理网络构成如图1所示.
图1 Zigbee网络的物理构成
本文设计的测试系统Zigbee网络结构采用星形,由协调器节点和终端节点构成整个网络,在星形网络中,一个协调器节点最多可带255个终端节点,因此在理论上,本系统可以支持255个人同时进行测试.
蓝牙是一个用于短距离无线数据和语音通信的开放性的全球规范,它可以在较小的范围内通过无线连接的方式实现固定设备与移动设备之间的网络互连.终端设备和移动设备只要相隔10 m之内,不管在任何地方都可以进行通信,对通信的方位性要求较低.[3]
蓝牙采用FHSS并将2.4 GHz ISM频段划分成79个1 MHz的信道,蓝牙设备以伪随机码方式在这79个信道间每秒钟跳1 600次.ZigBee系统是非跳频系统,蓝牙在79次通信中才有1次会和ZigBee的通信频率产生重叠,且会迅速跳至另一个频率,因此在大多数情况下,蓝牙不会对ZigBee产生严重威胁,而ZigBee对蓝牙系统的影响也可以忽略不计.[4]
2系统构成
无线视力测试系统由手机应用软件、ZigBee网络节点、Zigbee网络协调器和PC机后台软件构成,系统结构如图2所示.
按照视力测试要求,测试人员在距离ZigBee网络节点一定距离处,通过手机应用软件输入测试数据,利用蓝牙将数据发送给ZigBee网络节点.ZigBee网络节点通过判断其接收到的数据与显示模块显示的信息是否一致来计算出测试人员的视力成绩,并在显示模块上显示,最后将测试人员的信息和成绩打包,通过ZigBee网络发送给ZigBee网络协调器.
ZigBee网络协调器将接收到的数据通过RS232总线转发给PC机,PC机后台软件将接收到的数据存入视力测试数据库.
图2 视力测试系统总体结构示意
3硬件设计
无线视力测试系统的硬件设计主要包括ZigBee网络节点和ZigBee网络协调器.其中,ZigBee网络节点由蓝牙模块、ZigBee终端模块、显示模块、CPU模块和电源模块5部分组成,Zigbee网络节点体系结构如图3所示.
图3 Zigbee网络节点结构示意
显示模块用于显示测试视力的图片,其与CPU模块相连,CPU模块控制图片的切换和文本显示.显示模块采用市面上成熟的7寸TFT串口屏产品.串口屏模块支持16位真彩色RGB显示,内置标准8×16,12×24,16×32,32×64 ASCII字库,16×16 GB和24×24 GB 312字库;支持BMP,JPEG,WMF,PNG,GIF等格式的图片下载;支持任意位置文本和光标显示;支持255级背光调试模式;支持设置不同波特率.
串口屏的开发主要有以下3个步骤:
(1) 将测试视力所需的图片设计好;
(2) 利用串口屏配套的上位机软件对设计好的图片进行界面排版,编译无误后,通过UART将整个工程的图片下载到串口屏内部存储器中;
(3) 串口屏通过UART接收CPU模块发送来的命令,进行画面切换和文本显示.
蓝牙模块用于实现ZigBee网络节点与手机应用软件的通信,其与CPU模块相连,将通过蓝牙接收到的数据转发给CPU模块.蓝牙模块采用HC-08模块,它是新一代的基于蓝牙4.0协议的数据传输模块,可以在短距离范围内实现无线串口通信.该模块采用美国德州仪器公司推出的无线射频芯片CC2540,无线工作频段为2.4 GHz ISM,配置256 kB空间,支持AT指令,可根据需要更改角色(主、从模式)以及串口波特率、设备名称、配对密码、发射功率等参数,使用灵活,可以满足本设计的需求.
ZigBee终端模块和网络协调器可用于搭建ZigBee网络,均采用美国德州仪器公司推出的CC2530芯片来实现.CC2530 是一个真正的片上系统(SoC) 解决方案,支持IEEE802.15.4标准,能够以非常低的材料成本建立强大的网络节点,它结合了领先的RF收发器的优良性能和业界标准的增强型8051CPU,系统内可编程闪存 8 kB RAM,并且具有不同的运行模式,使其能够适应超低功耗要求的系统.CC2530还可以配备TI专有的ZigBee协议栈来简化开发,大大节省了开发时间,可以更快地获得市场.[5-6]图4为CC2530外接电路.
图4 CC2530外接电路
ZigBee终端模块与CPU模块相连,使得CPU模块和ZigBee网络协调器之间能够通过ZigBee网络通信;ZigBee网络协调器与PC机串口相连,用于实现PC机与ZigBee网络之间的通信.
CPU模块是ZigBee网络节点的核心,采用美国德州仪器公司推出的16位超低功耗微处理器MSP430F149.MSP430F149具有5种低功耗模式,且低电源电压(范围为1.8~3.6 V)可以满足低功耗的需求;具有一个片内振荡器和两个可外接的晶体振器,可以满足灵活配置时钟的需求;具有60 kB FLASH和2 kB RAM,可以满足编程的需求;具有两个独立的全双工USART串口,可以满足通信的需求;具有看门狗定时器和多个16位、8 位定时器,可以满足定时和计数的需求.[7]
微处理器MSP430F149的UART0口与蓝牙模块连接,UART1口通过一片CD4053芯片与显示模块和ZigBee终端模块连接.CD4053芯片是三双通道数字控制模拟开关,其主要功能是:视力测试开始前,将微处理器的UATRT1口与ZigBee终端模块相连;视力测试开始后,将微处理器的UART1口与显示模块相连;视力测试完毕后,再次将微处理器的UATRT1口与ZigBee终端模块相连.CPU模块原理如图5所示.
电源模块由4节3.7 V和1 600 mAh锂电池组成,采用先串联后并联的方式构成了一个具有7.4 V和6 400 mAh的大容量高稳定性电池组.由于CPU模块、蓝牙模块、ZigBee终端模块和ZigBee网络协调器需3.3 V供电,而显示模块的工作电压为5 V,因此需要电压转换芯片来提供稳定的电压源.另外,根据锂电池的充放电特性,放电时需要注意电压下限,当电芯电压低于一定值时,部分材料会发生损坏.[8]因此,电源模块中还需外加一个低电压检测单元,以实时检测放电电压.当检测到放电电压等于设定的截止电压时,切断供电,并给CPU模块发出报警信号,以达到低电压保护的目的.电源模块结构如图6所示.
图5 CPU模块原理示意
图6 供电模块结构示意
4软件设计
无线视力测试系统的软件设计包括手机应用软件、主程序、ZigBee网络和PC机后台软件的设计.
手机应用软件作为测试人员输入数据的工具,其程序流程描述如下:
(1) 软件登录界面,能够输入账号;
(2) 账号输入正确后,切换到具有近视测试和色盲测试两个选项的选择界面;
(3) 当选择近视测试时,切换到具有上、下、左、右方向键的界面,按下任一方向键,软件均会通过手机蓝牙发送信息告知ZigBee节点;
(4) 当选择色盲测试时,切换到具有多个图案选项的界面,按下其任一图案,软件均会通过手机蓝牙发送信息告知ZigBee节点.
视力测试系统中,CPU模块是整个ZigBee网络节点的核心,其程序流程如图7所示.该模块主要完成以下功能.
(1) 将手机应用软件发送来的账号信息转发给ZigBee终端模块,然后将ZigBee终端模块发送来的应答信息转发给手机应用软件.
(2) 判断收到的应答信息,如果应答信息为正确,使显示模块播放欢迎画面,等待接收手机应用软件发送来的测试选项.
(3) 如果收到的为近视测试,则刷新显示模块,使其显示用于测试视力的字母E,然后等待接收手机应用软件输入的字母E的方向信息.
(4) 如果接收到的方向信息与显示模块一致,则判定当前级别该测试人员能够看清,显示模块显示更小一级的字母E;如果接收到的方向信息与显示模块不一致,则显示模块显示同级大小其他方向的字母E.
图7 主函数程序流程
(5) 如果连续两次接收到的方向信息与显示模块不一致,则判定当前级别该测试人员为看不清,显示模块显示更大一级的字母E.
(6) 重复步骤(3)、步骤(4)、步骤(5),直到判定结果为两个相邻级别一个为看清,一个为看不清.
(7) 通过计算,给出测试人员该选项的测试成绩,并在显示模块上显示.
(8) 将该测试人员的账号信息和测试成绩打包发送给ZigBee终端模块.
(9) 当测试者在步骤(3)中选择色盲测试时,主程序的流程类似.
ZigBee网络的软件设计主要包括ZigBee终端模块和ZigBee网络协调器的设计,它们均是基于德州仪器2007年4月推出的ZigBee协议栈Z-Stack 2007上开发.Z-Stack 2007配合OSAL完成整个协议栈的运行,OSAL负责协议栈中各个任务之间的切换.Z-Stack程序流程如图8所示.
图8 Z-Stack 流程示意
ZigBee终端模块的软件设计,首先需要在IAR开发环境中选EndDeviceEB;然后在应用层新建一个任务,编写相应的任务处理函数,其中任务处理函数主要对两个事件进行处理,分别是串口接收到的数据和无线接收到的数据;最后将该任务添加到ZigBee协议栈的OSAL任务切换机制中.[9]
ZigBee网络协调器的软件设计,需要在开发环境中选择CoordinatorEB,其他与ZigBee终端模块的软件设计类似.
PC机后台软件是整个系统中查看所有测试人员视力的平台,其主要程序流程描述如下:
(1) 当收到ZigBee网络协调器发送来的数据时,首先判断数据的信息类型;
(2) 如果是账号信息,则与数据库中的账号信息进行对比,判断账号是否正确,并给协调器发送应答消息;
(3) 如果发送来的数据是账号和测试成绩的打包数据,则在数据库对应账号下面存入该成绩;
(4) PC机后台软件具有查询功能,能够查看数据库中任一账号的所有视力成绩,能够绘出视力成绩曲线.
5试验结果与分析
本文选取10人进行测试.测试过程如下:首先统计10位测试人员的左右眼视力,并将其换算成标准对数记录法;然后用传统视力表对10位测试人员进行视力测试;最后,用本文设计的无线视力测试系统对10位测试人员进行视力测试.测试结果如表1所示.
在测试过程中发现,采用传统视力表测试时,一位人员完成一次测试并得到结论,至少需要5 min,而采用本系统进行测试时,仅需要3 min左右,大大节约了测试时间.
同时,由测试结果可以看出,本文设计的无线视力测试系统在测试准确度上高于传统的视力表测试法.
表1 视力测试结果
6结语
本文设计了一种基于ZigBee和蓝牙技术的无线视力测试系统.该系统具备ZigBee技术的低功耗、高可靠、高灵活等特点,同时又结合当前智能手机已经普及的这一现状,提出了一种利用手机蓝牙实现无线输入测试数据的方法.经试验验证,此设计无需检查者参与,节约了测试成本,消除了人为测试误差,提高了测试质量,通过本设计可以及时发现测试者视力是否下降,进而可以在近视的预防中起到重要作用.
参考文献:
[1]庄庆德.传感器网络的研究现状[J] .国外电子测量技术,2005,24(4):1- 5.
[2]ZigBee Alliance.ZigBee specifications:ZigBee and ZigBee Pro[EB/OL].[2013-09-06].http://www.ZigBee.org.
[3]陈松.基于单片机的蓝牙应用系统的设[J].辽东学院学报:自然科学版,2008,15(4):210-213.
[4]张毅,熊鹏,李琳,等.ZigBee/蓝牙技术的互补性网关设计及应用[J].通信热点,2012(1):18-21.
[5]Texas Instruments.CC253X user’s guide[EB/OL].[2010-06-25].http://focus.ti.com/docs/prod/folders/print/cc2530.html.
[6]章伟聪,俞新武,李忠成.基于CC2530及ZigBee协议栈设计无线网络传感器节点[J].计算机系统应用,2011,20(7):184-187.
[7]张晞,王德银,张晨.MSP430系列单片机实用C语言程序设计[M].北京:人民邮电出版社,2005:2-16.
[8]陈翰沫,曹明勤,顾海涛.超低功耗的锂电池管理系统设计[J].单片机与嵌入式系统应用,2014(4):25-27.
[9]王小强,欧阳骏,黄宁淋.ZigBee无线传感器网络设计与实现[M].北京:化学工业出版社,2012:69-107.
(编辑白林雪)
YIN Shitong1, BAO Weihua1,2
(1.SchoolofAutomationEngineering,ShanghaiUniversityofElectricPower,Shanghai200090,China;
2.TechnologyCenter,ShanghaiAutomationInstrumentationCo.Ltd,Shanghai200070,China)
Abstract:A design of vision test system of wireless network based on ZigBee and Bluetooth is proposed.The hardware design principle for display module,wireless communication module,CPU module and power module is introduced.Then,the software design procedure for mobile applications,main program,ZigBee network program and PC monitoring software is described. In this design,the Bluetooth is used to implement input wireless test data. The ZigBee network is used to implement test scores of wireless transmission.The PC software is used to store and analyze the test data.
Key words:bluetooth; ZigBee technology; wireless network; vision test
中图分类号:TP273.5;TP311.1
文献标志码:A
文章编号:1006-4729(2015)06-0568-07
通讯作者简介:尹世通(1989-),男,在读硕士,河南许昌人.主要研究方向为无线传感器网络的应用.E-mail:perfcetyin@qq.com.
收稿日期:2015-04-09
DOI:10.3969/j.issn.1006-4729.2015.06.015