基于井盖安全系统的WSN网关设计
扫描二维码
随时随地手机看文章
引言
道路上的井盖遍及城市各地,由于人为偷盗或者长期磨损导致井盖丢失、塌陷,对过往车辆和行人造成危险。针对井盖监控手段欠缺,目前以人防、物防为主,急需设计一种技术防范的安全监管系统。近几年随着无线传感网络的发展,利用无线传感网络设计安防领域已成为热点。由于井盖之间距离较近,结合ZigBee短距离通信技术,设计一种基于井盖安全监控系统的嵌入式网关,网关接收来自无线传感网络协调器的数据,处理、存储后通过GPRS网络传输到公共网络中。
1井盖监控系统的工作原理
本文的井盖监控系统的工作原理图如图1所示,其系统组成为包含井盖报警器的ZigBee网络、嵌入式网关、GPRS短信模块、Web服务器。井盖报警器之间采用ZigBee无线通信技术,每个报警器作为ZigBee网络中的节点,通过固定的组网方式形成无线传感网络。报警器以接力的方式将数据传到ZigBee网络的协调器节点,协调器节点负责接收所有网络中的报警器节点信息。嵌入式网关通过串口1获得ZigBee无线传感网络中的报警器数据,将数据通过数据库存储并处理,将必须的信号发送给GPRS模块,GPRS电路将其转发到具有固定IP地址的Web数据库服务器中,实现报警数据的上传。市政设施管理处以及自来水厂等政府机构可以通过网络查询自己单位的井盖状态,是否需要维护,并记录,同时发送短信给检修人员,实现及时维修和处理。
图1井盖监控系统工作原理
2系统网关的硬件设计
本系统的网关硬件组成框图如图2所示,该网关包含三星公司的微处理器S3C6410、存储模块、JTAG接口、LCD显示接口、GPRS模块等。
2.1处理器
系统采用三星公司的S3C6410微处理器作为网关硬件电路,S3C6410采用ARM11的内核架构,采用8级流水线与数据地址总线分离的哈佛结构[4-5]。包含多种硬件外设,支持NOR-FLASH,NAND-FLASH,OneNAND,CF,ROM等多种存储器端口,增加的流水线设计提高了时钟频率和并行处理能力。是一种高性能的32位RISC处理器,可以稳定运行在667MHz主频以上。主要应用于嵌入式设备、消费类电子、工业控制、车载导航、行业PDA等电子产品。
2.2存储模块
网关的数据都放在存储模块中,S3C6410的平台包含NANDFLASH,NORFLASH和SD卡三种。NANDFLASH采用三星公司的K9F1G08U0型号,大小为128MB,存放bootloader,启动参数、内核、根文件等,网关设计采用从NANDFLASH启动,选择德国DENX软件中心开发的U-Boot作为bootloader进行引导。NORFLASH采用低电压供电且具有低功耗模式的S29AL08D芯片,大小为8MB,3V供电。S3C6410提供SD卡接口,可以外接SD卡,支持从SD卡启动。
JTAG接口
S3C6410可使用简易JTAG电路对FLASH进行在线编程,通过标准20针接口同宿主机相连接,实现FLASH的擦除和编程。
GPRS模块
GPRS模块采用SIMCOM公司的SIM900A,工作频段支持EGSM900MHz和DCS1800MHz,可以使用包含CS-4等多种编码格式,内置TCP/IP协议,采用SPI接口,同微处理器S3C6410的串口0相连。
LCD显示接口
LCD选用7寸真彩色宽屏AT070TN92,外带7寸电阻触摸屏,分辨率800X480,支持LVDS接口。
3网关平台的搭建
S3C6410微处理器采用移植性较强的Linux操作系统,能够固化在容量小的嵌入式设备,系统内核选用2.6.38.8,搭建网关开发平台主要包含三个部分:引导程序、内核、系统文件[6-7]。编译环境选择交叉编译,选择VMware虚拟机,交叉编译器选用arm-linux-gcc-3.41,实现在Windows操作系统下编译嵌入式Linux系统执行的文件。
引导程序主要负责加载操作系统,实现硬件的初始化,建立设备的内存映射表。加载方式采用将BootLoader搬移到SDRAM中进行执行,比直接在FLASH中运行速率快。采用开源的U-boot作为BootLoader,针对S3C6410硬件修改体系结构相应代码实现移植。
内核部分主要针对需要进行内核裁剪和添加,获取标准的Linux内核2.6.38.8版本,配置Kconfig文件,产生.config文件,通过编译内核生成内核镜像文件zlmage。将GPRS模块驱动和LCD驱动编译生成动态文件,采用insmod方式加载到内核。
系统文件主要制作Linux系统的根文件系统,Linux所有设备都是以文件形式存在,选择常用的cramfs文件系统,启动内核需要根文件系统来挂载。下载Busybox工具进行配置,利用mkcramfs制作文件系统的镜像。
4网关的软件设计
井盖监控系统的网关设计软件工作流程如图3所示,包含三个处理事件:串口、数据库和QT界面设置。
串口处理需要通过启动进程实现,本系统需要接收ZigBee网络传输的数据,网关和ZigBee网络的协调器通过串口1连接,网关启动一个进程接收ZigBee网络的节点数据,包括节点地址和采集的传感器参数。当有数据传输过来时,按照节点ID将数据存储在SQlite3数据库中。
数据库采用SQlite3的小型嵌入式数据库,占用250KB空间大小,支持数据库达到2TB。网关启动后在相应路径建立数据库,同时建立数据库表项,包含节点ID和节点地址以及传感器采集的井盖状态信息等。
应用程序界面采用QTCreater设计,基于C++进行开发的应用程序框架。设计良好的UI界面,通过按键的触发调用数据库和串口提供的API接口函数,显示出各个井盖模块的安全状态。后台运行串口服务程序和数据库,QT通过动态库的方式调用相关数据。
图3网关工作流程图
5实验分析
针对井盖分布状况,进行无障碍距离测试,实验以丢包率进行测试。每隔5s从无线传感网络节点发送数据到网关,网关收到数据后分析并记录。测试范围在130m以内,10m为间隔,在每个距离点上发送300组数据,实验结果如图4所示。实验结果表明,节点距离在60m范围内丢包率为0,数据稳定传输,合理安置井盖节点报警器可以满足系统的应用要求。
6结语
系统采用低功耗ARM11的S3C6410的处理器设计井盖安全报警系统,结合ZigBee无线传感网络布控井盖报警器,通过GPRS网络将数据传送给远程监控系统,达到实时监控的效果。该网关可扩展接口较丰富,将井盖安全状态信息通过串口接收,发送控制命令给无线传感网络的协调器。基于QT开发了友好的应用界面,可以实时查询井盖状态,并对历史数据进行存储。该网关功能丰富,可扩展性较强,具有低功耗、高通信效率的特点,可广泛应用与井盖安全监控领域。
20211119_61972c3870f71__基于井盖安全系统的WSN网关设计