基于WiFi的远程视频测控系统设计与实现

2015-06-24 13:29盛平宋志敏
软件导刊 2015年6期
关键词:视频监控智能控制嵌入式

盛平 宋志敏

摘要:基于WiFi的远程视频测控系统可以通过Web及移动终端(平板、手机)远程实现智能控制以及视频监控,并将视频数据与操作记录等存储于云服务器上。研究了物联网、云服务器、移动终端等技术,以AR9331无线WiFi芯片为核心处理器、红外可控摄像头为视频采集模块,利用云服务器,采用WiFi技术,构建了高度集成的嵌入式实时测控平台。LUCI技术实现一键连接,具有体积小、成本低、稳定性高、安全性好、操作便利等特点,集智能控制及安防等功能于一体。以宠物喂食视频监控为例,以AR9331无线模块搭配Linux系统提供云服务。实验结果表明该系统稳定可靠,能够很好地实现智能喂食与监控功能,满足宠物看护与安防需求。

关键词:WiFi;视频监控;嵌入式;智能控制

DOIDOI:10.11907/rjdk.151120

中图分类号:TP319

文献标识码:A 文章编号:16727800(2015)006008303

基金项目基金项目:2014年江苏省产学研联合创新资金项目(BY2014123-03);镇江市农业发展项目(NY2011011)

作者简介作者简介:盛平(1957-),男,江苏镇江人,硕士,江苏大学计算机与通信工程学院高级工程师、硕士生导师,研究方向为嵌入式测控系统、视频监控及跟踪;宋志敏(1989-),男,江苏淮安人,江苏大学计算机与通信工程学院硕士研究生,研究方向为嵌入式测控。

0 引言

宠物经济所产生的连锁效应不可小视,宠物所推动的连锁产业在当今激烈竞争的市场占据了一定的份额。目前市场上的宠物看护系统品种不多,大多数产品功能单一,不能满足人们日益增长的需求。近年来,随着智能家居[1]技术的发展和生活节奏的加快,对智能化设备的准确性、有效性、便利性提出了更高要求。

基于WiFi的远程宠物喂养及监控系统具有特定喂食与监控功能,可以对宠物进行实时监控,根据需要进行远程控制、智能喂食,并将所有数据与视频保存到云服务器上。整个系统支持一键连接,方便用户使用,界面美观大方,稳定性高,同时本系统还可以应用到家居自动化、室内外安防等领域,具有广阔的市场前景。

1 系统总体结构

系统由AR9331核心WiFi模块、云服务器、远程客户端3部分组成。其中AR9331核心模块主要负责将喂食参数、视频数据传送至云服务器以及接收控制命令去执行相应的喂食操作。云服务器主要负责对接远程客户端和喂食机之间的通信、管理喂食机信息和用户信息。远程客户端通过与服务器的交互来获取喂食机的实时视频以及实时对喂食机进行喂食喂水控制,系统结构如图1所示。

系统工作流程为:设备上电,通过一键设置程序将喂食机连接互联网,喂食机发送UDP心跳包与服务器连接,注册相应设备信息。客户端软件启动,通过HTTP请求与云服务器交互,提交相应的用户信息以及相关联的设备信息。服务器通过对注册信息的处理匹配,实现喂食机与用户设备的实时交互。

2 系统功能模块设计

2.1 AR9331核心WiFi模块

AR9331WiFi模块采用ATHEROS公司的AR9331芯片,该核心板上运行的是基于Linux内核的OpenWRT系统。OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,通常用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。它提供了100多个已编译好的软件,而且数量还在不断增加, OpenWRT SDK更简化了开发软件的工序。AR9331WiFi核心模块架构如图2所示。

2.1.1 设备一键连接模块

目前市场上设备连接网络设置比较复杂,笔者对WiFi模块的多种模式进行了研究并结合网络编程知识,通过UCI来设置WiFi的工作模式,实现设备一键智能联网功能。一键连接模块工作过程如下:

设备接收到硬件的触发设置信号后,通过UCI将WiFi设置为AP模式(Access Point,提供无线接入服务,允许其它无线设备接入,提供数据访问 ),然后启用UDP服务监听指定的端口号。用户通过手机客户端先获取想要连接的网络设备用户名ssid、mac地址、加密方式和路由器密码,然后通过WiFi连接喂食机并通过UDP将以上数据发送给核心板。核心板在收到设置参数后,通过UCI来将WiFi设置为sta模式并连接指定的网络设备。

2.1.2 设备控制模块

设备控制模块主要是通过接收网络控制命令并解析命令数据包,通过RS232对继电器板实现实时控制,从而进行喂食喂水操作。控制程序模块主要采用多线程网络编程和串口编程[2],分为两个线程:一个线程用来定时向云服务器发送UDP心跳包,确定喂食机是否在线和实时向云服务器更新喂食机设备的逻辑地址;一个线程用来监听网络端口,实时接收云服务器发回来的控制命令,从而实现喂食喂水操作。控制流程如图3所示。

2.1.3 视频模块

选择成熟稳定的网络摄像机模块。网络摄像机一般会提供SDK(软件开发包),这使得视频开发快捷方便。本系统采用威视达康的视频解决方案。

2.2 云服务器

云服务器端主要分为喂食机设备信息提取更新模块和基于Web Services的设备控制模块两个部分

2.2.1 喂食机设备信息提取更新模块

因为喂食机设备不止一个,属于一对多的网络通信编程,会出现多个设备同时更新,所以设备信息提取更新模块采用udp异步通信编程来实现[3]。主要实现过程如下:服务器端通过异步监听指定端口,接收喂食机设备发送的心跳包数据,然后从心跳包中提取出设备对应的ID号,并通过对UDP报文的分析提取出设备对应的IP地址和端口号,来确定喂食机设备的唯一逻辑地址。因为设备心跳包发送频率较高而设备信息变更频率较低,所以本系统将设备信息先暂存在一个XML文档中,每次将接收到的数据与XML中的数据比对,如果发生改变才将数据更新到数据库,这样可以大大降低数据库的压力。

猜你喜欢
视频监控智能控制嵌入式
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
应用型人才培养导向下智能控制教学改革探讨
浅谈开关式电梯IC卡系统及展望
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器