基于iBeacon预防近视装置的设计与实现

2018-04-12 08:10王嘉露
科技与创新 2018年7期
关键词:信号强度阈值蓝牙

王嘉露,霍 莹

(北京市101中学,北京 100091)

近视已经成为我国的“国病”,我国5岁以上人群中,近视比例为35.16%~39.21%,近视的总患病人数在4.37亿~4.87亿之间,其中,高度近视的比例在2.33%~2.47%之间,患有高度近视的总人口高达2 900万~3 040万。如果不能采取有效的政策干预,预计到2020年,我国5岁以上人口的近视发病率将增长到50.86%~51.36%[1]。全国学生体质健康调研最新数据表明,我国小学生近视眼发病率为22.78%,中学生为55.22%,高中生为70.34%.引起近视的原因有很多,比如对手机和电脑的使用和依赖等,但用眼距离过近,特别是阅读、写字过近是产生此问题的重要原因之一[2]。

目前,市场上预防近视的产品主要有矫正写字姿势的书桌、坐姿监控学习椅、预防近视纸夹以及通过声、光、电方式检测距离或者检测头部姿态并报警的电子装置,这些装置在一定程度上能够起到预防近视的作用。但上述装置也存在不足,比如移动不便、活动受限、不习惯,以及结构复杂、成本较高、容易误判等问题。

iBeacon是2013年9月苹果公司发布的一项蓝牙低功耗产品,基于蓝牙4.0标准开发,只有几立方厘米左右的体积,能耗极低,可以近距离感测,有厂家利用该装置生产了箱包防丢器。本文采用该装置设计并实现了预防近视装置。

1 系统设计

1.1 装置基本原理

本装置采用基于iBeacon的智能手机对固定在用户头部的iBeacon进行测距,当距离小于设定的阈值时,采用声音、发光或震动提醒用户,以达到预防近视的目的。装置包括iBeacon发射模块和手机终端。iBeacon发射模块在使用时打开,佩戴在用户眼部附近位置,按预设的频率和强度发射信号;手机终端包括蓝牙模块和测距报警应用,蓝牙模块用于接收iBeacon模块发射的信号,测距报警应用采用基于RSSI的无线测距原理,测算iBeacon模块与手机终端的距离,当距离低于阈值时报警;当距离增大到超过阈值时报警停止。图1为装置原理图。

图1 装置原理图

1.2 系统设计

按照基本原理设计的装置包括2个部分:iBeacon发射模块和手机终端。

iBeacon发射模块是内置电池且具有通信功能的蓝牙设备,该模块使用低功耗蓝牙技术周期性地向周围发送自己特有的ID等信号。手机终端通过自身配置的4.0或以上版本的蓝牙模块接收iBeacon发射模块的广播信号。手机终端含有应用,包含设置模块、定时模块、信号接收模块、距离计算模块、容错计算模块、判断报警模块共6个主要模块。图2为手机应用模块。

图2 手机应用模块

其中,设置模块负责选择目标iBeacon发射模块、选择报警方式(比如提示铃声种类、音量大小、有无振动等)、设定合适的报警阈值、设定定时模块接收信号的频率。

信号接收模块负责接收含目标iBeacon发射模块发出的信号在内的蓝牙信号,并根据设置的iBeacon发射模块ID筛选出目标发射模块的信号。

距离计算模块通过接收iBeacon发射模块的RSSI信号强度计算出iBeacon发射模块与手机终端的距离。

容错计算模块负责根据n次瞬时距离数值经过平均和剔除粗大误差并计算出最终距离数值。

判断报警模块通过比对最终距离数值与阈值来判断是否需要报警。

1.3 流程设计

基于iBeacon预防近视的手机终端应用通过定时模块启动测量报警流程,在此之前需要设定iBeacon的UUID、Major、Minor参数。测量流程要有接收指定iBeacon信号的功能,该iBeacon通过UUID识别,接收模块收集信号时,根据此UUID值对扫描到的所有信号进行过滤,只接受此UUID的iBeacon信号,对iBeacon信号帧的信号内容进行解析,将携带的信号RSSI信息保存下来用来计算距离,同时获取该信号的RSSI强度值。

因为多种因素的存在会影响到iBeacon信号的传播,收集到的信号会受到噪声的影响,所以需要对信号进行处理,得到最优的信号值。软件流程如图3所示。

2 装置实现

2.1 数据解析

iBeacon在蓝牙的广播通道以设定的频率发送数据包,广播数据包结构如表1所示,主要由iBeacon Prefix(前缀)、Proximity UUID(接近唯一标识符)、Major(分组号)、Minor(组内号)、Signal Power(信号强度)5部分构成。

前缀包括低功耗蓝牙标志、包的长度、苹果特定的数据格式等;Proximity UUID是接近唯一标识符,可以对应一个特定的应用,应用根据此标识符判断周边的iBeacon是不是相关;Major和Minor由iBeacon发布者自行设定,都是16位的标识符,换算成十进制数为0-65535之间的任一值,前者为分组号,后者为组内号,Proximity UUID、Major和Minor三者唯一确定一个iBeacon;Signal Power是iBeacon模块与接收器之间相距1 m时的参考接收信号强度,单位为分贝,接收器根据该参考值与接收信号的强度来推算发送模块与接收器的距离。在收取广播包的同时还获取了RSSI数值,这个是接收信号的强度,单位为分贝,根据此值和信号强度可以计算距离。

图3 软件流程图

表1 iBeacon的广播包数据结构

2.2 距离计算

2.2.1 单次距离计算

无线信号对数路径衰减模型为[3]:

则无线信号模型可以简化为:

式(2)中:Rt为终端测得的RSSI值;R0为距离设备1 m时候的RSSI值;dt为需要计算的距离。

由于R0的值不带负号,所以,此式应该取Rt的绝对值,则dt可表示为:

根据公式(3)和接收模块接收到的信号强度及Signal Power数值计算iBeacon模块与接收模块之间的瞬时距离,γ值根据不同iBeacon的不同特性可以进行实际测量调整。

2.2.2 平均距离计算

计算平均距离主要是起到容错的作用,但容错计算模块除了计算平均距离外,还需要剔除粗大误差,该模块具体流程如图4所示。

2.2.2.1 计算前n次距离的平均值

n为设置值,这里设置为10,平均值有可能计算2次,第1次计算平均值主要用来判断是否存在粗大误差,若不存在,直接作为结果;若存在,则剔除粗大误差后重新计算。

图4 容错模块流程图

2.2.2.2 剔除粗大误差

判断是否存在粗大误差,判断方法有多种,这里采用莱以达准则进行判断[4]。

如果∣vi∣>3S,则di存在粗大误差,去掉这个值。

2.2.3 报警判断

软件设置里可以设置阈值,默认值设置为25 cm(建议用眼距离为一尺),判断上面计算的平均值是否小于设定的阈值,如果小于阈值,就会调用报警模块发出报警信号。

在计算平均值时会出现一种情况,就是使用者第一次过于接近时,会被判断为粗大误差而舍弃,这时的距离平均值不会小于阈值,因此不会报警。当使用者保持接近的姿态舍弃几次之后,近距离会变为主导,从而会舍弃之前的距离值,这时的平均值会小于阈值而报警。

在实际使用中,使用者不可能保持长期固定静止,往往会伴有身体的运动,比如晃动身体、翻书、喝水等动作,导致瞬间眼睛与书本间距离过小,如果采用瞬时值,就会报警,但实际情况并不需要。

可见,本文的算法除了更精确之外,还降低了敏感性,降低了误报的可能性。

3 实验结果

按照上述设计,采用Estimote公司生产的iBeacon-Eddystone进行了多组测距实验,发射信号强度选为-70 db,根据测试数据选取γ值为2.5,典型的数据如表2所示。

表2 iBeacon的广播包数据结构

测试数据没有粗大误差,与实际距离相比,距离有一定的误差,但趋势正确,在低于25 cm的情况下有报警,验证了本装置的可行性。

4 结论

本文采用iBeacon结合手机设计了通过蓝牙信号测距并报警的近视预防装置,由于iBeacon的RSSI进行距离计算有比较大的随机误差,因此采用容错机制,剔除粗大误差,采用平均值来提高测距精度。所实现的近视预防装置具有体积小、质量轻、非接触、防误报等优点,应用前景广阔。

参考文献:

[1]李玲.国民健康视觉报告[M].北京:北京大学出版社,2016.

[2]陈秀华,马红.青少年如何以中医养眼?[J].黄金时代:学生族,2013(4):61-62.

[3]周艳,李海成.基于RSSI无线传感器网络空间定位算法[J].通信学报,2009,30(6):75-79.

[4]廖碧涛,邱兰.基于莱以达准则的粗大误差的自动剔除[J].内江科技,2017(11):50-51.

猜你喜欢
信号强度阈值蓝牙
光学相干断层成像不同扫描信号强度对视盘RNFL厚度分析的影响
蓝牙音箱的直线之美
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
改进小波阈值对热泵电机振动信号的去噪研究
帮你轻松找到AirPods的神奇工具
钻铤对随钻电磁波测井信号的影响分析
TETRA数字集群通信系统在露天矿山的应用
以WiFi和ZigBee联合定位的消防灭火救援系统