基于RaspberryPi的车载空气质量检测系统设计与实现
2015-07-02周洁孟强李阳冬王瑾
周洁 孟强 李阳冬 王瑾
摘 要:空气质量检测系统是在了解大气污染状况和提出治理措施中必不可少的环节,它在空气污染及其保护中扮演着重要角色。提出一种基于Raspberry Pi的车载空气质量检测系统,系统以车辆为载体,采用Raspberry Pi(B+)数据处理单元,利用GPS定位技术、PM2.5等传感技术和GPRS技术对城市道路空气质量状况进行实时动态的检测与上传,该系统具有低成本、实时性强且精度高的特点。
关键词:空气质量检测;Raspberry Pi;GPS;PM2.5
中图分类号:TN107 文献标识码:A 文章编号:2095-1302(2015)06-00-03
0 引 言
城市空气检测是城市环境保护和治理必不可少的前提,为了及时制定有效的污染防治措施,须对大气环境状况有着全面具体的了解,实时掌握环境污染程度。空气质量检测可以实时高效的提供空气质量数据,辨识空气污染程度,预报空气质量变化趋势,预防较为严重的污染事件发生。
目前,在环境空气质量检测方面主要采用两种方法:一种是传统的人工取样分析法。其首要弊端是实时性差,且检测结果容易受人为影响而产生较大偏差;另一种是采用国外进口的自动化大气环境监测站系统进行在线监测。虽然此设备可以准确的对大气环境进行监测分析,但它的不足之处在于价格昂贵、运营成本高、难以维护和移动性差等,所以很难在我国大面积普及。本文提出了一种基于Raspberry Pi的车载空气质量检测系统,该设计以车辆为载体,采用Raspberry Pi(B+)做数据处理单元,利用GPS定位技术和PM2.5等传感技术实现对城市空气质量的实时动态检测与上传,具有低成本、实时性强和高精度等优点。
1 系统设计
如图1传感器模组所示,本系统利用PM2.5传感器模块、一氧化碳传感器模块和温湿度传感器模块实时采集当前城市道路空气中的PM2.5浓度值、一氧化碳浓度值和温湿度值信号。将采集的数据传向Raspberry Pi数据处理器进行分析处理,同时通过GPS定位模块精确地定位车辆位置信息。GPRS通信模块可以将合并后的信息实时上传到Azure云服务端,为有关部门以及用户提供可靠的空气质量信息。系统开发有语音模块,该模块能够实现移动检测过程中的实时人机语音交互。当收到播报指令会自动检测语音播放数值,当检测到当前环境污染较为严重时,语音模块可以自动播报污染提示信息。
图1 车载空气质量检测系统
2 硬件设计
(1)PM2.5传感器模块
PM2.5传感器模块采用MQ135传感器模块。其原理是当传感器检测到当前环境中的污染气体时,其电导率就会随着污染气体的浓度增加而增大。同时利用外围电路模块将电导率的变化转换为与该气体浓度相对应的输出信号,实现对当前城市道路空气中PM2.5浓度值信息的采集处理。
(2)一氧化碳传感器模块
一氧化碳传感器模块采用MQ7传感器模块,实现对当前城市道路空气中一氧化碳含量信息的采集处理。图2为一氧化碳传感器模块原理图。
图2 MQ7传感器模块原理图
(3)温湿度传感器模块
温湿度传感器模块采用DHT11传感器模块,其内部传感器由一个电阻式感湿元件和一个NTC(负温度系数热敏电阻)测温元件构成,是一种复合式传感器,它的输出只有数字信号。所以被广泛应用于数字模块采集技术和温湿度传感技术,实现对当前城市道路空气中温湿度信息的采集处理。图3为温湿度传感器模块原理图。
图3 DHT11传感器模块原理图
(4)Raspberry Pi数据处理器
Raspberry Pi数据处理器采用Raspberry Pi(B+)型号,是一款基于博通ARM11 BCM2835的数据处理器。Raspberry Pi(B+)的CPU工作频率为700 MHz,有4个USB口,自带512 M RAM,40个GPIO(通用输入/输出)接口和音频视频接口等。通过GPIO接口连接各模块,完成系统的动态检测。图4所示为传感器模块与Raspberry Pi连接示意图。
图4 传感器模块与Raspberry Pi连接示意图
3 软件设计
车辆启动前打开位于车辆外部顶端的车载空气质量检测系统的开关,使该系统处于初始化状态下,启动GPS定位模块,当车辆开始运行时,实时对车辆位置进行精确定位,同时启动ISD1820语音模块,等待用户发出有效的语音命令即执行相应操作。
车辆行驶过程中,该系统的Raspberry Pi(B+)数据处理器实时接收来自MQ135 PM2.5传感器模块、MQ7一氧化碳传感器模块和DHT11温湿度传感器模块所采集到的当前道路空气中PM2.5浓度值、一氧化碳浓度值和温湿度值信号,同时通过GPS定位模块准确定位车辆位置,将信息合并后再通过GPRS通信模块实时向Azure云服务端上传信息。图5为该系统的软件设计流程图。
图5 系统软件设计流程图
Raspberry Pi(B+)数据处理器控制传感器模组采集数据信息,温湿度采集示例程序如下:
int Tem_val[5]={0,0,0,0,0};
int Tem_read_val(){
uint8_t l_state=HIGH;
uint8_t j=0,i;
uint8_t counter=0;
for(i=0;i<5;i++)
Tem_val[i]=0;
//传感器初始化
pinMode(TEM_PIN,OUTPUT);
digitalWrite(TEM_PIN,LOW);
delay(10);
digitalWrite(TEM_PIN,HIGH);
delayMicroseconds(20);
//接收采集数据
pinMode(TEM_PIN,INPUT);
for(i=0;i { counter=0; while(digitalRead(TEM_PIN)==l_state) { counter++; delayMicroseconds(5); if(counter==255) break; } l_state=digitalRead(TEM_PIN); if(counter==255) break; if((i>=4)&&(i%2==0)){ Tem_val[j/8]<<=1; if(counter>16) Tem_val[j/8]|=1; j++; } } //输出采集数据 if((j>=40)&&(Tem_val[4]==((Tem_val[0]+Tem_val[1]+Tem_val[2]+Tem_val[3])& 0xFF))) { printf("%d,%d\n",Tem_val[0],Tem_val[2]); return 1; } else return 0; } 4 结 语 本系统采用基于Raspberry Pi(B+)数据处理器进行设计,通过多方位的传感器检测和实时传输实现动态、高精度的车载空气质量检测系统。其检测结果在城市局部空气质量评估、环保相关的交通政策制定、道路空气污染控制与治理方面有着重要的应用价值。 参考文献 [1] 聂邦胜.国内外常用的空气质量模式介绍[J].海洋技术学报,2008,27(1):118-122. [2] 李文胜. 基于树莓派的嵌入式Linux开发教学探索[J]. 电子技术与软件工程,2014(9):219-220. [3] 李成祥. 智能型室内空气质量检测与控制系统[D].北京:北京交通大学,2011. [4] 李龙棋,方美发,唐晓腾. 树莓派平台下的实时监控系统开发[J]. 闽江学院学报,2014(5):67-72. [5] 彭煜. 基于STM32的便携式室内空气质量监测器的研究[D].广州:暨南大学,2013. [6] 吕臻. 城市空气质量检测系统的设计与实现[D].郑州:郑州大学,2014. [7] 王冰,张承中. 大气可吸入颗粒物 PM2.5研究进展[J].中国科技信息,2009(8):25-26. [8] Brendan Horan 著. Raspberry Pi 树莓派实作应用[M]. 翟娟,等译.北京:人民邮电出版社,2014. [9] 马剑伟. 电子鼻空气质量检测系统研究[D].重庆:重庆大学,2010. [10] 马嫚,程铅,陈慧,等. 基于信息融合技术的空气质量检测系统[J]. 电子器件,2013,36(4):554-558. [11]冯志辉. 使用树莓派实现网络监控系统[J]. 电子技术与软件工程,2015(5):85.