李研, 黄凤辰, 严锡君
(河海大学 计算机与信息学院, 南京 111000)
在信息化大浪潮下,物联网技术取得了极大的发展,并在工业、环境、交通等各方面影响着人们的生活。物联网网关作为联系物联网和其它通信网络的纽带,起着十分重要的作用;由于物联网涉及的技术领域广、实现的功能多,以及应用环境的多样性,使得传统的物联网网关存在着成本高、应用领域单一、人机交互性能差等问题。
针对以上问题,本文以ARM11处理器S3C6410、嵌入式Linux操作系统为硬件和软件平台,结合嵌入式技术和无线传感器网络技术实现了一套物联网网关监测系统解决方案。遵循模块化的设计方法,充分考虑物联网网关功能的丰富性、扩展性和应用的多样性等需求。
物联网网关系统构成,如图1所示。
图1 物联网网关系统结构图
主控制板和协调器电路板作为硬件载体,配备触摸屏、无线网卡、GSM收发器等硬件模块搭建网关硬件平台,网关肩负数据汇集和中转的功能,其主要工作有如下两个:
(1) 环境信息汇集。主要针对监测环境的信息获取,采用两种不同类型的数据获取方式:对小容量的物联网数据,协调器板向下沟通着无线传感器网络,通过对无线传感器节点的访问获取温度、湿度等参数;对于大容量的视频信息,拟采用WIFI通信方式,以无线网卡连接视频采样设备,实现快速、大量的图像和音频数据的传输。
(2) 物联网数据转发。网关主要承接了对无线局域网设备和GSM设备的联系。通过无线网卡连接到局域网网络,通过GSM收发器连接到GSM网络,将物联网数据传送到服务器存储,并且对其进行实时检测,一旦数据发生异常,就将报警短信发送到用户手机上。
网关上除操作系统运行所必须的S3C6410处理器、SDRAM、NAND FLASH、以及网口、串口等模块,以及用于人机交互的4.3寸TFT液晶屏和触摸屏外,还包括为整个系统提供精准时间的PCF8563时钟日志管理系统,存储大容量视频数据和传感器数据的SD卡,用于向用户发送告警信息的GSM/GPRS模块,实现语音录放、传输交互的WM9714语音模块,增加用于语音外放的TDA2030功率放大模块,S3C6410通过UART外连WSN协调器,协调器主要由MSP430F5418微控制器和AT86RF212射频芯片构成,协调器预留JTAG下载接口,此外还集成8MB的FLASH芯片,用于无线传感器网络数据的暂存。
同时设计无线传感器网络节点和视频采集板,以搭建系统测试环境。传感器节点可布署多个,传感器节点上除了微控制器和射频芯片外,主要包含各类传感器,如温湿度传感器模块SHT1X、光照强度传感器模块TSL2561。视频采集板上同样包含录放音和传输交互的WM9714和USB无线网卡以及USB摄像头。
软件系统的工作流程分为两部分:一部分是环境信息的采集包括无线传感器网络信息的采集和视频信息的采集,另一部分是网关上信息的显示、存储和转发。协调器与传感器节点构建成星型网络,协调器周期性地遍历所有传感器节点汇集传感数据,然后向主板上传。网关主板上由协调器查询任务将数据接收,然后将其送入共享内存以便被其它任务获取。视频采集板端的信息将会通过无线wifi由图像和语音接收进程将数据接收。在信息的显示、存储和转发部分:设计QT界面完成用户的查询存储命令,同时,当发现异常数据时,GSM短信任务将会向用户发送报警短信;而服务器通信任务也会将传感器数据上传到服务器。
系统主要包括人机交互、GSM/GPRS模块、协调器和视频采集等主要模块。
人机交互模块主要由4.3寸TFT液晶屏和触摸屏构成, 液晶屏的分辨率是480*272,24位RGB真彩,最多可显示16.7万色,具有高亮度、高对比度、低功耗等优点。LCD图像接口和触摸屏接口可直连到S3C6410处理器相应的引脚上。S3C6410 LCD控制器的作用是将缓存中的像素数据传送到外部的LCD驱动器,并产生LCD图像控制信号,LCD图像控制信号必须与该TFT液晶屏的信号规格相符,TFT液晶屏的图像控制信号说明如下:帧同步信号XVVSYNC、行同步信号XVHYNC、像素时钟信号XVPCLK和数据使能信号XVDEN;图像数据信号线包括R0~R7、G0~G7以及B0~B7,硬件设计的时候采用16位接线方式,RGB显示方式为5∶6∶5。LCD背光电路所需的典型电压是16V,采用DC-DC直流升压芯片作为电压转换电路。背光驱动电路主要由TPS61040升压转换芯片,LCD和触摸屏的接口与背光电路原理图,如图2所示。
图2 液晶屏接口原理图
针对4.3寸液晶屏设计了网关的用户界面。QT用户界面是基于QDialog对话框完成。人机界面主要目的是增加系统的可视性,便于用户的操作和维护,实现系统在线监测。用户界面包括两部分。一是网关关登陆界面,作为网关操作人员的权限检查,另一部分是网关的用户主界面。正常登陆后,即可进入到用户主界面中,主界面包含GSM/GPRS、视频采集板、WSN网络、以太网、存储器、IO资源六个模块。
GSM/GPRS模块采用SIMCom公司的SIM900A模块。SIM900A模块使用主要使用到了开关机接口电路、SIM卡接口电路、UART串口电路。开关机接口电路主要包括一个三极管电路,三极管的输出与SIM900A的PWRKEY相连,用户可通过把PWRKEY信号拉低一段时间然后释放来开机和关机。ESDA6V1W5是一个四位线宽的单片抑制器,主要用于保护线路的数据传输不受静电的干扰。SIM900A模块与S3C6410处理器通过串口2进行通信,SIM900A的RXD引脚要求在不使用的时候必须要拉高,因此采用NC7WZ07来实现RXD引脚的上拉需求。SIM900A的应用原理图,如图3所示。
图3 SIM900A的应用原理图
短信转发任务是在监测的环境出现异常时通知用户。短信处理任务主要由两个用户进程构成,父进程的主要任务是不断检查网信息是否出现异常。程序预先为每个传感变量都设置了两个阀值,即上限阀值和下限阀值,如温度2~40(°C)、湿度为20~70(%)、光照强度10~40(lux)。父进程会将异常数据写入异常数据区,紧接着通知短信收发子进程共享内存中存在异常数据,短信发送子进程会从共享内存的异常数据区读取出问题的数据,添加必要的报警信息,然后向用户发送报警短信。短信转发任务处理流程,如图4所示。
协调器向上连接着网关主板,向下负责与无线传感器网络节点进行信息交互,因而协调器软件上主要负责两块任务:第一是轮询网络中的传感器节点,汇集无线传感器网络信息;第二是接收、解析网关主板发送的查询帧,并根据查询字段上传传感器节点数据。协调器硬件采用TI公司的MSP430F5418单片机和Atmel公司的AT86RF212射频芯片。MSP430F5418通过USCI(Universal Serial Communication Interface)与射频芯片的SPI接口相连,通过SPI接口,单片机完成对射频芯片工作的控制和数据的发送和接收。协调器上还集成有一个8MB的FLASH芯片,用于对无线传感器网络的数据暂存,以便主处理器查询。协调器采用3.3 V供电,供电电压直接来自主板,MSP430F5418单片机的UART1与网关的S3C6410处理器的UART3相连,通过串口向上传送数据或接收来自主处理器的命令。
协调器通电后,首先进行系统初始化,包括主系统时钟、射频芯片、UART、FLASH芯片的初始化以及系统中断、定时器等的配置。然后协调器轮询传感器节点,接收到的传感数据存储到FLASH芯片中。协调器以中断的方式接收主处理器发送的查询命令,在遍历完网络中的每一个节点后,将检查网关发送命令标志位cmd_flag,若cmd_flag为0,则表示未接收到查询命令,若为1,则表示已接收到查询命令,根据命令,将符合要求的信息从FLASH中读出打包成数据帧,放至发送缓冲区推送出去。协调器软件处理流程,如图5所示。
为节省资源和网关设备的安装方便,网关、视频采集板和服务器之间采用无线连接方式,即配置三者的无线网卡的工作方式,并设置它们的IP使其处于同一网段,以无线路由器作为连接中介进行信息无线通信。
视频采集板的硬件电路主要包括五部分:核心处理器模块、程序调试辅助接口、RT-73无线网卡、USB摄像头和WM9714音频录放音电路。视频采集板在软件上主要完成图像的采集传输和声音的采集传输,而两部分任务又是独立进行。在图像传输任务方面,移植Mjpg-streamer开源项目构建图像采集传输服务器。Mjpg-streamer是一款视频服务器软件,底层采用V4L2开发框架,主体包括输入初始化和输出初始化,输入初始化会创建抓图线程cam_thread,调用、初始化视频采设备捕获图像数据;输出初始化创建:并发服务器线程和客户端处理线程。并发服务器线程负责监听客户端请求,一旦到来就创建一个新的客户端线程处理该http请求。网关作为客户端,请求、接收视频并进行解码。网关客户端框架结构,如图6所示。
(a)父进程软件流程图(b)子进程软件流程图
图4 短信转发任务处理流程
图5 协调器软件处理流程图
图6 网关客户端框架结构
当网关客户端发送请求之后,服务器端会返回以http作为响应头的视频数据。因为接收到的jpeg格式的图片有固定的帧格式,只需将接收到的数据按字节分析,以0xff和0xd8开头,0xff和0xd9结尾的数据段,将其转换为jpeg图片进行显示或保存,按这种操作循环,就完成了视频的接收和解码。
对于声音传输任务,视频采集板和网关建立起TCP连接,视频采集板的录音子进程一边进行环境录音一边将音频数据通过管道发送到音频发送子进程,音频发送子进程将音频数据发送到网关,网关根据软件配置进行本地音频播放和存储;同时网关也可以将语音命令反向发送到语音节点上进行远程播放。而网关又和服务器建立TCP连接,网关作为客户端向服务器发送连接请求,在得到服务器的响应后即可将无线传感器网络信息从共享内存中取出,添加时间等必要的提示信息后上传到服务器。在整个系统通信和处理任务设计上,音频的录音、传输、播放和存储等进程之间采用管道方式通信,以太网通信过程,如图7所示。
本文采用ARM11的微处理器S3C6410所设计所物联
图7 语音节点、网关、服务器通信示意图
网网关,除具备一般网关所具有的连接互联网功能外,还集成有多种通信接口,可与GPRS/GSM网络、wifi、无线传感器网络等多种网络进行通信连接;向下担负着无线传感器网络信息的采集和汇聚,向上承接着将网络信息存储并转发的任务。网关实现了数据采集、短信报警、远程视频监控和数据转发等功能,功能多样、性能稳定,达到了对物联网的有效管理。
参考文献
[1] 朱洪波,杨龙祥,朱琦.物联网技术进展与应用[J]. 南京邮电大学学报.2015, 31(1):1-7.
[2] 乔雷,雷斌,杜剑英. 基于Android平台的物联网网关方案设计[J]. 电子元器件应用,2015,14(11):5-9.
[3] 赵慧然,石磊,张坤. 基于ZigBee技术的物联网网关设计[J].微计算机信息,2012,28(4):62-63.
[4] 孟勇涛.基于嵌入式系统的物联网网关研究与实现[D].北京:北京邮电大学, 2012.
[5] 杜强.嵌入式WSN数据采集融合网关的设计与实现[D].西安:西安电子科技大学,2013.
[6] 宫莉莉,赵勇.基于嵌入式Linux系统的LCD驱动实现[J].嵌入式系统应用,2012(12):1-3.
[7] 郑道宝,王怀杰.基于ARM/GPRS的远程图像报警系统的设计[J]. 计算机测量与控制,2013,21(1):149-159.
[8] 康维新,郑威威等.基于S3C6410和Linux的H.264编码器的实现与优化[J].计算机测量与控制,2012, 20(8): 2220-2222.