基于OpenWrt的无线监控系统
2016-05-17辽宁科技大学电子与信息工程学院
辽宁科技大学电子与信息工程学院 张 博 曲 强
基于OpenWrt的无线监控系统
辽宁科技大学电子与信息工程学院 张 博 曲 强
【摘要】设计了一种采用stm32ARM芯片作为控制,带有OpenWrt系统的无线模块传输模块传输采集到的传感器数据和视频图像,安装Mjpeg‐stream视频采集程序对现场画面进行监控。本设计方案可降低设备成本、减少线路连接,有较高的可升级性和扩展性,具有较高的民用和工业价值。
【关键词】OpenWrt;无线监控;stm32f103
0 引言
“基于OpenWrt的无线监控系统”利用了无线wifi网络,实现对多个分散地点的远程全面的综合监控,如温度、设备状况、现场监控视频的使用情况等。还可以根据需要增加如湿度监测等其他监测。与传统的监控系统的相比,本系统采用无线传输,使现场监控设备不受现场环境位置的限制,大量安装后可以对不同地点和不同设备的数据进行监控。主控芯片接收到采集到的视频监控信息、温度和电压等数据后,将其压缩打包,通过无线网络发送到网络服务器上,节约了本地储存资源的成本,还可以方便的了解监测情况。因为其具有对不同设备的适应能力,简单的安装工作以及相对低廉的价格,易于进行推广,有广阔的市场前景。
1 系统总体设计
系统总体设计如图1所示,主控芯片采用stm32f103 ARM芯片,外设有对摄像头的舵机云台控制,精密电压采集模块,OLED显示模块,以及其他采集模块都与ARM主控芯片相连接,将高清摄像头和ARM芯片数据发送至无线模块,无线模块与互联网和本地计算机相连接,进行远程监控和操作。
图1 系统总体设计
图2 单片机电路图
2 系统硬件设计
2.1stm32f103最小系统
主体控制采用stm32f103控制芯片,其最小系统版如图2所示,此芯片采用了具有强大的处理能力和先进架构的Cortex-M3内核,在其中我们设计了晶振电路,片内集成i2c储存器接口PB6.PB7接口与OLED相连,PB0带有多路精密AD转换可以采集需要的数据,多路PWM输出A2-A5直接与舵机相连,易于与对设备进行控制,还可以将采集到的信号等信息经过编码处理后通过串口B10.B11上传至无线传输模块,从而上传至网络服务器方便监控理。
2.2基于AR9331的无线模块
无线视频监控系统则采用稳定的WiFi传输方案,具体设计结构如图3所示,无线采用高通AR9331芯片,芯片主频可达400MHz,额定电压3.3v,使用过程简单方便,只需一个USB接口就可以为整个模块提供电源和程序的装载与升级,该模块符合国际标准的802.11 b/g/n协议,采用DSSS、OFDM、BPSK、QPSK、CCK和QAM基带调制技术,能自适应路由器等设备的无线热点。最大连接速率可达150Mbps。强大的扩展性和丰富的网络组建,经常被用于大量设备中。同时,它还提供了丰富的已编译好的软件,而OpenWrt SDK简化了开发软件的工序。在无线监控模块中安装了基于Linux的OpenWrt 系统,并在安装了实时视频传输软件Mjpeg‐stream,用户只需要输入特定的网站地址就可以对实时数据进行监控。
图3 无线模块结构图
图4 OLED液晶屏电路图
2.3SG90舵机云台模块
为了提高监控的可视角度,本设计采用了安装有云台控制的监控摄像头,采用 SG90微型舵机。使用20ms周期的PWM脉冲波,使其高电平的范围大约为0.5ms-2.5ms的脉冲控制舵机的角度从0°到180°自由转动。
2.4SSD1306 OLED液晶屏
显示模块使用SSD1306 OLED液晶屏(见图4),i2c协议的电路结构如图 4所示,把液晶屏直接与单片机的PB6.PB7引脚相连,就可以达到控制的目的,3.3v电压供电可以直接与单片机相连减少线路连接,利用外接屏幕可以再现场直观的获得采集的数据,方便新用户操作,进行现场调试和在线修改,对设备进行参数控制,对获得的数据进行补偿等。
2.5视频摄像头
本设计采用了微软的HD3000其分辨率可达720P的高清摄像头,免驱并支持MJPEG,使用方便易于安装价格适宜。
3 系统软件设计
3.1主体控制模块程序设计
在进行数据采集和发送终端的固件程序设计包括以下两个方面,数据的采集和无线数据的传送。数据采集部分采用中断方式采集数据每间隔1s采集数据一次,并将采集好的数据存放在单片机的缓冲区内。经过简单的数据监测判断有无数据异常,然后根据设定按规定时间向服务器发送数据。也可以在收到服务器发送的查询指令后对特定采集数据进行传送。
图5 软件流程图
3.2基于Mjpeg‐stream视频传输实现
3.2.1安装监控软件
在已经装载好OpenWrt系统的基础上为了实现无线视频传输,需要在系统中安装MJPEG STREAM软件包,用于把图片格式的文件变成流媒体输出。将摄像头与无线模块相连接,接着远程登录到到无线模块上,执行logread命令,会打印出路由器开机后的终端log。出现”usbcore: registered new interface driver uvcvideo”,以及含有”/dev/video0″,则说明免驱摄像头挂载成功。
3.2.2配置执行监控软件
首先要去mjpeg-streamer的sourceforge网站下载它的最新源码解压安装至系统中。将其放到路由器的/web目录下,将参数写入命令行。
mjpg_streamer -i "input_uvc.so -d /dev/video0" -o "output_http.so -p 8080 -w /web "
运用上面指令可以使mjpeg-streamer以默认的640×480分辨率、30fps显示图像,并且监听8080端口的http请求。其自带的一个小型web页面,页面所在的地址为/web。对地址进行访问就可以对采集图像进行监控。
3.3远程控制设计
3.3.1基本原理
为了实现远程数据的传输和处理,需要进行端口映射和动态域名的配置,设置家用无线路由器为外网映射模式,这样无线路由器就相当于一个连接,使无线模块和外网连接起来。
当无线模块访问路由器的特定的端口时,就会被路由器重新连接到一个指定的的ip地址端口,达到远程连接的目的,将视频监控接口设置为8080端口,数据传输设置为2001端口,将无线模块的ip地址和mac地址与路由器绑定就可以完成外网映射。
3.3.2无线模块设置
(1)将无线传输模块从AP模式转换为Client模式,在BSSID中设置需要连接的ssid名称
(2)在OpenWrt系统中passphruse选项中填入相应的路由器密码,使其与带网络的路由器相连。将路由器ip地址与无线模块连接后就可以使整个系统与互联网相连接,使我们可以再任何地点都可以对设备的状况和数据进行观察和记录。
3.3.3视频模式测试
在整个系统搭建完成后,我们对无线视频采集传输和远程视频检测进行测试,测试系统的流畅程度和帧数可达15帧,可以流畅的进行观测。
4 结果与分析
无线视频监控系统的实物如图6所示,该系统可以对远程设备的运行状况、传感器采集数据和远程视频图像进行实时采集,也可以对设备进行远程的控制,基本完成了设计要求。
摄影头选用的是微软HD3000,视频采集图像清晰,Web控制网页如图7所示,用户可以在网页的中心看到视频监控图像,在网页的右侧还有舵机的控制按钮,通过滑动按钮,改变舵机的PWM脉冲输出,利用其可以改变摄像头的位置,拥有更大的观测范围。
图6 实物图
图7 网页上位机
5 结论
本文设计了一种有stm32作为主控,安装openwrt系统的无线模块共同组成的无线视频监控,设计出相应的硬件电路和与之对应的web控制端上位机,采集部分加入了温度采集和电压采集基本实现了系统功能。本系统可以根据用户的需要添加任意的采集模块和设备,在视频监控方面也可以加入人体特征识别系统,热成像等技术,便于系统的开发和扩展。
参考文献
[1]王铭,倪平,王冬,李道德.基于3G网络的远程无线综合监控系统[J].电子技术应用,2011,01:114-116+119.
[2]杨柳,刘铁英.物联网引导无线通讯技术发展[J].中国外资,2013,24:201.
[3]孙书鹰,陈志佳,寇超.新一代嵌入式微处理器STM32F103开发与应用[J].微计算机应用,2010,12:59-63.
[4]胡绍忠.基于Linux嵌入式视频监控系统的研制[D].中国科学技术大学,2009.
[5]张先翔.基于ARM的嵌入式远程视频监控系统的设计[D].武汉理工大学,2010.
[6]李丽娟,李理敏,郑诺,侯旭波. 基于OpenWrt的无线视频监控系统设计[J]. 温州大学学报(自然科学版),2015,04:50-55.
[7]杨鑫.基于ARM-Linux 的视频监控系统设计及视频无线网络传输[D].北京交通大学,2011.
张博(1995—),辽宁大连人,大学本科,现就读于辽宁科技大学。
作者简介: