基于WiFi的可实时视频同传的探测小车
扫描二维码
随时随地手机看文章
摘要:为了在高温、有毒等特定环境下进行视频图像数据、气体参数等环境状态的检测,本文设计一种基于单片机的可实时视频同传的探测小车。Windows监控端通过DB120无线路由器与单片机STC89C52控制中心通信,发送控制信号给电机驱动模块L298N、LED模块,实现小车转向、进退及灯光的控制;摄像头模块、温度传感器模块进行视频数据、温度数据的采集,并实时回传给Windows监控端。
引言
随着自动化技术的发展,智能控制广泛应用在军事、科研、民用领域。无线探测小车集成了电子、机械、通信、传感器、计算机软硬件、人工智能及自动控制等多方面的技术。此外,其成本低、体积小、操作简单,能较好地应用在勘探、环境监测等应用。本文旨在设计一种能在高温、有毒等特定环境下,进行远距离无线遥控以及摄像、测温探测的单片机小车控制系统。
1 系统总体方案设计
本项目设计的是集单片机控制模块、摄像模块、温度传感器模块、照明模块及路由模块为一体,可实时视频传输及环境探测的探测小车,其系统硬件结构框图如图1 所示。探测小车以单片机芯片STC89C52为控制中心,电机驱动模块L298N进行小车直流电机的驱动控制,温度传感器进行外部环境的检测,摄像头模块进行视频图像的采集,LED模块进行照明,并通过无线WiFi路由模块实现Windows控制端与小车的无线通信。
2 硬件设计及选型
硬件部分主要采用市场上比较流行、稳定性高且性价比高的模块,此外,大部分模块都组装简单、升级方便、可移植性强,便于项目的开发及后续升级维护。例如,摄像头可通过USB接口直接连到路由器上,无需单片机转发,简化了视频流的传输。
2.1 电机驱动模块
电机驱动模块选用L298N,可接收标准的TTL逻辑电平信号,可驱动46 V/2A以下的电机。其驱动模块原理图如图2所示,L298N输入电压是12V,L298N的OUT1、OUT2和OUT3、OUT4之间分别接2个电机,本项目可直接使用单片机的I/O输入口Port1~Port4,APWM、B PWM改变L298N的IN1、IN2、IN3、IN4引脚及ENA、ENB使能端,从而分别实现控制电机的正反转及停止功能。
2.2 无线WiFi路由模块
无线WiFi路由模块采用的是DB120路由器,此路由器是OpenWRT系统,刷机升级十分简单。本项目可以通过网络下载,在同一网段内通过浏览器登录192.168.1.1,选择“0829-openwrt-rc6-RG100A_DB120-squashfs-cfe.bin”版本的固件进行烧录。固化后,该路由模块可作为转发站,实现USB摄像头的加载及与单片机的串行通信。
2. 3 摄像头模块
本项目选用中星微301主控芯片的USB摄像头模块,通过简单的路由设置就能快速实现摄像头的挂载。挂载成功后,可通过路由器的WiFi转发摄像头的动态视频至Windows控制端。
2.4 温度传感器模块
本项目选用DALLAS公司生产DS18B20的一线式温度传感器,进行外部环境数据的监测,其线路简单,仅有GND、DQ、VDD三个引脚。其中,DQ为数字信号输入/输出端,GND为电源地,VDD为外接供电电源输入端。
3 软件设计
本项目中,用户监控端与探测小车通过WiFi路由进行数据传输,因此,开发人员在软件设计与实现过程中需要对小车进行控制编程、监控视频动态显示、控制界面GUI设计及网络编程(Socket编程)。
项目开发过程中,选用Keil C51开发环境,对探测小车进行软件编程,实现对外部环境的测温及小车电机的控制;选用编程简单灵活、可移植性强的QT开发环境,进行Wind ows控制端的GUI设计、Socket编程及视频动态显示。此外,还选用了单片机多功能调试助手软件、TCP&UDP—Debug软件进行单片机的通信测试。
3.1 小车电机控制编程
进行电机驱动模块L298N的电路连线,Port1~Port4分别为P2^0~P2^3,查阅L298N的数据手册,对照其逻辑功能表在Keil C51下进行电机前进、后退、左转、右转和停止的编程。编程样例如下所示:
3.2 Socket编程
探测小车与路由器通信中,主要用到了QTcpSocket客户端和QTcpServer服务器,其中本项目进行监控端Socket编程。按照通信的交互时序,先创建TcpSocket类,然后建立连接。其关键代码如下:
3.3 监控端GUI设计及视频动态显示
进行监控端界面设计时,需考虑到整个界面的布局及易操作性。本项目选用WebView控件进行视频的显示;ButtonBox控件作为前后左右等按钮开关;Label控件显示温度值、时间和标题;LineEdit控件作为IP和端口号输入端。
由于WebView控件只能加载路由转发的静态图像,因此,为了实现监控端实时视频动态显示,除了进行IP地址及端口号绑定设置外,还需要多加一个定时器来动态刷新。以下为关键代码:
3.4 实验结果
通过软硬件设计、编程调试及后期功能测试,探测小车系统能较好地实现小车控制、外部环境监测、视频实时动态显示、LED照明等功能,整个控制过程中,可操作性较强系统启动后,用户只需进行IP及端口的绑定设置,然后单击“连接”按钮;连接成功后,该按钮将变成“已连接”状态且右边的红色标识变成绿色,此时,通过监控端上的按钮,用户可对小车进行前后左右的控制、开关LED灯、获取实时视频图像及外部环境温度。Windows监控端如图3所示。
结语
基于WiFi的实时视频同传的探测小车是一个集单片机、路由器、摄像头、QT等各种软硬件于一体的智能化探测小车系统。本系统只是一个基础平台,包括小车行走控制、灯光控制、测温、实时视频传输、数据回传功能,其软硬件设计简洁,开发成本低。在今后的研究中,针对不同的应用及环境特性,项目研发人员可以在此基础上增加相关模块功能,如云台舵机、机械手臂、气体检测传感器模块,可对外部环境实现全方位的视频监控、危险物品拾取、有毒气体的预警等。