基于无线定位的行李监控系统设计

2011-09-11 10:16周光发
微处理机 2011年5期
关键词:行李上位无线

周光发

(江苏警官学院公安科技系,南京 210012)

1 引言

火车行李监控系统是一套利用无线定位技术,对行李进行全程监控的行李安全保障系统。该系统能够对行李的位置变化进行全程监控,从而实现对行李的全面监控。该系统充分利用了火车这一封闭空间,使得无线定位技术的定位精度快、实时性好等优点能够完全发挥,达到监控行李状态的目的。该系统不但可以用于对可疑行李的监控跟踪,同时也能够用于实时保护旅客贵重行李。本项目探讨了如何采用省电、可靠、低成本、时延短、网络容量大、安全的Zigbee无线定位协议[1],设计行李监控系统的系统结构与上位机软件设计与实现。

2 系统体系结构

2.1 系统结构设计

火车行李监控系统主要由:无线定位、数据中心以及上位机三部分组成。其中无线定位部分由参考节点和定位节点组成,参考节点设置于火车车厢各部,定位节点放置于行李内。数据中心为无线定位系统的网关,用于实现无线定位系统与上位机之间的通信。通过无线与无线网络中的所有定位节点通信,并将最终定位信息通过串口传至上位机。上位机在接收到数据中心的数据后,经过分析处理,输出至用户,给用户决策提供依据。系统体系结构如图1所示。

图1 系统体系结构

2.2 无线定位模块

无线定位模块是一个基于CC2431无线定位引擎的定位系统,基于RSSI技术,由参考节点和定位节点组成。该定位引擎输入参数主要有四种(如图2),其中 A表示与发射端距离1m的 RSSI值,用dBm表示;n_index表示信号传播系数。

图2 定位引擎的参数计算

(1)参考节点:参考节点是一种已知位置的静态节点,其坐标位置(X、Y值)是固定的,并且不参与定位计算。一个定位区域通常由8个参考节点组成,最少3至4个参考节点。参考节点必须正确的配置在定位区域中的位置,它的任务是提供一个包含自己位置X、Y坐标和RSSI值(指节点接收到的无线信号强度大小,用于判断通信双方距离)的信息包给数据中心。其工作流程如图3所示。

(2)定位节点:定位节点能够与离自己最近的参考节点通信,收集这些节点的X、Y坐标和RSSI值,根据这些信息和输入参数(A/N)一起计算自己的位置信息,然后将适当的信息发送给网关,通过网关与上位机形成另一个直观的系统。

图3 参考节点工作流程

(3)参考节点与定位节点的设置:在火车行李全程监控系统中,参考节点应放置于火车车厢中,用于随时接收附近的定位节点信号,实现对其定位。而定位节点设置在行李中。参考节点与定位节点的设置如图4所示,其中圆形为参考节点,方形为定位节点。

图4 参考节点与定位节点的放置

2.3 数据中心模块

数据中心模块实为无线定位系统的网关。通过与定位节点通信,得到定位节点坐标,将坐标信息传送至上位机。它在整个系统中起着至关重要的作用。首先它要接收由监控软件提供的各参考节点和定位节点的配置数据,并根据不同的方式发送给相应的节点,其次还要接收各节点反馈的有效数据并传输给监控软件。

2.4 上位机模块

上位机模块主要是由Visual Basic.Net编写的数据处理和显示的上位机软件。其通过串口将数据读入并储存,然后再处理得到移动节点坐标信息。最后再通过坐标转换,在列车车厢地图上标出移动节点所在位置。同时有在移动节点消失或离开监控位置时的警报功能。

3 系统上位机实现

3.1 数据收发模块的实现

数据收发模块是用于直接读取由下位机进行数据通信的模块。数据收发模块通过串行通信口与下位机进行通信,以此获得信息或向下位机发出命令。

系统采用Windows提供的API控制串口。在此种方法中,COM是 PC机的通信 I/O端口,作为Windows的一种系统资源,我们可以把它作为一个文件来进行处理。所以我们可以利用Create File(),Write File()和Read File()等文件操作函数来实现对端口的读写操作[3],但是我们在使用这些函数的时候必须以“COM1”或“COM2”为文件名。

在上位机软件中在打开串口后,就会自动开启定时器,定时接收数据。

3.2 数据处理模块的实现

在本模块中,主要利用了VB.Net提供的强大的字符串处理函数来实现数据分离和提取。

(1)数据分离的实现

数据分离主要利用了VB.Net中字符串类的Split()函数来实现。其功能是将一个字符串分离成一个一维的字符串数组。其声明如下[2]:

Function Split(

ByVal Expression As String,

Optional ByVal Delimiter As String="",

Optional ByVal Limit As Integer= -1,

Optional ByVal Compare As Compare Method=Compare Method.Binary)As String()

其中,Expression为必选参数,是待分离的String表达式,包含子字符串和分隔符。Delimiter为可选参数,是用于标识子字符串界限的任何单个字符。如果省略了Delimiter,则假定空白字符(“”)为分隔符,Limit也为可选,指的是输入字符串应拆分到的子字符串的最大数量。默认值为-1,指示在Delimiter字符串的每个匹配项处都拆分输入字符串。Compare也是可选参数。通过Split()函数,实现将从数据中心接收到的分离。

(2)信息提取的实现

信息提取部分主要实现提取经数据分离的数据中的有效信息。在分离信息后,数据存储在Work Data数组中。现在我们需要的信息有:数据发送者短地址及其坐标(X,Y),就可以将Work Data(5),Work Data(6)组织为短地址。将Work Data(19),Work Data(20)组织成 X坐标,Work Data(21),Work Data(22)组织为Y坐标。

3.3 信息显示模块的实现

(1)节点坐标显示

各节点的坐标信息发送到上位机后,经数据分离和信息提取后传送到信息显示模块。信息显示模块在获得各节点的坐标信息后直接将其和节点的短地址一起显示。

(2)地图显示

信息显示模块在获得坐标后,不但将其以文字的形式显示出来,同时对坐标进行坐标变换后,还在火车的地图中将其绘制出来,以方便查看,地图显示效果如图5所示。

图5 节点坐标显示

其中,中间盒子形状的为行李位置,其余为参考节点位置。

4 监控系统的系统评估及测试

数据收发模块。具有端口选择功能,当选择功能无效时会有弹出窗口警告。在选择端口后能够有效实现数据传送和接收。

信息提取模块。能够在接收到数据后进行有效信息提取。当接收到的数据不符合格式时,能够自动屏蔽。

信息存储模块。得到节点坐标后,能够清晰地实现地图绘制。查看方便,界面友好。

5 结束语

火车行李全程监控系统的上位机软件,能够有效实现对行李的全程监控,达到了方便用户使用的目的。同时还具备数据存储等功能,方便事后分析。由于时间问题和与铁路部门的沟通协调问题,该软件还未能实地到火车中测量绘制火车车厢内地图,软件中暂时未使用火车地图,因此系统的完善还有待在火车运行中进行实地测试。

[1]尹天明,李也白,张球河,王宇鸽.基于Win API串行通信技术的应用研究[J].计算机技术与发展,2006,16(4):193-195.

[2]Jim Beveridge,Robert Wiener.Multithreading Application in Win32[M].候捷,译.武汉:华中科技大学出版社,2002.

[3]黄泽建,林君.基于API的串行口通信软件设计[J].吉林大学学报(信息科学版),2003,21(4):357-361.

猜你喜欢
行李上位无线
教你如何“看穿”行李
《无线互联科技》征稿词(2021)
无线追踪3
基于ARM的无线WiFi插排的设计
行李
一种PP型无线供电系统的分析
教你轻松收拾行李
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统