raspberry pi

我们在东南亚的学校定期测量空气中的颗粒物。 这里的值非常高,尤其是在2月到5月之间,那时天气非常干燥和炎热,许多田野都燃烧着。 这些因素会对空气质量产生负面影响。 在本文中,我将向您展示如何使用Raspberry Pi测量颗粒物。

什么是颗粒物?

世界卫生组织建议将颗粒物限制在以下值:

  • 年平均PM10 20 µg /m³
  • 年平均PM2,5每年10 µg /m³
  • 每日平均PM10 50 µg /m³,不允许超过允许的天数。
  • 每日平均PM2,5 25 µg /m³,不允许超过允许的天数。

这些值低于大多数国家/地区设置的限制。 在欧盟,PM10的年平均浓度为40 µg /m³。

什么是空气质量指数(AQI)?

空气质量指数根据其颗粒测量值指示空气的好坏程度。 不幸的是,没有统一的AQI标准,因为并非所有国家/地区都以相同的方式进行计算。 空气质量指数上的Wikipedia文章提供了有用的概述。 在我们学校,我们以美国环境保护署(EPA)建立的分类为指导。

空气质量指数

我们需要什么来测量颗粒物?

测量颗粒物仅需要两件事:

  • Raspberry Pi(适用于所有型号;带WiFi的型号最好)
  • 微粒传感器SDS011

颗粒传感器

如果您使用的是Raspberry Pi Zero W,则还需要使用适配器电缆连接到标准USB端口,因为Zero仅有Micro USB。 这些售价约20美元。 传感器带有用于串行接口的USB适配器。

安装

对于我们的Raspberry Pi,我们下载了相应的Raspbian Lite映像并将其写入Micro SD卡 。 (我不会详细介绍如何设置WLAN连接;许多教程可以在线获得)。

如果要在引导后启用SSH,则需要在引导分区中创建一个名为ssh的空文件。 最好通过您自己的路由器/ DHCP服务器获得Raspberry Pi的IP。 然后,您可以通过SSH登录(默认密码为raspberry ):

 $ ssh pi@192.168.1.5 

首先,我们需要在Pi上安装一些软件包:

 $ sudo apt install git-core python-serial python-enum lighttpd 

在开始之前,我们需要知道USB适配器连接到哪个串行端口。 dmesg帮助我们:

$ dmesg
[ 5.559802] usbcore: registered new interface driver usbserial
[ 5.559930] usbcore: registered new interface driver usbserial_generic
[ 5.560049] usbserial: USB Serial support registered for generic
[ 5.569938] usbcore: registered new interface driver ch341
[ 5.570079] usbserial: USB Serial support registered for ch341-uart
[ 5.570217] ch341 1–1.4:1.0: ch341-uart converter detected
[ 5.575686] usb 1–1.4: ch341-uart converter now attached to ttyUSB0

在最后一行中,您可以看到我们的界面: ttyUSB0 。 现在,我们需要一个小的Python脚本来读取数据并将其保存在JSON文件中,然后我们将创建一个小HTML页面来读取和显示数据。

在Raspberry Pi上读取数据

我们首先创建一个传感器实例,然后每5分钟读取一次传感器,持续30秒。 这些值当然可以调整。 在两次测量间隔之间,我们将传感器置于睡眠模式以延长其使用寿命(根据制造商,使用寿命总计约为8000小时)。

我们可以使用以下命令下载脚本:

 $ wget -O /home/pi/aqi.py https://raw.githubusercontent.com/zefanja/aqi/master/python/aqi.py 

为了使脚本运行无错误,仍然需要做两件事:

$ sudo chown pi:pi /var/www/html/
$ echo [] > /var/www/html/aqi.json

现在您可以启动脚本:

$ chmod +x aqi.py
$ ./aqi.py
PM2.5:55.3, PM10:47.5
PM2.5:55.5, PM10:47.7
PM2.5:55.7, PM10:47.8
PM2.5:53.9, PM10:47.6
PM2.5:53.6, PM10:47.4
PM2.5:54.2, PM10:47.3

自动运行脚本

这样我们就不必每次都手动启动脚本,可以让它以cronjob开头,例如,每次重新启动Raspberry Pi。 为此,请打开crontab文件:

 $ crontab -e 

并在末尾添加以下行:

 @reboot cd /home/pi/ && ./aqi.py 

现在,我们的脚本会在每次重新启动时自动启动。

用于显示测量值和AQIHTML页面

我们已经安装了轻量级的Web服务器lighttpd 。 因此,我们需要将HTML,JavaScript和CSS文件保存在目录/var/www/html/以便可以从另一台计算机或智能手机访问数据。 使用接下来的三个命令,我们只需下载相应的文件:

$ wget -O /var/www/html/index.html https://raw.githubusercontent.com/zefanja/aqi/master/html/index.html
$ wget -O /var/www/html/aqi.js https://raw.githubusercontent.com/zefanja/aqi/master/html/aqi.js
$ wget -O /var/www/html/style.css https://raw.githubusercontent.com/zefanja/aqi/master/html/style.css

主要工作在JavaScript文件中完成,该文件打开我们的JSON文件,获取最后一个值,然后根据该值计算AQI。 然后根据EPA的比例调整背景色。

现在,您只需在浏览器中打开Raspberry Pi的地址,然后查看当前的微粒值,例如http://192.168.1.5:

该页面非常简单,并且可以扩展,例如,带有显示最近几个小时的历史记录的图表,等等。欢迎请求拉取。

完整的源代码可在Github上找到 。

[输入我们的Raspberry Pi周赠品 ,有机会在这款街机游戏套件中获得机会。]

结语

我们只需花很少的钱就可以用Raspberry Pi测量颗粒物。 从永久性的室外安装到移动测量设备,都有许多可能的应用。 在我们的学校中,我们同时使用:有一个传感器可以昼夜测量户外价值,还有一个移动传感器可以检查教室中空调过滤器的有效性。

Luftdaten.info提供了构建类似传感器的指南。 该软件已交付使用,并且由于不使用Raspberry Pi,因此测量设备更加紧凑。 很棒的项目!

创建颗粒传感器是与计算机科学班或讲习班的学生一起做的一项出色的项目。

您将Raspberry Pi用于什么用途?

翻译自: https://opensource.com/article/18/3/how-measure-particulate-matter-raspberry-pi

raspberry pi

raspberry pi_如何使用Raspberry Pi测量颗粒物相关推荐

  1. raspberry pi_如何购买Raspberry Pi

    raspberry pi 本系列中有关Raspberry Pi入门的第一篇文章就应该购买哪种型号提供了一些建议. 现在您已经有了所需的版本,让我们了解如何获得一个版本. 最明显(可能也是最安全和最简单 ...

  2. raspberry pi_如何使用Raspberry Pi构建WiFi相框

    raspberry pi 数码相框非常好,因为它们可以让您欣赏照片而不必打印出来. 此外,添加和删除数字文件比打开传统框架并在要显示新照片时在内部交换图片要容易得多. 即便如此,从数码相框中取出SD卡 ...

  3. raspberry pi_如何使用Raspberry Pi构建数字针Kong相机

    raspberry pi 在2015年末,Raspberry Pi Foundation通过发布小型Raspberry Pi Zero震惊了整个世界. 而且,他们在MagPi杂志的封面上免费赠送了它 ...

  4. raspberry pi_如何进行Raspberry Pi聚会

    raspberry pi Raspberry Jam是Raspberry Pi聚会的名称-它们有许多不同的格式. 一些类似于传统的技术用户组,但是许多是家庭友好型活动,为孩子们提供了学习编码和制作东西 ...

  5. raspberry pi_如何为Raspberry Pi编写SD卡

    raspberry pi 为Raspberry Pi编写SD卡是Pi社区的每个成员都尝试过的事情. 有些是老套帽子,能专心地解决任务,但有些却使他们内心深处恐惧. 在本文中,我介绍了两种不同的写SD卡 ...

  6. raspberry pi_如何在Raspberry Pi上使用LÖVE游戏引擎对游戏进行编程

    raspberry pi Raspberry Pi以向孩子介绍开源软件和编程而闻名. Pi是负担得起的,实用的专业级计算入门,伪装成可破解的乐趣. Mitch Resnick's Scratch (最 ...

  7. raspberry pi_如何使用Raspberry Pi设置个人Web服务器

    raspberry pi 个人Web服务器是"云",除了您拥有并控制它而不是大型公司. 拥有一点云有很多好处,包括自定义,免费存储,免费Internet服务,通向开源软件的路径,高 ...

  8. raspberry pi_书评:“ Raspberry Pi for Secret Agents”的使用效果不佳

    raspberry pi 许多父母在Opensource.com上看到我女儿的文章,并经常问我:"您是如何使您的女儿开始使用Raspberry Pi的 ?" 一切都从Raspber ...

  9. raspberry pi_什么是Raspberry Pi基金会? 售出1000万台计算机

    raspberry pi Raspberry Pi的销售量超过1000万,取得了巨大的成功. 在今年的万物公开赛上 ,社区经理Ben Nuttall进行了为时五分钟的闪电演讲,介绍了流行的微型计算机背 ...

最新文章

  1. 老码农绝密:使用 TS(TypeScript) 的 10 大理由
  2. 微服务限流Sentinel讲解(三)
  3. 读懂正则表达式就这么简单
  4. 全球及中国高压和超高压波纹铝护套交联聚乙烯电缆行业产销现状与投资策略建议报告2021-2027年版
  5. 【Spark篇】---Spark中Master-HA和historyServer的搭建和应用
  6. 安全使用网上银行 享受在线购物时尚生活
  7. 小杜机器人线下店_阿里线下卖车已成事实,阿里造车还会远吗?
  8. 大数据如何应用在企业人力资源管理
  9. 【动力学】基于matlab GUI汽车动力学分析系统【含Matlab源码 1050期】
  10. 实现审批系统_我市工程建设项目审批系统实现与 省监管平台数据互联互通
  11. 用计算机算出你的年龄,身体年龄计算器:一分钟算出你的健康年龄(全文)
  12. 图解谷歌地球使用入门、谷歌地球COM API 开发入门、谷歌地球使用的初步协议分析
  13. NASA 用哈勃望远镜定格你的星空
  14. Dlib库实现人脸关键点检测(Opencv实现)
  15. linux sox用法 播放,SoX——linux终端播放音频文件
  16. 14-射频校准的原理和设置
  17. java服务程序假死(进程存在但请求无响应)的几种原因
  18. Windows Server2012常见版本
  19. xHunt:针对科威特航运组织的攻击行动
  20. 在VMware16虚拟机中安装Windows10操作系统详细过程!!必看

热门文章

  1. 2016年第二季度DDoS攻击同比增长129%
  2. QT打开ROS工作空间时遇到的问题和解决方法
  3. 白话学习MVC(七)Action的执行一
  4. [开心学php100天]第五天:string函数(上)
  5. (转)NSString+NSMutableString+NSValue+NSAraay用法汇总
  6. JVM虚拟机-Class文件之常量池
  7. 显卡RTX 3090运行pytorch报错CUDA error: no kernel image is available for execution on the device
  8. yum方式安装mysql多实例_centos7下使用yum安装mysql
  9. java 析构方法_java析构方法详解
  10. mysql 搜索不等于_Mysql索引分类