新疆电信全渠道运营中心 新疆乌鲁木齐市 830000
摘要:随着移动互联网时代的到来,各种智能手机迅速占领手机市场,WiFi成为生活中不可或缺的网络连接工具。随着通信技术、网络和电子技术的发展,智能手机逐渐进入智能家居、工业控制等领域。手机作为终端监控形式是一种蓬勃发展的远程监控技术,用它控制硬件以其携带方便、操作简单成为其技术的重要应用。尤其是近年来,它发展迅速,不仅在军事领域,在民用领域也是如此。
关键词:RT5350;STM32;无线通信;手机终端;
系统通过建立一个无线局域网平台,以STM32单片机和RT5350模块作为硬件平台,以搭载IOS系统的智能手机作为客户端,结合TCP/IP传输协议和串口传输协议,实现了视频数据流、手机控制指令、以及相关数据的无线传输。此系统不仅实现了控制指令的下传,还实现了数据信息的上传。经测试,该无线通信系统在35m范围内能够流畅的查看摄像头拍摄的视频,进行无错控制和无错数据传输,并且两个传输过程互不干扰。
一、总体的设计
一个典型嵌入式系统一般由硬件层和应用软件层组成。本设计硬件平台采用RT5350模块和STM32单片机组成,RT5350模块开发环境为OPENWRT,同时,此RT5350硬件平台上集成了摄像头USB接口和串口。USB摄像头和USB接口相连,RT5350硬件平台上的串口既是网络串口,负责无线数据的发送和接收,同时又是两个硬件设备之间的数据通信串口,与STM32串口相连。摄像头上配有专用的云台和电机,使得此摄像头可以自由旋转,拍摄360度的景象而不仅仅局限于正前方的景象。此RT5350模块有3个作用:1)用来实现视频数据以及感应数据的无线上传;2)实现手机端指令数据的无线接收;3)与STM32单片机的数据交互。STM32单片机作为下位机的硬件平台,装载在车体上,是控制核心和采集核心。控制核心指对车体的控制:前进、后退、转弯、移除障碍物等,采集核心主要是指采集环境数据和距离数据传往手机终端。环境数据主要是指温度数据和湿度数据,所用的传感器为DHT11温湿度传感器,距离数据主要用超声波模块来采集,超声波模块置于车体最前端。车体外围还包括特殊设计的光照电路,使得此车在黑暗中能够以最低功耗正常工作。车体上还装有一个机械臂,主要用来接收手机终端的指令执行移动障碍物的操作。视频和相关数据通过RT5350这个传输媒介无线传到手机终端上。
二、RT5350模块开发环境的搭建
RT5350是在OPENWRT平台上开发,此OPENWRT平台在能够被开发之前需要做必要的准备。
1.OPENWRT平台的搭建(开发步骤)。在Ubuntu12.04系统环境下,装好必要的软件包后,下载OPENWRT环境,配置好必要的选项后,编译固件,编译结束后把相对应的.ipk文件下载到RT5350开发板。下载完成后在RT5350开发板配置网络,配置完成后在手机或者PC上就可以搜索到其建立的无线局域网,这样基本的环境就搭建好了。
2.驱动的移植。平台搭建好后,需要为接入设备(在这里指摄像头)安装必要的驱动和转化包。首先需要把Ser2net应用程序的ipk编译入RT5350平台中。Ser2net的作用是把接收到的网络数据(TCP/IP格式)转化为处理器可以处理的串口数据,同时也可以把串口数据打包成网络格式(TCP/IP格式)发送出去。这是网络串口最基本的形式。在此无线控制系统中,此程序发挥着重要的作用。把此程序放入RT5350的启动项程序中,只要RT5350一上电就自动启动该程序,即启动监听。每当串口接收到来自STM32的数据,或者从手机终端接收到指令,便会自动触发该程序,把串口数据自动打包或者把控制指令解析成处理器能处理的字符,再送到下一级处理。其次,安装通用USB摄像头驱动gspcav1,安装这一驱动的目的是让USB摄像头在RT5350平台上得以识别。最后,还要安装支持视频流处理的各类驱动如V4L2等。
3.视频监控环境的搭建。必要的驱动和安装包安装好后便可以开始搭建视频监控环境。在这一过程中,需要安装mjpeg-streamer。mjpeg-streamer有以下的目录结构:mjpeg-client—监控客户端;mjpg-streamer—mjpeg流媒体服务器,以插件的形式支持不同的视频采集和流媒体协议输出;mjpg-streamer-experimental—实验版本的流媒体服务器,以插件的形式支持不同的视频采集和流媒体协议输出;udp-client-QT客户端,以及uvc-streamer-uvc服务器。在视频传输过程中,实际需要使用的是mjpeg流媒体服务器,它可以支持不同格式的视频采集且以mjpg流媒体协议输出。编译该流媒体服务器时,输入插件选择编译“input_gspcav1.so”,一起编译入OPENWRT开发环境后,在终端就可以运行该程序了,同样把此写入了开机启动程序中,使RT5350一上电就自动运行此程序。同时,它使用V4L2接口,运用socket编程和多线程编程。设置完成后,应用程序可以在此基础之上进行开发。
三、软件设计
1.STM32下位机程序执行流程。STM32是系统的控制核心和采集核心。控制模块部分主要有运动控制和障碍物处理,采集模块部分主要有环境数据和距离数据的采集,这些数据的无线传输都和STM32上的串口息息相关。5.2mjpeg-streamer程序处理在视频传输过程中,我们实际需要使用的是mjpeg流媒体服务器,它可以支持不同格式的视频采集且以mjpg流媒体协议输出。运行时,需要在配置文件里输入视频配置的参数,具体的参数有:1)图像输入(视频采集)插件,在这里是input_gspcav1.so;2)视频摄像头设备节点:在这里是/dev/video0;3)根据摄像头的型号来设置分辨率,在这里是640×480;4)帧率,即1s内采集与发送的图像帧数,在这里是30;5)网络输出端口,在这里是手机终端配置的接口(IP地址)5.3ser2net程序处理Ser2net程序可以实时双向传输数据,同时可根据依据的配置文件设置,可以配置成串口数据转成网络格式数据(net)和串口数据转成TCP/IP格式数据,在配置文件中,设定了串口转TCP/IP格式,同时在配置文件中设定了网络端口号、IP、监听串口号、串口波特率、停止位、奇偶位设置等。配置串口信息规定格式如下:
2001:raw:0:/dev/ttyUSB0:9600NONE1STOPBIT8DATABITS
2001是指TCP的监听端口号,即TCP端口,raw是指双向传输,0是指接通等待时间为0s,/dev/ttyUSB0是指设备和设备存在的目录,9600是指串口波特率,NONE是指无校验位,1STOPBIT是指1位停止位,8DATABITS是指8位数据位。此程序中的串口也就是网络串口。
总之,该系统具有体积小,操作方便,性价比合理的特点,不仅可用于工业领域,更简单地实现数据采集,也可应用于民用玩具等领域,具有良好的实际应用价值和广泛的应用空间。
参考文献:
[1]杨东.基于Android平台的WiFi定位.2019.
[2]赵晓俊.基于手机终端无线通信系统的设计与实现研究.2020.