摘要:在手机报警受限的情况下,为了使求助者能向校园保卫处紧急报警并且准确定好自己所处的位置,本文研制了求助者随身携带的微型无线遥控器和相应的配套系统。当求助者按下紧急求助按钮时,立即向保卫处发出求助信号,同时在保卫处的监控界面上直观显示求助者所在的位置。测试表明,从求助者按下紧急求助按钮到保卫处页面刷新显示为40~50 s,位置精度为20~40m。
引言
学校安全工作是全社会安全工作的重要组成部分之一。它直接关系到青年学生能否安全、健康地成长,关系到千千万万个家庭的幸福安宁和社会稳定。广东海洋大学湖光校区校园面积大,有些地方比较偏僻,往往是警情多发地段。遇到紧急情况,求助者通过手机报警,但往往很难准确描述其所在位置。若求助者手机报警受到限制,就更加无法对外发出求助。
为了解决以上的问题,让求助者能通过第二种方式向校园保卫处紧急报警并且准确定好自己所处的位置,本文研制了求助者随身携带的微型无线遥控器和相应的配套装置。当求助者按下紧急求助按钮,立即向保卫处发出求助信号,同时在保卫处的监控界面上直观显示求助者所在的位置。
1 系统整体实现
该系统的整体架构如图1所示。在某需要监控的区域布置中心站,在中心站周围布置多个分站,形成一个星状网络。一旦各个站点布置的位置确定,其经纬度的位置信息便确定下来。区域内的各个分站的信息直接或者间接传送到中心站,中心站接着把该信息传送到数据中心。为了增加分站布置的灵活性,本文对分站之间信息的接力传递进行了技术上的实现,但从实时性和可靠性的角度看,尽量避免分站之间信息的接力传递,从信息起始发起的分站到中心站之间的分站不应超过2个。
求助者按下随身携带的微型无线遥控器的紧急求助按钮,当离其最近的分站接收到该求助信号时,该分站首先启动报警器蜂鸣,这样做是为了获得周围群众的帮助,然后该分站通过某种预定的路径,直接或者间接地把该信息传送到中心站。最后中心站通过GPRS网络把该信息传送到互联网上的数据中心,并存储在数据库服务器中。
在WEB服务器上发布警情监控的网站,学校保卫处作为客户端之一访问该网站。该页面不断实时刷新显示最新的警情信息。学校保安人员也可以通过手机访问该网站,从而协助其准确到达案发地点。
监控开始时,客户端在浏览器上键入“http://210.38.139.35/warn/default.htm”地址。假设现有不同用户在不同地方按下紧急求助按钮,图2为显示界面。
图2中标注“警卫”的地方就是学校固定警力分布的位置,标注“警报”的位置就是当前警情位置,其以不停的跳动和声音提示最新警情。只有保卫处用户才有权限去处理该警情信息,其他用户只有浏览权限。这样保卫处根据求助地点和警卫的位置,作出最优的指挥。同时警卫人员可以利用手机访问该网站,作为位置协助找到求助者。
2 系统硬件
2.1 nRF24LE1模块
nRF24LE1是NORDIC公司新推出的一款芯片。nRF24LE1采用了NORDIC公司最新的无线和超低功耗技术,在一个极小封装中集成了2.4 GHz无线传输、增强型51 Flash高速单片机、丰富外设及接口等,是一个性能和成本的完美结合,很适合应用于各种2.4GHz的产品设计。
在本系统中的微型无线遥控器、分站和中心站的无线收发装置选用的都是nRF24LE1模块,它们之间的信息传递是通过各自的nRF24LE1模块进行的。其中,分站和中心站采用的nRF24LE1模块带有外置功率放大天线,开阔地传输距离约为200~400 m,而微型无线遥控器采用的nRF 24LE1网模块带有内置天线,开阔地通信距离为10~30 m。
2.2 EM310模块
中心站最后还需要把警情信息通过GPRS网络传送到互联网上的数据中心。GPRS网络的接入采用华为公司生产的EM310模块。EM310模块内置了TCP/IP协议栈,由AT指令控制并使得应用程序可以很容易地接入网络。该方案的优点在于最小化了将网络连接集成入一个新的或已存在的应用程序所需的成本和时间。
在本系统中,EM310模块是由中心站的nRF24LE1通过AT指令控制操作的,它们之间的接口就是典型的三线制串行通信。
3 系统软件的实现
3.1 微型无线遥控器软件
考虑到遥控器的功耗和体积,采用纽扣电池供电。平时不需要报警的时候,电源按钮处于被关闭状态,当有紧急情况时,电源按钮被按下,系统开始工作,启动发送警报,其工作流程如图3所示。
求助信号发送出去后,离其最近的分站接收到该信号,分站启动大功率蜂鸣器工作,同时发送一个应答包给该遥控器。当遥控器接收到该应答包后,停止发送警报,同时触发LED指示,表示警报信息已经被成功捕获,否则重新发送。这样设置是为了加强系统的可靠性,万一分站的蜂鸣器坏了,求助者无法通过蜂鸣器呜叫来确认求助信息是否被成功捕获。
3.2 分站软件
与无线遥控器供电方式不同,分站采用连续的供电方式,其工作流程图如图4所示。分站不断循环检测是否有警报信息需要处理。若有警报信息需要处理,首先发出应答包,接着往预定的目标地址发送警报数据包。该目标地址可以是其他分站,也可以是中心站,是根据实际需要设定的。
3.3 中心站软件
中心站和分站的软件实现在整体上有相似之处,稍微区别是当分站确认接收到警报数据包后,便向预定的目标地址(其他分站或者中心站)发送该警报包,而中心站接收到警报数据包后,通过EM310往预定的目标IP地址发送,其流程图如图5所示。
3.4 网站设计实现
本校园警情快速定位网站的地图应用设计采用百度地图的JavaScript API。其是一套由JavaScript语言编写的应用程序接口,可帮助在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发。
用户通过浏览器访问该网站,即向该网站发出了服务请求,该网站便向数据库提取警情数据,同时向百度请求地图服务,最后把两者数据融合,返回给用户,刷新浏览界面,用户看到就是在百度地图中对应的位置上标记的警情信息和固定警力信息。
4 关键技术讨论
4.1 数据包定义
本系统通信的数据包类型有应答包和警报包。警报包又分为遥控器直接发出的警报包(称为遥控器警报包)和分站转发的警报包(称为分站警报包),数据包类型标识定义如表1所列。
为了形式上的统一,把各种数据包都规定为30个字节长度,数据包中各个字节的定义如表2所示。
某遥控器待发送的警报包数据存放在如下的数组中:
4.2 nRF24LE1数据包发送和接收
在nRF24LE1中,集成了一个功能齐全的2.4GHz收发器核nRF24L01+和一个加强型8051微控制器核。该微控制核和收发器核nRF24L01+是通过其专用的SPI接口进行通信,因此数据包收发是通过SPI读写操作来完成的。
TxMode函数的参数分别描述如下:TxAddress:存放目标地址数据的数组;TxAdrWidth:目标地址长度;TxData:存放待发送数据的数组;TxDataLength:待发送的数据长度。
无线遥控器发送的警报是一个广播性质的数据,所有分站都有同等的机会接收该警报数据,因此在本系统中所有分站必须开启一个能接收广播类型数据的通道,也就是所有分站都具有同样的接收广播的地址。
nRF24LE1有6个接收数据的通道地址,能满足这样的要求,本系统仅仅用了2个接收数据的通道地址,一个是该分站专用的接收地址(即分站ID),另一个是该分站跟其他分站相同的接收地址,配置操作略——编者注。
无线遥控器发送数据是广播型,因此发送就是向共有的接收地址发送。另外还需要开通一个接收应答数据包的通道,因为应答包是有固定的指向,因此无线遥控器只需要开通一个专用的接收数据通道(即遥控器ID),其相关配置略——编者注。
为了增加系统的可靠性和可控性,这里只是允许接收中断,而且接收中断在某种情况下,还根据需要进行关闭,然后再次开启等。
4.3 随机调整发包时间间隔参数策略
时间间隔调整是靠Delay函数里面的Temp参数的调整来确定的。Delay(Temp)延时时间大约为Temp值的1/10 s。延时参数Temp值等于基数10加上一个小于10的随机数,具体实现如下:
Delay(Temp)实现的延时是以1 s为基础加上一个小于1的随机小数,总共有4个1 s左右的延时叠加,因此该延时是以4 s为基数进行调整的,该参数的配置是根据实验测试并统计B从接收警报包,到转发警报包,再到接收应答包的时间,再适当加上一定余量,权衡得出来的。
每一个设备都把自己认为重要的事情做好,并且又能够互相配合,使得整个系统可靠性和实时性达到一个相对完美的配合。
4.4 远程应用服务器操作策略
网络组网方案是数据中心服务器端采用公网固定IP地址,EM310直接通过IP地址访问Internet。其中,最关键两个动作就是EM310连接远程应用服务器操作和EM310往远程应用服务器发送数据包。
本文从实时性角度出发,采用最简的操作步骤,如表3所示。
4个步骤之间紧密相连,缺一不可。每个AT指令发送出去后,会返回一个字符串,只有确认返同字符串中有“OK”字符,才能认为该AT指令操作成功,才可以进入下一个步骤的操作,否则重新发送该AT指令。这种方法可以获得最高的可靠性,同时也会带来一定风险,程序会一直在循环等待。
考虑到实时性,本文采用的是并不是每个AT指令操作后都等待“OK”字符,而是直接进入第4个步骤,发送警报信息。在该指令发送后,经过适当的延时,然后去判断返回的字符串中是否有“OK”字符,否则才开始从第1个步骤开始。
万一警情信息发送不成功,需要重新连接服务器,即从第1个步骤重新开始。本文采用的并不是每个AT指令操作后都去作等待“OK”字符的动作,而是经过适当延时,直接进入下一个动作。因此必须预先对该延时参数有个估计,同时要保留一定余量。本文通过大量测试,权衡后得到如表4所列的参数。
结语
测试两种情况从按下求助按钮到地图显示的时间:一是分站直接到中心站;二是分站间接到中心站(本系统分站到中心站最多是2个),结果是40~50 s。假设A转发的数据包目标是分站B,在A接收范围内按下一个求助按钮,同时在B接收的范围内,按下另一个求助按钮。测试表明本系统能可靠把两个警报包最终在百度地图上显示出来。因此,本系统所用的策略保障了一定的实时性和可靠性。