基于无线传感器网络智能保险箱安防系统的设计

2013-10-12 10:40:38 来源:http://ic.big-bit.com/|3 点击:1684

本文提出了一种基于$无线传感器网络技术的智能保险箱安防监测系统。该系统由前端监测设备、物联网网关和手机客户端3部分组成,实现了集远程监控、实时报警和、远程动态管理于一体的安防监测功能,并提出了部分重发算法等调优算法以减低丢包率。测试结果表明,该系统实现了所提出要求,并拥有系统稳定,发送快速,可纠正丢帧等优点,具有可行性与实用性。

0 引言

在当今保险箱快速发展的同时,人们对资产及个人收藏品的全方位防护需求也同样在升级,而对于目前市面上的保险箱防护手段过于单一,应急反应缓慢等弊病,而造成了多起保险箱被盗事故。目前在贵重物品防护及相关珍藏品收藏的$保险箱系统中,大多都采用物理安防手段,采取深层加密或者加厚保险箱外层材料厚度等等,虽然保护了保险箱内部的物品,但是系统不能保护保险箱自身,而常常造成保险箱本身失窃而给用户带来巨大损失。

在我国数字信息化发达的今天,$无线传感器网络技术的兴起,已在各个安防领域得到广泛的应用。但就目前而言,基于多手段,全方位,全天时的无线传感器网络技术如何让保险箱防护体系做到更安全,已经成为目前安防保险箱行业的一个重要研究课题。目前,传感器网络技术应用到保险箱的领域在国内还没有先例,有的企业也做了一些安防联动的手段,但是依然探测手段单一,无法真正达到实际应用的需求。

针对现有的保险箱系统中存在的这些问题,将无线传感器网络引入现有保险箱系统中,希望能成为主流解决方案。仔细分析需求后,现代的保险箱安防系统应有以下特点:

(1)从硬件角度,该$安防系统具有无线传感器网络的特点:低功耗,自组织,可采集数据等,同时可发实时报警并追踪状态。该特点的使得保险箱一旦出现异常,可第一时间通知用户,并实时追踪动态。

(2)从用户角度看,安防系统提供多种查询方式,例如短信息,B/S架构访问页面,以及手机客户端等等,使用户时刻掌握保险箱的动态。

因此,为了实现以上功能,除了在系统中使用技术通用分组无线服务技术(General Packet Radio Service,GPRS),全球定位系统技术(Global Positioning System,GPS)等常规模块的同时,还需要增加不同功能的报警传感器(如震动传感器等)。同时,还需要引入更多的用户功能,例如用户可能会用到的网页支持,手机客户端等。

1 基于物联网的安防监测系统功能分析

本文所属的安防系统的功能由以下子模块组成:

(1)前端监测设备

异常监测模块:包括了多种传感器(红外,震动,温湿度等);无线传输模块:通过GPRS 模块将所有数据(报警信息,位置信息,心跳帧等)发送至网关;定位模块:通过GPS完成对节点的定位;视频采集模块:通过具有夜视功能的广角摄像头进行图像采集后会发送至服务器;报警模块:监测节点将报警信息以短信方式发送至用户手机,手机客户端则以推送的方式提醒用户。

(2)服务器网关:一台连入公网的服务器,作为系统的中间件部分负责连接底层硬件与上层应用,收发和存储所有中间数据。

(3)用户手机应用:允许用户通过iPhone 客户端对监控系统的状态和信息进行查询。

这些模块与功能是从实际应用角度进行划分与设计,实际上,他们是一个整体,之间有着非常紧密的联系,在某一功能被触发时,需要多个模块进行协同工作。

2 硬件系统介绍

2.1 系统结构

本监测系统共分为3 个部分:前端监测,服务器网关和用户终端。

其中前端监测部分实时监测用户节点的异常变化,当有异常情况(震动,温度湿度超过标准值,非法闯入等)发生时,$传感器将数据通过无线网络传输到服务器网关,并通过手机预警的方式通知用户。若此时节点被移动,还将对其进行实时跟踪。

服务器网关部分包括数据接收,数据解析处理,数据存储,有效数据挖掘4个部分。

用户终端部分包括:手机访问平台、手机预警平台和手机主动定位平台。手机访问平台是通过手机应用访问数据库服务器获取信息。手机预警平台则是系统会以短信方式或推送方式通知异常。手机主动定位方式是提供了主动的方式定位到自己的保险箱并查询状态。如图1所示。

2.2 节点结构

监测节点主要功能为:利用传感器感应异常,利用GPRS 传输数据,使用GPS 模块获取位置,通过摄像头/麦克风等设备采集图像音频数据。

如图2 所示,节点以MSP430F5438 单片机作为芯片,它拥有16 KB 的FLASH 以及256 KB 的RAM,以串口分别控制GSM 模块(SIM900A),GPS 模块(U-Blox),摄像头(C328V,约118°视角)与USB 接口。同时,传感器(可监测3轴加速度,冲击,震动等)通过中断的方式参与到程序中。

2.3 数据流向

在正常状态时,节点日常任务包括定时获取GPS信息,定时发送心跳帧等,以确保系统在线,并随时获取到节点的最新位置。当异常感应模块被触发后(震动异常,温湿度异常等),MCU通过GPRS将获取的警报信息连同GPS信息等发送至数据库后台,并同时提醒用户此次异常。如图3所示。

[page]
3 软件实现及改进

本节将分2部分介绍系统的软件实现,从节点软件和上层iPhone 客户端来详细说明本安防系统的工作方式。

3.1 节点软件实现

3.1.1 任务设计

考虑到节点选用的单片机为超低功耗芯片MSP430,以及$监测系统对实时性的要求,因此谨慎的选择了μC/OS-Ⅱ作为操作系统并尽可能合理的分配任务进程。操作系统中任务如表1所示。

整个系统初始化完成后,所有初始化进程会被终止,而后释放相关内存。在此之后,系统只保留部分进程,以完成日常上报数据,接收数据和报警的功能。系统进程以外的进程则以中断的方式进行抢占,如图4所示。

下面会重点介绍核心模块的实现。

3.1.2 接收中断的实现

如表1所示,系统中含有4个串口接收中断。出于功能分析与拓展性考虑,这些进程的流程基本类似,这里只介绍配置串口进程的实现,如图5所示。

从系统角度上讲,该任务类似一个内外数据接口:

它从串口读入数据,并通过信号量传递给其他进程。因此,在进程开始,初始化2个任务:缓冲区任务和超时任务。前者的工作是每当串口有中断进入时,从串口读取收到的字符,存入一环形缓冲区;后者的任务是,当某个字符接收完毕后若2 ms内没有新的字符进入时,则将缓冲区的字符串POST至信号量。

3.1.3 拍照功能的实现

系统选用摄像头为一款针对串口通信与微光条件的广角黑白摄像头,可作为JPEG照相机应用在系统中,获得高解析度的单帧图像,图像压缩成JPEG格式后通过串口传回主控设备。程序流程如图6所示。出于对系统性能的考虑,给收到的每个数据包重新打包,附加设备IMEI号与结尾校验位后再发送至后台服务器。这样的好处是,当多台设备同时发送数据时,后台程序将数据包的头尾进行解析,从而避免混淆。

[page]
3.2 节点软件调优

3.2.1 模式的选择

该模块拥有2种发送模式,分别是命令模式与透明模式,他们的特点为:

命令模式在该模式下,模块可解析AT命令并作出回应与发送数据。

透明模式模块收到的任何从串口得到的数据均会被转发出去,包括数据与AT命令。

在通常情况下,人们会默认使用命令模式来进行配置与数据解析,但在该模式下发送过程会因遇到某些特殊位而停止(例如中止位一般为0x1A),因此在该模式下无法发送例如JEPG 图等16 进制数据。但若使用透明模式,则无法解析短信或AT命令,使模块处于为了解决这个问题,在本系统中引入混合模式,即命令模式与透明模式。

如图7所示,系统在初始化和不发送数据时工作在命令模式,以处理用户的配置短信。当有数据需要发送时,模块进入透明模式,数据以16进制格式发送,完毕后回到命令模式继续等待。在引入混合模式后,得以使系统同时兼顾处理AT命令与发送16进制数据。与采用该模式之前,发送效率大幅提高,并因此降低了丢帧率。

3.2.2 丢帧的解决

(1)部分重发机制:仿滑动窗口协议在本系统中,由于选用超$低功耗芯片MSP430,因此不可能将整张图片保存在FLASH中。本文在此借用了TCP/IP中的滑动窗口协议原理实现部分重发机制。

如图8所示设定窗口大小为3,在网关接收到数据包后,向$单片机发送对应ACK 表明接收成功(图中ACK1,ACK2)。若在规定时间内没有收到则重发对应数据包(重发Pack3)。当窗口内数据包都被成功接收后,窗口向后滑动进行下次发送(准备发送Pack4,Pack5,Pack6)。

(2)丢帧后的校正

此部分算法在网关服务器上实现,大致流程为:在服务器上将JEPG图像转化为BMP图像(利用GDI+实现),并获得其缩略图。然后利用灰度图像处理中的膨胀算法,通过计算空白区域周围的像素点获得内部像素点。

设f(x,y)是输入图像,b(x,y)是结构元素。用结构元素b 对输入图像y 进行膨胀的运算被定义为:

最后空白的地方利用缩略图放大进行填充。引用此算法后,丢帧图像得到一定程度纠正,效果如图9所示。

3.3 iPhone客户端实现

3.3.1 iOS系统与Objective-C介绍

苹果iOS 是由苹果公司开发的手持设备操作系统。iOS与苹果的Mac OS X操作系统一样,它是以Dar-win为基础的,因此同样属于类Unix的商业操作系统。

iOS 架构分为4 层:Cocoa Touch 层,Media 层,CoreServices层与Core OS层。其中Cocoa Touch层提供了基本的系统行为支持,可降低开发者的工作量。Media层包含图形,音频,视频技术。Core Services层为所有应用程序提供基础系统服务,应用程序并不能直接是用这些服务,但它们是系统很多部分赖以建构的基础。

iOS 开发所需语言为Objective-C,它是扩充C 的面向对象编程语言。

3.3.2 iOS客户端设计作为此监测系统的移动客户端,在iOS平台上实现主要功能为:用户登录,查询保险箱位置,查询实时图片,主动拍照与定位以及基本配置。这些功能既满足了客户的基本需求,又具有了一定的可移植性。

手机客户端采用客户端/服务器(CLIENT/SERV-ER,C/S)架构进行设计,通过采用超文本传输协议(Hy-pertext Transport Protocol,HTTP)和简单对象访问协议(Simple Object Access Protocol,SOAP)与Web服务器进行通信与数据交互。客户端系统结构如图10所示。

如上节所述,当保险箱报警模块被触发后(异常震动,湿度温度过高等),会将最新GPS位置信息,连同所采集到的图像信息发送至服务器。此时服务器会向iOS客户端发送一报警信息,随后客户端通过PUSH(推送)功能向手机使用者推送报警信息。若用户查看客户端,可以获取当前最新的所有信息,有助于帮助用户更好地管理以及追回保险箱。同时,该客户端提供用户主动查询位置与拍照功能,使用户了解保险箱的实时状态。
[page]

3.3.3 iOS客户端实现

从用户角度进行需求分析,该应用主要用到与服务器交互,地图定位,图片操作,发送短信等功能。以上功能的实现将逐条介绍。

(1)与服务器交互

手机终端与服务器间的通信的数据格式采用可扩展标记语言格式(Extensible Markup Language,XML),手机通过HTTP和SOAP方式与服务器进行数据交互。

SOAP 方式可通过开源类“ASIHTTPRequest”与“GDATA”共同实现。

具体实现流程为:首先按照WEB Service 提供SOAP 1.2请求示例打包SOAP请求字符串,同时按照该示例创建请求实例,所包含字段为:HOST,Content-Tpye,Content-Length 与SOAPAction.完成后将该请求发送至Web服务器,在收到回复后利用SOAP类解析其中内容即可。

(2)地图定位

在iOS 5.x 及以下版本中,都可采用谷歌地图实现该功能。本软件利于MapKit 框架并配合CoreLocation框架进行开发。在进入地图页面后,客户端访问Web服务器获得用户保险箱所在位置坐标,并对坐标值进行校对,而后标注在地图上。考虑到若保险箱丢失,用户无法判断陌生地点的情况,客户端允许用户分别以标准/卫星/混合3 种方式查看地图。在载入地图后,客户端通过调用MKReverseGeocoder 类反相查询坐标点信息,以获得所处位置的国家/城市/街道名,供用户更方便的追踪设备位置。

(3)数据信息处理

客户端提供3 种数据信息服务:查看最新报警数据,查看历史数据与手动采集数据。查看最新报警数据是利用Web 服务器从服务器读取最新数据,用户若认为此数据有用,那么可以连同该图片所在位置信息等保存至客户端,方便以后查看。另外,客户端可以通过短信方式控制用户拥有的监控设备进行数据采集,随后在更新服务器数据后显示在客户端上。

4 功能测试

本系统分为3 个部分,因此,本章节将分两个小部分展示:前端监测硬件,前端监测与数据平台的测试,数据平台与手机客户端的监测。前端监测硬件如图11所示,图中可看出硬件主体,天线,摄像头与电池。

前端监测与数据平台之间的交互主要为信息的发送,需发送信息包括心跳帧,警报信息(含GPS位置),图片信息等。服务器上接收程序接收区如图12所示。

图12中,第1条为震动后发送的报警信息,第2,3条为心跳帧,均以16进制显示。在图片发送完毕后,客户端可显示最新照片。由于超广角摄像头安置于保险箱内,周围会出现黑色区域,这是由于隐蔽措施所导致的,如图13所示。

机客户端对现代安防系统有非常实用的意义,并可以以此为基础衍生出更多具有实际应用的功能。目前该应用处于演示版阶段。加一个测试结论如图14所示。

5 结语

在对基于WSN 的$安防监测系统进行功能分析,系统设计与软硬件实现后,开发出了一套基于C/S架构的安防监测系统。该系统的硬件以超低功耗单片机MSP430为核心,具有无线传感器网络的优点,并结合了多媒体技术,具有稳定性高,正确报警率高,监测信息完善等特点。同时该套系统具有较为完善的用户服务,提供包括PC机,短信,用户网站与手机客户端等多种方式进行查询与追踪。

本文由大比特收集整理(www.big-bit.com)

声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请与我们联系,我们将及时更正、删除,谢谢。
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告