首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于OPenWrt开源系统的无线视频监控智能车设计

基于OPenWrt开源系统的无线视频监控智能车设计

摘要:引入了一种基于开源系统的无线视频监控智能车设计方案,该方案利用双核、双系统的开源硬件来搭建智能车的基础设备,再利用开源的OpenWrt系统构建基于REST API的用户交互接口。用户可以通过该接口控制智能车的运动,以及获取传感器数据,最后利用基于Web的开源摄像头采集系统MJPEG—STREAM搭建视频监控系统。本方案可降低开发成本、提高开发效率,具有较高的应用价值。
关键词:OpenWrt;MJPEG—STREAM;开源;ATmega32U4;Atheros AR9331
引言
随着计算机科学技术的不断发展,各种智能化的设备也应运而生,特别是近期无人遥控飞机新闻的频繁曝光,从明星求婚到快递运送,都体现了无人遥控设备将是未来产业发展和创新应用的一个新起点。然而目前无人机在多数情况下只用于航拍或空中测绘,而对于室内应用,如对无尘、防盗,以及环境参数要求较高的企业仓储管理来说,无人机在续航和室内定向巡航方面就显现出了劣势;而对于如地震、泥石流等自然灾害中常见的狭窄处补给物资的运输和地下生命的探测,无人机的功能则大打折扣。
基于以上这些原因,本文提出了一种基于开源硬件的无线遥控视频监控智能车的设计,把开源硬件和Linux系统相结合,把视频监控车变为一个带WiFi功能的智能设备,用户可以通过合理的系统配置,使智能车加入已有的WiFi网络,从而使用户可以通过无线方式实现对智能车运动的控制和实时视频监控画面的传输,解决了因某些原因导致一些场所无法进入时,对内部环境的监控和物资运输的问题。同时,采用开源硬件也避免了硬件设备高额的设计费用和调试费用,为今后智能设备的开发及应用提供一种新的解决思路。
1 系统总体设计
本设计采用双核、双系统的方式进行架构设计,从而明确各子系统的责任,减轻硬件系统的负担,提高各子系统的内聚性,并降低各子系统间的耦合性。其中,智能车控制系统采用基于AVR内核的ATmega32U4芯片,该芯片的时钟频率为16 MHz,具有20个数字接口、12个模拟接口,以及7个PWM接口,同时内建的USB通信功能可以省去外围电路中UART转USB的设计。而无线视频监控系统则采用目前公认的相对稳定的WiFi解决方案,即Atheros AR9331芯片方案,该芯片采用MIPS架构,CPU主频达到400 MHz,并且只需要3.3 V就可以实现超低功耗的802.11n协议。因此对于本系统来说只需要一个5 V的USB接口就可以为整个系统实现供电以及程序的烧录等功能,使得系统的开发极为方便。
此外在软件运行过程中,用户可以通过智能系统提供的REST API轻松地实现与智能车系统之间的通信,并控制智能车的各种运动、避障,甚至在智能车自动控制和手动控制之间进行切换;同时,在视频监控系统中内建了基于嵌入式Linux的Open Wrt系统,并基于该系统搭建了实时视频传输系统——MJPEG-STREAM,用户只需要使用HTTP接口就可以方便地实现实时图像数据的传输。
2 MJPEG—STREAM视频流的实现
MJPEG—STREAM是一个基于“运动图像压缩技术”的摄像头图像采集系统,并且该系统通过Web方式进行实时图片传输,用户只需要利用浏览器就可以实现视频监控等工作,同时由于该系统采用开源方式进行开发,因此对该系统的任何修改和使用都不存在版权的问题,降低了视频开发的成本,提高了开发的效率。
本项目基于OpenWrt系统对MJPEG—STREAM的构建,而OpenWrt也是一个开源的嵌入式Linux系统,其包含3000多个软件包,用户只需要通过简单的指令就可以实现软件的下载、编译、安装和使用,具体构建步骤如下:
①更新OpenWrt的软件源。
OpenWrt:~# opkg update
②下载并安装UVC摄像头驱动,安装结束后插入摄像头,如果在OpenWrt的/dev目录下看到video0文件,则表示安装成功。
OpenWrt:~#opkg install kmod-video-uvc
③下载并安装MJPEG—STREAM开源库。
OpenWrt:~# opkg install mjpeg—streamer
④连接摄像头,启动MJPEG—STREAM,并设置其输出的分辨率和地址。
OpenWrt:~# mjpg_streamer-i“input_uvc.so/dev/video0—r 640x480”-o”output_http.so-p 8080-w/www/webcam”
⑤最后在浏览器中输入以下地址,就可以进行视频监控。
http://local_ip:8080? action=snapshot
http://local_ip:8080/?action=stream
3 REST接口的设计
REST(Representational State Trans fer)即表述性状态传递,是Roy Fielding博士在2000年提出的一种软件架构风格,是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。其定义了一组体系架构原则,开发人员可以根据这些原则设计以系统资源为中心的Web服务,包括使用不同语言编写的客户端如何通过HTTP处理和传输资源状态。目前 REST已经成为最主要的Web服务设计模式。
返回列表