基于物联网的智能检测飞行器设计

2017-01-21 22:22李敏刘颖
物联网技术 2016年12期
关键词:无线通信传感器

李敏++刘颖

摘 要:系统采用Cortex-A8处理器作为控制核心,结合物联网技术设计了一款智能检测飞行器,以实现无人区勘察、探测、报警的功能。飞行器采用四轴飞行器,搭载传感器、摄像头、WiFi等模块实现飞行器的探测侦察工作。设计中,在处理器内建BOA服务器,搭载视频流传输技术Mjpg-streamer以实现客户端终端设备的信息及视频查看。数据流的传输采用基于WiFi和2.4 G射频的传输方式。数据流、视频流的传输通过WiFi传输,手持遥控设备则通过射频信号向飞行器发送控制指令。经测试,飞行器飞行稳定,可实现飞行姿态调整及定点悬停。数据流及视频流传输稳定,地面可通过PC、手机等设备进行检测,效果良好。

关键词:传感器;四轴飞行器;BOA服务器;Mjpg-streamer;无线通信

中图分类号:TN915.41;TP393 文献标识码:A 文章编号:2095-1302(2016)12-00-03

0 引 言

近年来,地震、山洪、泥石流等自然灾害频繁发生,给人们的生命安全及财产造成了巨大损失。灾难具有不可预知性,但是灾难发生后第一时间的搜救工作却迫在眉睫,就发生灾害的地方而言,一般地形地貌比较特殊,救援人员很难进入,而且灾害刚刚发生,该地区的危险系数极高,即使进入受灾区,也极有可能对救援人员造成人身伤害。此外,在一些特殊地区,例如极寒极热地、峡谷之类的人类很难到达的特殊地区,怎样开展勘探侦察工作也是待考虑的问题。在这种情况下,基于物联网的智能检测飞行器的优势便体现出来。该智能检测飞行器可以看作一种智能机器人,飞行器利用对角线上的四个旋翼作为飞行引擎在空中提供动力,由于其特殊的动力结构,使得它具有尺寸小、重量轻、动力足、直升直降、低空飞行等优点,可以做出许多高难度动作,并能对其进行跟踪、定位、遥控和数字传输。此外,它还具备远程操控功能和自主导航飞行的能力。所以通过在飞行器上搭载相应的功能模块如视频采集模块、传感器测量模块等单元,可实现对飞行器的功能扩展,实现许多地面单位难以实现的功能。设计主要分为以下三大部分:

(1)飞行器平衡、姿态控制及调整。为了在飞行过程中保持平稳飞行,并在遭遇自然不可抗因素时做出及时调整和矫正,以便在突发情况中依然可以保证稳定的飞行和定点定高悬停、低空定高飞行[1];

(2)利用摄像头传感器等实现实时动态图像及信息的采集和无线传输,包括飞行器的飞行状态、飞行高度、环境数据监测、生还者搜索等,无线传输方面采用WiFi和2.4 G双模式通信,在保证传输带宽的同时,提高无线传输的稳定性,以应对复杂的地形特征;

(3)控制端控制飞行器的飞行,并实时显示飞行器的状态及灾情信息,为应对各种突发状况,设计系统采用多控制端控制方式,包括智能手机、平板电脑、笔记本、遥控器等,可以同时对飞行器进行控制和灾情查看。

1 系统设计方案

智能检测飞行器的设计原理图如图1所示。系统以Cortex-A8处理器核心作为整个系统的控制中心,即系统的主控模块。整个系统由控制中心来负责调度各项任务的执行,负责数据流和视频流的采集及传送。控制中心通过无线网络和地面遥控端及监测端进行信息交互、传递,从而控制飞行器的飞行模式及状态。同时将飞行器端采集处理的视频流发送给地面单元。此外,该模块还将传感器信息实时写入XML文件中,供控制端读取。

1.1 飞行器控制模块

飞行控制模块由三轴陀螺仪、加速度传感器、重力传感器、气压计、电子罗盘五部分构成。

(1)三轴陀螺仪可在空中检测飞行器的飞行姿态,陀螺仪作为水平、垂直、俯仰、航向和角速度传感器,可以检测到飞行器飞行角度何时发生偏转,系统再通过积分算法计算出偏转角度,从而得知飞行状态并进行姿态调整[2]。

(2)加速度传感器的工作原理是利用其内部可以通过加速度造成晶体变形产生电压的特性,系统通过计算电压值得知加速度的大小,通过计算法改变输出电压大小从而控制飞行器的加速度。系统可通过加速度传感器和陀螺仪获取飞行器在三维空间中的线性加速度,计算出当前的飞行姿态并加以调整。

(3)重力传感器用来测量飞行器与重力方向的夹角以判断飞行状态是否处于水平,此外,还能通过测量重力加速度计算出飞行器和水平面的倾斜角度。

(4)气压计通过计算气压随时间的变化值能够大致计算出飞行器的海拔高度,再配合超声波传感器从而精确确定飞行器的飞行高度。

(5)使用电子罗盘,飞行器能够得知当前飞行的方向,检测飞行器是否发生了旋转,并校正当前的飞行方向及角度。

1.2 信息采集模块

信息采集模块用来获取探测地区的相关信息,包括是否有生命迹象、地区当前温度、飞行器飞行高度、直观摄像信息等,其使用到的器件有超声波测距传感器、摄像头、人体红外传感器、测温传感器。其中,超声波测距模块的工作原理是通过向外发射超声波,并接收反射回的超声波,根据时间差计算出测量距离。系统通过超声波测距配合气压计,精确测量飞行器的飞行高度。此外,系统的自动降落功能及定高悬停功能也通过超声波测距模块实现。系统通过循环读取高度信息来自动调整螺旋桨的动力大小,实现定高悬停及自动降落。摄像头模块负责采集视频信号,通过视频处理芯片并结合程序算法可以让视频数据处理速度加快,并充分利用网络传输带宽,使视频传输流畅,消除视频的跳跃感。系统还可以根据要求调整视频分辨率,进行图像的放大缩小。人体红外传感器是基于红外线技术的自动控制模块,可以检测到地下57 m的人体红外,通过该模块来检测是否有生命迹象,如有,则立即向控制者发出报警从而展开救援工作。

1.3 无线通信模块

设计中,无线通信模块主要包括串口连接的WiFi无线模块及2.4 GHz的射频模块NRF24L01。通过WiFi模块搭建AD-HOC点对点网络,可以实现飞行器与地面监控设备的通信。射频模块则只用于飞行器和遥控器之间的无线通信。无线通信结构图如图2所示。

1.4 动力模块

飞行器的动力模块主要由无刷电子调速器和XXD 2212无刷直流电机构成[3]。无刷电子调速器可以根据飞行器的控制信号来调节电动机的转速以调整飞行速度。无刷直流电机则由电动机主体和驱动器两部分组成。由于无刷直流电动机以自控方式运行,所以不会像变频调速下重载启动的同步电机那样在转子上另加启动绕组,也不会在负载突变时产生振荡和失步。系统通过主控模块发送控制信号到电子调速器的控制信号[4],控制四个电机不同的转速,从而改变飞行器的飞行动作。

1.5 控制端

手持终端设备、PC机与遥控器采用不同的无线传输方式与不同的传输机制。手持终端设备使用Android系统,通过飞行器上搭建的BOA服务器下载飞行器上的传感器数据XML文件,并在终端的应用程序中进行XML文件解析,从而读取出实时监控信息。PC机通过飞行器上搭建的BOA服务器可以直接读取飞行器发送的视频流,同样通过解析XML文件的方式读取飞行器上的传感器数据。与手持终端不同的是,PC机上不需要额外安装客户端或配置环境,打开飞行器搭建的网页即可进行数据接收。

飞行器控制流程图如图3所示。控制端和飞行器利用无线射频网络建立通信后,向飞行器主控模块发送控制指令,主控模块对指令进行识别后,向飞行控制模块发出相应的信号,飞行控制模块最终控制动力模块对信号做出响应。

2 系统功能实现方法

智能检测飞行器的设计实现是物联网应用的典型实现,涉及传感器应用、网络应用、通信、控制系统等各方面,是其综合应用的体现。在各功能模块实现方法上,包括实现各传感器功能、实时视频采集与传送、传感器实时数据采集与传送、控制核心部分BOA服务器的搭建、Mjpg-streamer的移植等。

2.1 传感器功能实现

HC-SR501是基于红外线技术的自动控制模块,具有全自动感应功能,当有人进入其探测范围感应时输入高电平,当离开感应范围时则自动延时关闭高电平输入低电平[5];DS18B20采用单线的接口通信方式,通信方式简单,可探测温度范围为-55℃至125℃;HC-SR04超声波传感模块采用IO触发测距,给一个至少10 s的高电平,模块自动发射8个方波,并自动检测是否有信号返回。有信号返回便通过IO口输出一高电平,高电平持续的时间就是超声波从发出到接收的时间。检测距离=(高电平时间声速(340 m/s))/24[6]。

2.2 飞行器实时视频采集

摄像头将视频数据传送给主控模块,主控模块通过视频处理芯片并加以视频算法处理将视频流通过WiFi发送给控制端。视频采集流如图4所示。

2.3 飞行器传感器实时数据采集

主控模块通过控制信息采集模块中的传感器读取出传感器的实时数据信息,将传感器数据写入XML文件,最终通过无线通信模块发送给控制端,控制端再通过解析XML文件获取传感器的实时数据信息,并做出相应显示。数据采集流图如图5所示。

2.4 BOA服务器搭建

BOA服务器是一款小巧的Web服务器,裁剪的移植代码可以达到60 KB,它支持CGI,能够为CGI程序fork出一个进程来执行。其设计目标是速度和安全。BOA具有很高的HTTP请求处理速度和效率,能够满足多用户的需求。所以选择BOA服务器把传感数据写入XML,并通过终端读取数据。

在配置BOA服务器的过程中,为了使其支持CGI程序的执行,BOA需要在/etc目录下建立一个BOA目录,里面放入BOA的主要配置文件boa.conf。在BOA源码目录下已有一个示例boa.conf,可以在其基础上进行修改[7]。

配置好BOA服务器后,需要将准备好的文件放在相应的目录中。最后进行相应的服务器网页设计,设计过程如下:

(1)在开发板文件系统的根目录下创建服务器网页目录 #mkdir web。

(2)编写服务器首页,保存为index.html,将网页复制到Web目录下。

(3)编写环境信息显示网页message.html。网页通过JavaiScript技术解析当前目录下的message.xml文件中各采集点记录的数据,将信息显示在网页上以供用户查看。

(4)编写服务器端信息采集应用程序。应用程序通过打开传感器设备获取当前环境信息,经过必要处理后以XML文件编码格式将信息保存在message.xml文件中。应用程序不断采集新数据,刷新XML文件内容来改变网页上显示的信息。

(5)在Web目录下创建CGI程序目录。

(6)编写用于控制飞行的CGI程序,并保存在CGI-BIN目录下。客户端通过访问网页,点击网页上的按钮来调用cgi-bin应用程序,从而实现飞行器的定高飞行和自动降落。

2.5 移植Mjpg-streamer

Mjpg-streamer是一个开源软件,用于从摄像头采集图像,把它们以流的形式通过基于ip的网络传输到浏览器播放器,Windows的移动设备或者其他拥有浏览器的移动设备都可以正常播放。

首先需要获取jpeg库,解压并配置源码后拷贝库文件到开发板文件系统,将/home/wu/jpeg-6b/jpeg/lib/目录下的全部文件拷贝到开发板文件系统 /rootfs/usr/local/mjpg-streamer下,配置内核支持中微星的ZC3XX摄像头,编译内核并下载到开发板后编译安装mjpg-streamer,从而实现Mjpg-streamer的移植。

3 系统总工作流程

飞行器上搭载了基于物联网的智能检测系统的主要单元模块。遥控器控制飞行器的起飞、降落悬停姿态调整等动作。搭载的传感器单元和视频采集单元负责采集数据信息和单元给主控单元,由主控模块进行分析处理以达到保持稳定飞行的目标,并将各种数据通过无线通信模块发送给地面监控端诸如PC、手机等,实现检测数据的采集和智能化控制。系统总工作流图如图6所示。

4 结 语

该系统下的智能检测飞行器重量轻、体积小、机动灵活度和安全性高,设计结合当前的嵌入式物联网电子技术,实现系统控制、信息采集、无线通信、网络传输、实时视频监控等功能,设计使飞行器更具有针对性,在灾情发生后可以第一时间进入灾区最危险、最复杂的地方进行灾情搜集和生命探测,为救援机构和军队提供更加实时的救灾信息,从而使救灾效率得到极大提高。与此同时,该系统可以避免救援人员进入危险区域,更好的保障救援人员的生命安全。

参考文献

[1]刘焕晔.小型四旋翼飞行器飞行控制系统研究与设计[D].上海:上海交通大学,2009.

[2]聂博文,马宏绪,王剑,等.微小型四翼飞行器的研究现状与关键技术[J].电光与控制,2007,14(6):113-117.

[3]范承志,王宇峰,林小娥,等.一种位置无传感器无刷直流电动机驱动电路[J].微电机,2001,34(3):19-20.

[4]吴成富,王睿,陈怀民,等.无人机导航地面站软件研究[J].机械与电子,2009(4):7-9.

[5]徐小玲,刘美.基于ZigBee的家居环境监控系统设计[J].电子设计工程,2016(1):152-155.

[6]朱博,李捍东,王小梅.基于AT89S52的智能家居控制系统[J].现代机械,2014(1):88-90.

[7]王黔川.嵌入式Linux在咪表无线通信中的应用技术研究[D].南京:南京理工大学,2008.

[8]廖嘉宝,李捍东.基于ARM的便携式矿用智能检测仪的设计[J].物联网技术,2016,6(8):62-63.

猜你喜欢
无线通信传感器
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
跟踪导练(三)2
光电传感器在自动检测和分拣中的应用
无线通信技术在测绘工程中的应用分析
基于扩展卡尔曼滤波的PMSM无位置传感器控制