基于LINUX的远程环境监控小车系统的设计
2020-07-22胡俊才陈正鹏
陈 晨,胡俊才,陈正鹏,钟 东
(1.湖北科技学院 电子与信息工程学院,湖北 咸宁 437100;2.咸宁市公安局,湖北 咸宁 437100)
当今社会wifi一直被手机控和电脑控们视为珍宝,它是一种可以将电脑、手持设备等终端以无线方式线连接的技术。而物联网是指各类传感器和现有的互联网相互衔接的一个新技术。通过wifi无线传感器网络,能够利用现有的wifi网络资源来部署和实施物联网通讯,将能够节约大量的硬件成本。如果可以将家庭中的家用电器、家具等联入无线网络,而通过用一些有第三方客户端的终端进行远程控制,那么我们的生活将变得充实方便,丰富多彩。以小车作为控制对象,实现wifi无线通信技术在小车上的智能控制,可以通过终端发送一定的指令让这个小车代替人去做一些危险性高的、力所不能及的事情。同时支持图像识别自动驾驶。
本文设计基于ARM A9处理器,移植了LINUX操作系统,具有使用方便、快捷等特点,因此适用于普通人群,只有使用电脑链接WIFI输入视频流地址即可远程监控当前环境,同时支持自动驾驶,采用了图像识别技术可以根据不同颜色不同箭头方向自动转向,适用:家庭:无人在家自动开启环境监控,可以登录进入视频流界面,查看智能小车拍摄到的视频流信息。特定场所:野外,探测比较危险的地形,可以将智能小车放出,远程控制其传输回图像信息。仓库管理:可以通过不同颜色的箭头指示小车行驶的方向,达到自动控制的目的。
一、系统整体设计
本设计主要是基于LINUX和Altera的FPGA芯片设计一个一种基于Linux的低成本远程环境监控小车系统。系统采用了2块ALTERA公司DE1低成本开发平台进行系统开发,采用Linux操作系统,内核版本4.2.0。整个系统首先通过图像界面进行外设配置检测,加载操作系统,运行预置程序代码分析周边环境,保存数据到系统备份区,开启外设,可以灵活的选择不同功能,自动驾驶,环境监控,远程手动控制,可应用于有任何有环境监控需求的场合.系统设计中充分利用了DE1开发板硬件资源。系统主要包括:DE1_SoC开发板、MT7621开发板、ar9271wifi模块、2303USB串口芯片、摄像头D5M以及触屏液晶显示器HMI。其中DE1_SoC开发板中使用了FPGA、SDRAM、EPCQ、拨码开关等。系统运行过程如下:
1.系统初始化,初始化内存区,加载图形界面,进入开机欢迎界面,点击进入控制界面,配置相应外设,等待外设配置稳定进入系统。
2.当系统运行成功,进入主控制界面,分为多种控制功能,小车控制界面,板载设置,开发人员,安全备份管理等。选择对应界面控制不同状态。
点击安全备份管理即可查看当前备份状态安全信息,与备份保存状况,保证掉电仍可读取相关配置信息。
点击板载设置即可设置当前屏幕亮度,传输波特率,清除数据缓冲区无效的指令信息,与触摸校准。
点击小车控制界面即可选择小车的不同控制方式,手动控制与自动驾驶,自动驾驶能够对不同图像进行识别达到根据图标方向运行的状态。
系统整体设计框图,如图1所示:
图1 系统整体设计框图
二、系统硬件设计
系统主要模块及其设计电路主要有以下几个方面:
1.人体探测模块
人体红外探测是采用RE200B,RE200B是热释电红外传感器。该传感器采用热释电材料极化随温度变化的特性探测红外辐射,采用双灵敏元互补方法抑制温度变化产生的干扰,提高了传感器的工作稳定性。
人体红外接收头工作原理:这种传感器是由一种晶体材料做成,当这种晶体表面受到红外线照射时,会在晶体表面产生电荷。随着光线对晶体照射的改变,电荷量也会发生改变。这种传感器对于不同波长的光线照射都能产生不同程度的响应,因此在传感器前会加入一个滤镜窗口,这就是我们能看到的RE200B上像玻璃似的小窗。通过这个滤镜可以限定晶体对特定波长的光线产生响应,一般在7um~14um,这样就非常接近人体辐射的红外线波长了。其人体红外探头RE200B设计电路如图2所示,人体红外处理设计电路如图3所示。
图2 人体红外探头RE200B电路
图3 人体红外处理电路
2.wifi视频流摄像头模块
传感器是决定手机摄像头成像品质最为重要的一部分,也经常被手机厂商作为宣传的重点,厂商也习惯采用传感器的分类来对手机摄像头的类型进行分类。常见的摄像头传感器类型主要有两种,一种是CCD传感器,一种是CMOS传感器。CCD的优势在于成像质量好,但是制造工艺复杂,成本居高不下,特别是大型CCD价格非常高昂,且耗电高,并不适合在移动设备上使用。在相同分辨率下,CMOS价格比CCD便宜,但图像质量相比CCD来说要低。CMOS影像传感器相对CCD具有耗电低的优势,加上随着工艺技术的进步,CMOS的画质水平也不断地在提高,所以目前市面上的手机摄像头都采用CMOS传感器。
3.控制液晶
在种类方面,触摸屏液晶包括了电阻式触摸屏,电容式触摸屏,红外线式触摸屏,表面声波触摸屏等几种。目前应用最多的是电容式触摸屏,电容式触摸屏是一块四层复合玻璃屏,玻璃屏的内表面和夹层各涂有一层ITO,最外层是一薄层矽土玻璃保护层,夹层ITO涂层作为工作面。当手指或者是其他物体触摸在金属层上时,就会在触摸点处形成一个耦合电容,对于高频电流来说,电容是直接导体,于是手指从接触点吸走一部分很小的电流。这个电流分别从触摸屏的四角上的电极中流出,并且流经这四个电极的电流与手指到四角的距离成正比,控制器通过对这四个电流比例的精确计算,得出触摸点的位置。目前大多数触摸屏液晶显示器都采用这种类型,不过由于电容式触摸屏是一块四层复合玻璃屏,透光率不均匀,存在色彩失真的问题,并由于光线在各层间的反射,还会造成图像字符的模糊。可视角度也非常差。
触摸屏液晶不仅仅是一显示终端,而且也是输入设备,其应用范围非常广泛。工作时,用户用手指或其他物体触摸液晶屏,系统根据触摸点的位置输入相应的信息。触摸屏由触摸检测部件和触摸屏控制器组成;触摸检测部件用于检测用户触摸位置,接受后送触摸屏控制器;而触摸屏控制器的主要作用是检测触摸点的位置信息,并将它转换成触点坐标,再送给CPU,它同时能接收CPU发来的命令并加以执行。
4.温湿度传感器
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件。该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选样。产品为 4 针单排引脚封装。
三、系统的实现步骤及方法
本系统设计采用了Altera公司的DE1开发板、DE1开发板、MT7621开发板、ar9271wifi模块、2303 USB串口芯片、摄像头D5M、人体红外传感器、湿度模块、温度模块以及触屏液晶显示器HMI。在 DE1开发板上实现了 Linux操作系统的搭建,用Busybox重新构架了最小linux系统。在DE1开发板上利用mem对外设进行访问。在HMI触屏液晶上对按键进行设计,减少了硬件按键的使用,从而提高了稳定性。在DE1开发板上通过串行口对小车运行状态实现了控制。通过FPGA部分图像处理,控制小车进行图像识别,控制小车的自动行驶方向。系统工作后,软件不断的发射wifi视频信号,接收外部蓝牙控制信号。
1.图像识别
首先从SDRAM读取缓冲了的图像数据,对其进行二值化处理,得到如图4所示图片,接着计算出X_CNT与Y_CNT的值,通过比较其大小可以先确定箭头是横向还是纵向,然后再判断DIS与Y_CNT/2的大小就可以得出具体方向。
图4 方向判断示意图
2.电源模块的实现原理
整个系统由一块12V2 000mA的Ni-Cd电池供电,而单片机的供电为12V。根据以往经验选取TPS7350和TPS7333为其提供电源。
其稳压输出波形波纹较小。但在使用过程中为单片机提供电源的TPS7350出现了严重的发烫现象,经过稳压源测试发现发烫的原因为电流过大。TPS7350和TPS7333数据手册中记载的输出的电流为500mA。在使用时切勿将TPS串联使用,即先用TPS7350稳到5V,再用TPS7333稳到3.3V;后来选取运用LM2596S-12V,LM2596S-5V,分别得到12V和5V的稳定电压,输出最高电流可达3A,输出线性好,负载可调,系统效率高,可以用仅80μA的待机电流,实现外部断电,具有过流保护功能,带载能力较强。经过长时间的使用,电路十分稳定。
3.视频图像流处理
视频设备的一般操作流程:
首先打开设备文件。查看设备具有什么功能,命令为VIDIOC_QUERYCAP;然后,选择视频输入,一个视频设备可以有多个视频输入,命令为VIDIOC_S_INPUT;再设置视频的制式和帧格式,制式包括PAL,NTSC,帧的格式包括宽度和高度等,命令分别为VIDIOC_S_STD,VIDIOC_S_FMT;然后向系统申请帧缓冲,一般不超过5个,命令为VIDIOC_REQBUFS;将申请到的帧缓冲映射到内存。普通文件被映射到进程地址空间后,进程可以像访问普通内存一样对文件进行访问;将申请到的帧缓冲插入队列,存储采集到的数据,命令为VIDIOC_QBUF;接着开始视频采集,命令为VIDIOC_STREAMON;从队列中取出已采集到数据的帧缓冲,命令为VIDIOC_DQBUF;将帧缓冲重新插入队尾,这样可以循环采集,命令为VIDIOC_QBUF;然后停止视频的采集,命令为VIDIOC_STREAMOFF,最后关闭视频设备。
4.传感器外设管理
红外探头采用RE200B,当周围没人时,探测器的红外输出为低电平,一旦感应到周围有人,就会不断产生上升沿,当nios接收到这个触发信号后,发送1给hps,表示检测到人,否则发送0。感应示意图如图5所示。
图5 传感器感应示意图
本文设计的远程监控小车系统如图6所示
图6 远程环境监控小车系统实物图
四、结语
本文设计的基于Linux的远程环境监控小车系统,实现了wifi无线通信技术在小车上的智能控制,可以通过终端发送一定的指令让这个小车代替人去做一些危险性高的、力所不能及的事情,同时支持图像识别自动驾驶。本系统的开发具有一定的实践应用价值。