摘要:针对目前全球都面临的环境污染问题, 设计了一种基于Cortex-A8的嵌入式室外环境监测系统, 实时地获取环境中多种参数信息。该系统由采集子模块、数据处理子模块及数据传输子模块3部分组成。系统硬件部分选用三星公司生产的S5PV210作为系统主控芯片, 选用DHT22传感器采集环境中温湿度参数数据, 选用GP2Y1051传感器实现PM2.5参数采集功能。同时采用Logitech-C270自动对焦高清USB摄像头模组完成对视频图像的采集, 以太网模块DM9000用于数据通信实现远程传输。软件部分移植了嵌入式Linux操作系统, 同时移植嵌入式WEB服务器Boa、SQLite数据库。通过多线程的方式实现传感器数据采集功能以及触发摄像头工作, 利用CGI编程实现PC与控制板的交互。最后, 对系统进行性能测试, 系统能够及时准确地记录当前环境中的各参数信息, 具有成本低、功能全、功耗小、操作简单等优点, 符合预期设计功能。
关键词:环境监测; 嵌入式; 操作系统; CGI;
Abstract:Aiming at the global environmental pollution problems, this paper designs an embedded outdoor environment monitoring system based on Cortex-A8 to obtain the information of each parameter in the environment. The system consists of three parts: acquisition subsystem, data processing subsystem and data transmission subsystem. The hardware part of the system uses the S5 PV210 produced by Samsung Company as the main control chip of the system, selects the DHT22 sensor to collect the environment temperature and humidity parameter data, uses GP2 Y1051 sensor to achieve PM2. 5 parameter acquisition function module. At the same time, the Logitech-C270 auto focus HD USB camera module is used to collect the video image, and Ethernet module DM9000 is used for data communication to realize remote transmission. In the software part, the embedded Linux operating system is transplanted, and the embedded Web server Boa and SQLite database are also transplanted. Through the multi-threaded way to achieve the sensor data acquisition module and trigger the camera work, using CGI programming to achieve the interaction between the PC and the control board. Finally, by testing the performance of the system, we know the system can timely and accurately record the parameter information in the current environment, has the advantages of low cost, complete function, low power consumption, simple operation, meet the expected design function.
Keyword:environment monitor; embedded; operating system; CGI;
近几年来全国各大城市空气中的总悬浮微粒浓度大部分超过安全指标, 均值甚至高达309μg/m3。大气的污染会对社会造成严重的影响, 包括社会出行、工业生产、市民健康等[1]。我国目前的环境问题不容乐观, 及时、快速、全面、准确地反映环境现状及预测环境变化的趋势, 为环境的保护和管理、污染控制和预防、环境规划等提供可靠的依据, 是现阶段环境问题处理的重要举措。
当前, 发达国家在室外环境监测领域发展较快, 已经逐步形成了一套安全有效的环境监测体系, 但其智能化及监测的多样性仍有待提高[2]。而国内在室外环境监测方向的发展则起步较晚, 但随着互联网和物联网在国内的迅速崛起, 室外环境监护领域也迎来了新的机遇[3]。
基于上述情况, 本文设计了一种基于Cortex-A8的嵌入式室外环境监测系统, 选取三星公司生产的S5PV210作为主控芯片, 以Linux为系统操作平台, 结合DHT22和GP2Y1051传感器和Logitech-C270自动对焦高清USB摄像头。本文设计的系统具有开发简单、成本低、功能全、功耗小等优点, 具有广泛的应有前景和社会效益。
1、系统概述
室外环境监测系统主要由数据采集子模块、数据处理子模块及数据传输子模块3部分组成。系统以三星公司生产的S5PV210为主控芯片, 同时移植Linux操作系统。本系统总体设计框图如图1所示。
图1 室外环境监测系统总体框图
本系统外接DHT22温湿度传感器、GP2Y1051粉尘浓度传感器和USB摄像头, 组成了系统的数据采集子模块。数据处理子模块, 分为两部分内容:1) 视频数据的压缩编码与封装, 本系统使用V4L2 (Video for Linux2, Linux内核中视频设备API接口) 实现对摄像头的操作, 采集视频数据, 采用运动静止图像压缩技术 (motion joint photographic experts group, MJPEG) 对视频数据进行编码, 并使用音频视频交错格式 (audio video interleaved, AVI格式) 进行封装;2) 温湿度与粉尘浓度数据解析与存储工作, DHT22温湿度传感器传输数据时, 每一位数据均以低电平开始, 由高电平的时间长短来判断数据为1或0。DHT22的数据格式为40bit数据=16 bit湿度数据+16 bit温度数据+8 bit校验和[4]。PM2.5浓度传感器GP2Y1051采用串口输出方式, 其输出值均为电压值, 由电压值经过计算可得到粉尘浓度值。对于采集到的数据, 统一存储于嵌入式小型数据库SQLite[5]。
系统数据数据传输子模块采用套接字 (Socket) 网络进程间通信接口, 结合TCP/IP通信协议标准实现视频的传输, 同时应用了Open SSL加密系统, 保证网络传输的可靠性与安全性[6]。
另外该系统在基于B/S网络结构模式下, 移植了嵌入式Web服务器Boa, Boa在嵌入式开发中应用十分广泛, 是一种单任务服务器[7]。结合简单的HTML网页编程和CGIC Web网络技术, 系统通过网页浏览的形式良好地实现了人机交互。
2、系统硬件平台设计
2.1、硬件平台总体概况
环境监测系统硬件平台主要包括S5PV210主控芯片、存储器模块、通信模块及相关电路, 系统提供USB、通用异步收发传输器 (universal asynchronous receiver transmitter, UART) 等接口用于数据采集, 提供标准信息插座 (registered Jack45, RJ45) 用于数据传输[8]。系统硬件平台设计如图2所示。
图2 系统硬件平台设计框图
2.2、处理器芯片选型
系统数据处理子模块中, 涉及对视频的压缩、编码、封装以及加密的处理, 因此对处理器的要求也相对严苛。本系统采用三星公司生产的S5PV210为主控制芯片。S5PV210又名“蜂鸟” (hummingbird) , 是三星推出的一款适用于智能手机和平板电脑等多媒体设备的应用处理器。S5PV210采用了ARM Cortex TM-A8内核, ARM V7指令集, 主频可达1 GHz, 64/32位内部总线结构, 32/32 KB的数据/指令一级缓存, 512 KB的二级缓存, 可以实现2 000DMIPS (每秒运算2亿条指令集) 的高性能运算能力[9]。以下为其主要功能特点[10]:
1) 内置Power VR SGX540高性能图形引擎;
2) 支持流畅的2D/3D图形加速;
2.3、采集模块的选型
系统支持模拟输出传感器、串口输出传感器等, 本模块设计时主要采用了GPIO口输出及串口输出的方式。对于摄像头的选型, 系统选择了Logitech公司生产的C270型号摄像头, 该摄像头拍摄视频的分辨率高达1 280×720像素, 照片的分辨率高达500万像素, 同时带有降噪功能的内置麦克风以及具有自动校正光线和自动对焦的特点[11]。具体选型如表1所示。
表1 设备选型列表
3、系统软件平台设计
3.1、软件平台总体概况
在系统的软件平台设计中, 移植了内核版本号为2.6.32.2的嵌入式操作系统, Linux操作系统是基于Unix操作系统的延伸, 具有可移植、可裁剪、开源等特点, 在嵌入式应用开发中备受开发者推崇[12]。软件设计的主体内容为采集模块, 如图3所示。环境监测系统的功能是实时采集环境中的温湿度及PM2.5浓度数据, 同时设置粉尘浓度阈值, 将PM2.5浓度的实时数据与阈值进行对比。当PM2.5浓度高于阈值时, 触发系统视频采集模块, 记录现场环境状况, 为环境质量提供判断依据。
3.2、视频采集模块设计
系统视频图像的采集是通过V4L2框架实现的。V4L2是Linux内核中支持USB摄像头设备的视频捕获驱动接口, 主要支持VBI设备、Radio设备及视频输入输出设备等, 为应用层访问摄像头提供了统一的函数接口[13]。系统的视频采集流程如图4所示。
系统采用MJPEG编码格式, 即运动静止图像压缩。在视频采集程序中, 结构体v4l2_format的作用是设置其图像的格式。同时系统使用AVI的方式封装视频文件, AVI文件的结构分为头部、主体及索引3部分, 主体中索引存放在尾部, 同时交叉存放音频和图像。播放时, 从尾部的索引跳转到用户指引位置。AVI封装结构如图5所示。
图3 采集子模块总体设计
图4 视频采集流程
3.3、系统传输与交互模块设计
系统移植基于B/S网络结构模式下的嵌入式WEB服务器Boa, 实现网页与服务器的交互, 完成对环境数据参量地实时显示[14]。同时结合CGI (Web网络技术) , 将对应的信息反馈至浏览器, 解决了Boa的单任务, 只能按顺序实现用户的请求的缺陷。CGI系统框架如图6所示。
系统的视频传输部分是通过客户端/服务器 (client/server, C/S) 模式实现[15]。采用套接字 (Socket) 网络进程间通信接口, 结合TCP/IP通信协议标准实现视频的传输。套接字程序设计如图7所示。
图5 AVI封装结构
图6 CGI系统框架
图7 套接字程序设计
4、系统功能测试
本系统设计完成后, 进行了整体应用测试。在安装好系统的软硬件部分后, 打开PC中的浏览器程序, 在网址输入栏输入服务器的IP地址后, 即可登录系统。系统数据查看页面如图8所示。
图8 数据查看页面
采集到的视频文件则通过TCP/IP协议传输至PC中。在测试中, 当PM2.5浓度超出阈值时, 系统开始采集视频, 在视频采集结束后, 调用视频传输模块实现视频的实时传输, 系统采集视频显示如图9所示。
图9 采集视频显示
5、结论
随着环境污染问题日益凸显, 对环境进行实时监测的需求日渐提升。在传感技术、网络技术、图像处理技术不断发展的今天, 环境监测系统的应用也趋于自动化、智能化。根据当前环境监测系统研究的技术结合我国基本国情, 本文设计实现了一种基于Cortex TM-A8处理器的环境监测系统, 实现了环境的实时监测。
系统达到了预期效果, 但在客观条件及环境因素限制下, 系统还有很大的提升空间, 如增加环境参量、使用无线传输来避免布线, 便于安装。
参考文献
[1]2015NI趋势展望:着重探索物联网的影响[J].电子测量技术, 2015, 38 (3) :157-157.
[2]李萌.中国雾霾治理的生态伦理与履行责任的长效机制——兼谈伦敦雾霾的治理经验及长远道路[J].上海城市管理, 2016, 25 (1) :15-19.
[3]张兵兵, 田曦, 朱晶.环境污染治理、市场化与能源效率:理论与实证分析[J/OL].南京社会科学, 2017 (2) :39-46.
[4]林珠妹.基于DHT22的数字式温湿度计的设计[J].佳木斯大学学报 (自然科学版) , 2016, 34 (2) :223-225.
[5]邹坚伟, 胡频.嵌入式视频监控系统设计[J].国外电子测量技术, 2010, 29 (11) :57-59.
[6]崔学林, 梁宝龙, 黄斌, 等.湿度传感器测量不确定度评定[J].电子测量与仪器学报, 2015, 29 (10) :1544-1549.
[7]窦慧晶, 侯荣全, 陈凤菊.基于BOA和nRF24L01的智能家居系统[J].国外电子测量技术, 2015, 34 (2) :67-72.
[8]黄凯奇, 陈晓棠, 康运锋, 等.智能视频监控技术综述[J/OL].计算机学报, 2015, 38 (6) :1093-1118.
[9]于克生, 别少伟.无线温湿度采集系统的Linux驱动程序设计[J].电子测量技术, 2012, 35 (12) :71-74.
[10]袁敏, 张仁杰, 邵娜.基于Linux的ARM9多路视频监控系统设计[J].国外电子测量技术, 2009, 28 (1) :42-44, 58.
[11]汪大勇, 孙世新, 黄源源.一种适用于实时交通监控的视频编码方法[J].电子测量与仪器学报, 2009, 23 (4) :49-54.
[12]杨卫东, 邓冠群, 张国平, 等.基于STM32单片机的库房安全远程控制系统[J].电子测量技术, 2015, 38 (8) :94-98.
[13]谢慧, 赵申, 曹国庆.国内外PM2.5控制标准及对比[J].建筑科学, 2014, 30 (6) :37-43.
[14]周联群.当前几种主流高清编码方式和文件封装格式介绍[J].现代电视技术, 2010 (6) :110-114.
[15]孙金祥, 曹银杰, 张宁, 等.基于粉尘浓度传感器的火灾预警系统[J].消防科学与技术, 2016, 35 (7) :973-975.