当前位置: 首页 > 科技观察

如何使用RaspberryPi测量颗粒物(PM2.5)

时间:2023-03-14 08:37:24 科技观察

使用两个简单的硬件设备和几行代码构建一个空气质量检测器。我们在东南亚的学校定期测量空气中的颗粒物。这里的测量值非常高,尤其是在二月和五月之间,此时干热和旱地等各种因素对空气质量产生负面影响。在本文中,我将展示如何使用RaspberryPi测量颗粒物。什么是颗粒物?颗粒物是空气中的灰尘或微小颗粒。PM10和PM2.5的区别在于,PM10是指粒径小于10微米的颗粒物,而PM2.5是指粒径小于2.5微米的颗粒物。在小于2.5微米的颗粒情况下,颗粒越小,由于它们能够被吸入肺泡并影响呼吸系统,对人体健康的风险就越大。世界卫生组织推荐的颗粒物浓度为:年均PM10不高于20微克/立方米年均PM2.5不高于10微克/立方米不达标时,日均PM10不高于50微克/立方米在标准不允许的情况下,日均PM2.5不高于25微克/立方米,这实际上低于大多数国家的标准。例如,欧盟允许的PM10年平均值不高于40μg/m3。什么是空气质量指数空气质量指数(AQI)?空气质量指数是根据颗粒物的实测值来评价空气质量的好坏。但由于各国计算方法不同,该指数没有统一的标准。空气质量指数的维基百科条目给出了概述。我们学校基于环境保护署(EPA)制定的分类。用空气质量指数测量颗粒物需要做哪些准备?测量颗粒物只需要以下两个设备:树莓派(任何款式,只带WiFi)SDS011颗粒传感器颗粒传感器如果颗粒传感器是只有MicroUSB的RaspberryPiZeroW,还需要连接一个适配器用于标准USB端口的电缆仅需20美元,传感器随附用于串行接口的USB适配器。对于树莓派,只需要下载对应的RaspbianLite镜像,写入MicroSD卡即可。如果要使用SSH,还需要在引导分区中创建一个名为ssh的空文件。通过路由器或者DHCP服务器获取树莓派的IP,然后就可以通过SSH登录树莓派了(默认密码是raspberry):$sshpi@192.168.1.5首先我们需要安装这些RaspberryPi上的包:$sudoaptinstallgit-corepython-serialpython-enumlighttpd在开始之前,我们可以使用dmesg获取USB适配器连接到的串行接口:$dmesg[5.559802]usbcore:registerednewinterface驱动程序usbserial[5.559930]usbcore:注册了新的接口驱动程序usbserial_generic[5.560049]usbserial:为generic[5.569938]注册了USB串行支持usbcore:注册了新的接口驱动程序ch341[5.570079]usbserial:为ch341-uart[5.570217]ch341注册了USB串行支持1–1.4:1.0:ch341-uartconverterdetected[5.575686]usb1–1.4:ch341-uartconverternowattachedtottyUSB0在最后一行,你可以看到接口ttyUSB0。然后我们需要编写一个Python脚本来读取传感器数据并以JSON格式存储,然后通过HTML页面显示数据。在树莓派上读取数据,首先创建一个传感器实例,每5分钟读取一次传感器数据,持续30秒。这些值可以稍后调整。在两次测量之间,我们将传感器置于睡眠模式以延长其使用寿命(制造商估计元件的使用寿命约为8000小时)。我们可以使用如下命令下载Python脚本:$wget-O/home/pi/aqi.pyhttps://raw.githubusercontent.com/zefanja/aqi/master/python/aqi.py还需要执行下面两条命令保证脚本正常运行:$sudochownpi:pi/var/www/html/$echo'[]'>/var/www/html/aqi.json然后就可以执行脚本了:$chmod+x空气质量。p$./aqi.pyPM2.5:55.3,PM10:47.5PM2.5:55.5,PM10:47.7PM2.5:55.7,PM10:47.8PM2.5:53.9,PM10:47.6PM2.5:53.6,PM10:47.4PM2.5:54.2,PM10:47.3...自动执行脚本只需要使用crontab等服务,我们不需要每次都手动启动脚本。使用以下命令打开crontab文件:$crontab-e在文件末尾添加此行:@rebootcd/home/pi/&&./aqi.py现在我们的脚本将在每次树莓派重启后自动执行皮。显示颗粒物测量值和空气质量指数的HTML页面我们前面安装了一个轻量级的Web服务器lighttpd,所以我们需要将HTML、JavaScript和CSS文件放在/var/www/html目录下,这样我们可以通过电脑和智能手机获取相关数据。执行以下三个命令下载相应的文件:$wget-O/var/www/html/index.htmlhttps://raw.githubusercontent.com/zefanja/aqi/master/html/index.html$wget-O/var/www/html/aqi.jshttps://raw.githubusercontent.com/zefanja/aqi/master/html/aqi.js$wget-O/var/www/html/style.csshttps://raw.githubusercontent.com/zefanja/aqi/master/html/style.css在JavaScript文件中实现了打开JSON文件,提取数据,计算空气质量指数的过程,然后页面的背景色会根据EPA的划分标准而有所不同。只需要用浏览器访问树莓派的地址,就可以看到当前的粒子浓度等数据:http://192.168.1.5:这个页面比较简单,可扩展,比如可以添加一个页面来显示过去几个小时的历史数据表等。这里是Github上的完整源代码。总结在资金比较紧张的情况下,树莓派是一个选择。此外,还有很多应用可以用来测量颗粒物,包括室外固定安装、移动测量设备等。我们学校结合使用两者:固定装置测量室外全天的颗粒浓度,移动装置测量室内空调过滤器的有效性。Luftdaten.info介绍了如何使用出色的软件设计类似的传感器,并且由于它不使用RaspberryPi,所以硬件更小。设计粒子传感器对于学生来说确实是一个很好的课外项目。你打算如何使用你的树莓派?