当前位置:首页 > 单片机 > 单片机
[导读]引入了一种基于开源系统的无线视频监控智能车设计方案,该方案利用双核、双系统的开源硬件来搭建智能车的基础设备,再利用开源的OpenWrt系统构建基于REST API的用户交互接口。用户可以通过该接口控制智能车的运动,以及获取传感器数据,最后利用基于Web的开源摄像头采集系统MJPEG—STREAM搭建视频监控系统。本方案可降低开发成本、提高开发效率,具有较高的应用价值。

摘要:引入了一种基于开源系统的无线视频监控智能车设计方案,该方案利用双核、双系统的开源硬件来搭建智能车的基础设备,再利用开源的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接口就可以方便地实现实时图像数据的传输。

硬件方面采用了开源的设计,通过全世界硬件工程师的不断改进和完善,保障了硬件系统的稳定,同时开源设计也节约了大量的前期硬件开发成本,提高了硬件系统的开发效率,降低了开发成本。而在软件方面,其主要特点体现在用户接口上,不论智能车控制系统还是视频监控系统,均采用HTTP通信方式,可以实现对各类终端设备的支持,如移动终端、PC端,甚至Web端。系统结构如图1所示。

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服务设计模式。

在本项目中REST接口主要实现3方面的应用,分别为监控摄像头的多角度转动、智能车的运动控制,以及各类传感器实时数据的获取,具体如下。

①监控摄像头的多角度转动:包含控制水平舵机和垂直舵机的角度,其中垂直方面以摄像头面向地面为0°,向上为0~180°,而水平向左为0°,向右为0~180°,但当用户没有设定角度时,则传递默认值10给后端进行处理,具体如表1所列。

②智能车的运动控制:包含控制车辆的前进、后退、转弯,以及停止等操作,同时需要用户传递车辆前进、后退、转弯的速度值给系统,否则系统将使用默认值向后端系统进行传递,如表2所列。

③各类传感器实时数据的获取:要获取传感器参数,首先要获取各类传感器的类型,因此本系统要提供一个接口来返回本系统包含的所有传感器类型,然后再通过该类型获取相应传感器当前实时的数据,如表3所列。

4 CGI程序的设计

在本项目中除了通过REST API接收到用户的各类请求之外,更为重要的是在分析和辨识这些请求后,能够利用串口通信把这些指令发送给ATmega 32U4进行处理,而要把REST接口和本地应用相结合的桥梁就是CGI。

CGI(Common Gateway Interface)是万维网技术中最重要的技术之一,是本地应用程序与Web服务器之间的接口标准和信息传递的规范。通过CGI可以使Web服务器执行本地应用程序,并将它们的输出发送给Web浏览器,使得Web页面由单一的静态展示变为完整的交互媒体。

首先本项目采用双核、双系统的方式进行架构,因此在Atheros AR9331和ATmega32U4之间采用串口作为数据通信的方式,另外由于在Atheros AR9331上部署了基于Linux系统的OpenWrt,而Linux系统对于串口的操作非常方便,因此在接收到用户的REST请求之后,只需要按照 CGI程序的编写规范获取用户的请求数据,并从中解析出请求类型和请求参数即可,最后通过串口把这些请求和参数发送给ATmega32U4进行后期处理,具体流程如图2所示。

5 智能车控制系统的设计

智能车控制系统主要包含3方面内容,即智能车运动控制、摄像头云台控制,以及各类传感器的数据获取。通过接收前端用户的指令,并经过CGI程序的分析和传递,用户就可以利用任意平台中的HTTP访问来控制智能车和云台的运动,以及获取传感器的数据。

5.1 智能车运动系统的设计

本系统中智能车运动系统的电机驱动采用ST公司的典型双H桥直流电机驱动芯片L298N,该芯片具有较强的驱动能力,最多可提供2 A的峰值电流和46 V的峰值电压,此外由于L298N只提供2路驱动,但本项目需要使用对4路步进电机的驱动,因此采用对原来的2路输出进行扩展,把其变为4路两相输出,使得把左、右两边独立的4路输出合并为左、右两边2路的输出,具体如表4所列。

在表4中EA和EB分别表示左、右电机的PWM速度,当PWM越高时,智能车的运动速度越快;I1、I2和I3、I4分别表示左、右两个电机的转向,0、1时为顺时针,1、0时为逆时针。

5.2 摄像头云台系统的设计

本系统中摄像头云台控制系统主要采用RobotBase生产的RB-421一维度舵机进行控制,该舵机可以精准地进行水平或垂直方向转动角度。

舵机控制系统主要由舵机控制线传送可变PWM脉冲来进行控制。通常舵机的基准信号周期为20 ms,宽度为1.5 ms,当传输该PWM信号为基准信号时,舵机处于最大角度和最小角度的中间位置,即90°位置。

当PWM信号的周期为0.5 ms时,舵机所处的位置为0°,而当PWM信号周期为2.5 ms时,舵机所处的位置为180°,如果此时传输的PWM信号保持不变,那么舵机的位置就不发生变化,直到所受的外力大于其自身的最大扭力,舵机才会发生角度的变化。具体PWM与角度的关系如图3所示。

5.3 智能车传感器系统的设计

本系统中采用了多种传感器,例如通过灰度传感器实现智能车的自动巡视功能,通过超声波传感器和舵机的结合实现小车180°的避障,通过红外传感器实现尾部障碍物的躲避,以及通过温湿度、烟雾等环境传感器来获取实时环境参数。

当用户向智能车发送传感器数据请求时,系统通过CGI把请求发送到ATmega32U4芯片,该芯片与各类请求类型进行匹配从而运行相应的传感器处理函数,并通过串口发送至CGI程序,最后CGI程序通过Web的方式把数据呈现在用户面前,其流程如图4所示。

结语

本文讨论了基于开源硬件的无线视频监控智能车的主要技术,通过双核、双系统的架构提高了系统整体的稳定性,并减轻了各模块的工作负担;其次在本系统中用户指令和视频监控均采用HTTP方式进行数据交互,使得本系统能够通过任何终端对智能车进行控制,扩大了系统的应用范围和应用场合,摆脱了以往只有专用设备才能进行控制的局面。

最后,本系统中不论软件还是硬件都采用开源设计,大大降低了系统开发成本,提高了系统开发的效率。本项目通过整合多方面的资源,为今后智能设备以及无人驾驶技术的开发提供了一种可行的方法,具有一定的应用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

业内消息,近日马斯克旗下 AI 初创企业 xAI 发布新闻稿,宣布正在开源 3140 亿参数的混合专家模型 Grok-1,该模型遵循 Apache 2.0 协议开放模型权重和架构,号称是“迄今为止全球参数量最大的开源大语...

关键字: 马斯克 大模型 开源 OpenAI ChatGPT xAI Grok-1 Grok

开源免专利芯片技术RISC-V成为美中科技战的新战场。华盛顿过去几个月一直在讨论限制中国获取RISC-V技术,认为中国利用RISC-V绕过了美国对华芯片出口管制。上个月众议院一个委员会建议成立一个跨部门政府委员会研究RI...

关键字: RISC-V 开源

众所周知,寒武纪是地球生物大爆发的一个关键期。寒武纪地球气候发生了明显的变化,从冰期转变为了温暖的温带气候,为生物提供了良好的生存环境,从而促进了生物的大量繁殖和多样化,而这种生物学上的进化和开源软件的发展有着异曲同工之...

关键字: 开源 寒武纪 处理器

北京2023年9月22日 /美通社/ -- 华为全联接大会2023期间,华为举办了"昇思MindSpore AI框架:引领大模型&科学智能原生创新"主题论坛,软通动力数字化创新服务线高级副总裁...

关键字: DSP AI 模型 开源

北京2023年9月22日 /美通社/ -- 随着人工智能、云计算等技术的快速发展,算力需求爆发,服务器设计呈现多元异构特征,如何快速适配多种通用计算处理器、多种异构加速器和各类部件,实现服务器高效、稳定、可靠运行,对服务...

关键字: 三星 开源 英特尔 PEN

北京2023年9月18日 /美通社/ -- 9月17日,828 B2B企业节软通动力主题日,第二届软通动力"917转型"企动日峰会以"云上新生态,数智新动力"为主题在北京软通动力总...

关键字: 华为云 数字化 石墨 开源

(全球TMT2023年9月12日讯)近日,2023中国国际数字经济博览会数字雄安论坛在石家庄国际会展中心举办。软通动力子公司鸿湖万联受邀参加本次论坛,软通动力集团高级副总裁、鸿湖万联的总经理秦张波代表鸿湖万联分别与雄安...

关键字: 鸿蒙 开源 操作系统 闸机

北京2023年9月12日 /美通社/ -- 近日,以"智能 绿色 创新 -- 打造未来典范之城"为主题的2023中国国际数字经济博览会数字雄安论坛在石家庄国际会展中心举办。作为开源生态的先锋军,软通动...

关键字: 开源 鸿蒙 操作系统 闸机

深圳2023年9月8日 /美通社/ -- 近日,超算领域国际顶级会刊SC23公布了论文入选名单,由微众银行区块链团队发表的论文——《FISCO-BCOS:An Enterprise-grade Permissioned...

关键字: 区块链 OS 开源 联盟链

北京2023年8月31日 /美通社/ -- "大模型的未来在于行业应用",对此业界已经达成了共识,下一步则是如何将大模型在行业中落地。 于是,我们能够看到,既前一阶段的基础大模型之后,近来又掀起了行...

关键字: 模型 ICT 开源 IDC
关闭
关闭