新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于nRF24LE1的校园警情定位系统设计

基于nRF24LE1的校园警情定位系统设计

作者:时间:2014-04-21来源:网络收藏

3.3 中心站软件

本文引用地址:http://www.eepw.com.cn/article/245747.htm

中心站和分站的软件实现在整体上有相似之处,稍微区别是当分站确认接收到警报数据包后,便向预定的目标地址(其他分站或者中心站)发送该警报包,而中心站接收到警报数据包后,通过EM310往预定的目标IP地址发送,其流程图如图5所示。

3.4 网站设计实现

本校园警情快速定位网站的地图应用设计采用百度地图的JavaScript API。其是一套由JavaScript语言编写的应用程序接口,可帮助在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发。

用户通过浏览器访问该网站,即向该网站发出了服务请求,该网站便向数据库提取警情数据,同时向百度请求地图服务,最后把两者数据融合,返回给用户,刷新浏览界面,用户看到就是在百度地图中对应的位置上标记的警情信息和固定警力信息。

4 关键技术讨论

4.1 数据包定义

本系统通信的数据包类型有应答包和警报包。警报包又分为遥控器直接发出的警报包(称为遥控器警报包)和分站转发的警报包(称为分站警报包),数据包类型标识定义如表1所列。

 

 

为了形式上的统一,把各种数据包都规定为30个字节长度,数据包中各个字节的定义如表2所示。

 

 

某遥控器待发送的警报包数据存放在如下的数组中:

 

 

4.2 数据包发送和接收

中,集成了一个功能齐全的2.4GHz收发器核nRF24L01+和一个加强型8051微控制器核。该微控制核和收发器核nRF24L01+是通过其专用的SPI接口进行通信,因此数据包收发是通过SPI读写操作来完成的。

TxMode函数的参数分别描述如下:TxAddress:存放目标地址数据的数组;TxAdrWidth:目标地址长度;TxData:存放待发送数据的数组;TxDataLength:待发送的数据长度。

无线遥控器发送的警报是一个广播性质的数据,所有分站都有同等的机会接收该警报数据,因此在本系统中所有分站必须开启一个能接收广播类型数据的通道,也就是所有分站都具有同样的接收广播的地址。

有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接收的范围内,按下另一个求助按钮。测试表明本系统能可靠把两个警报包最终在百度地图上显示出来。因此,本系统所用的策略保障了一定的实时性和可靠性。

万能遥控器相关文章:万能遥控器代码


蜂鸣器相关文章:蜂鸣器原理
燃气报警器相关文章:燃气报警器原理

上一页 1 2 下一页

关键词: NORDIC nRF24LE1

评论


相关推荐

技术专区

关闭