基于无线传感器网络智能保险箱安防系统的设计(一)
扫描二维码
随时随地手机看文章
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所示。
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号与结尾校验位后再发送至后台服务器。这样的好处是,当多台设备同时发送数据时,后台程序将数据包的头尾进行解析,从而避免混淆。