使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化

【树莓派3B+】控制引脚输出高低电平 树莓派3b+的引脚输出电平是3.3V左右 阅读详情

1.简介

使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化

grafana dashboard效果:

image-20201031171328947

2.背景

2.1 需求:

1.过段时间公司要搬新办公室,较多同事担心甲醛(HCHO)、异味(TVOC)这些重要的空气指标,所以需要能够对其检测

2.能够把这些空气指标进行WEB展示

3.监控告警关心的空气指,告警发送到钉钉群

2.2 已有硬件:

树莓派3b+ (长期吃灰中)以下简称树莓派

微创联合M5S空气检测仪(版本:M5S温湿+锂电+TVOC+数据导出 17年485元价格购买 )以下简称空气检测仪

M5S 家用 激光PM2.5检测仪 甲醛 CO2 空气质量 雾霾甲醛 检测仪

【在售价】380.00 元(基础版)

【立即下单】点击链接立即下单:https://s.click.taobao.com/zREU4vu

img

3.设计

把空气检测仪的usb插到树莓派上(树莓派上通过串口读取数据),供电也是通过树莓派供电

相关软件运行在树莓派上

3.1 硬件:

空气检测仪如何导出数据?

空气检测仪是有数据导出版本,自带串口转USB(ch340芯片)

打开空气检测仪并通过检测仪左侧 FUN 按钮,把屏幕切换到第 3 屏,这个时候串口中就会持续输出监控数据

在linux上设备文件符为“/dev/ttyUSB0”

cat /dev/ttyUSB0
#可以看到
24.9 45.2 23 32 35 26 33 35 4419 1301 159 8 3 0 0.006 0.21

读取过程中,按一下检测仪上的 RST 键,可以显示每列数据对应的字段定义,(按完后需要再按 FUN 键切换到第 3 屏)

*--------------------------------------- Data Output Format Definition ----------------------------------------*
TEMP HUMI CH_PM1.0 CH_PM2.5 CH_PM10 US_PM1.0 US_PM2.5 US_PM10 >0.3um >0.5um >1.0um >2.5um >5.0um >10um HCHO TVOC
TEMPHUMICH_PM1.0CH_PM2.5CH_PM10US_PM1.0US_PM2.5US_PM10>0.3um>0.5um>1.0um>2.5um>5.0um>10umHCHOTVOC
25.143.3212931222931384311361706200.0030.2
25.143.2223031233031387611561705200.0050.16
25.143.3223031233031396311741646200.0030.21
25.243.3223031233031394211631676200.0070.21

带二氧化碳检测的版本在HCHO字段前多一个CO2字段

更多资料看空气检测仪配套的资料

3.2 软件:

软件监控采用prometheus + grafana的方案

本文为流水理鱼wwek原创 www.iamle.com

现在只需要实现一个串口(/dev/ttyUSB0) exporter即可把空气监测仪的数据打通给prometheus使用

最后配置prometheus取空气检测仪的exporter数据,并配置grafana面板

监控告警直接使用grafana带的监控告警

4.实现

*安装配置wclh_air_detector_exporter 获得空气检测仪数据

wclh_air_detector_exporter读取串口数据并把数据进行结构化,然后输出metrics

M5S Temperature and Humidity+lithium battery+CO2+TVOC PM2.5 CO2(S8)TEMP&HUMI Detector Haze PM2.5 sensors Laser PM2.5 detector

M5S 家用 激光PM2.5检测仪 甲醛 CO2 空气质量 雾霾甲醛 检测仪

WCLH_AIR_DETECTOR_EXPORTER_VERSION=0.1.3
wget https://github.com/wwek/wclh_air_detector_exporter/releases/download/v${WCLH_AIR_DETECTOR_EXPORTER_VERSION}/wclh_air_detector_exporter_${WCLH_AIR_DETECTOR_EXPORTER_VERSION}_linux_armv7.tar.gz
tar zxvf wclh_air_detector_exporter_${WCLH_AIR_DETECTOR_EXPORTER_VERSION}_linux_armv7.tar.gz
mkdir -p /data/soft/wclh_air_detector_exporter
mv wclh_air_detector_exporter /data/soft/wclh_air_detector_exporter
cd /data/soft/wclh_air_detector_exporter

#./wclh_air_detector_exporter -serial_port /dev/ttyUSB0

#自动启动&进程守护
sudo bash -c 'cat > /etc/systemd/system/wclh_air_detector_exporter.service << EOF
[Unit]
Description=https://github.com/wwek/wclh_air_detector_exporter
Wants=network-online.target
After=network-online.target

[Service]
Restart=on-failure
#User=root
ExecStart=/data/soft/wclh_air_detector_exporter/wclh_air_detector_exporter

[Install]
WantedBy=default.target
EOF'

sudo systemctl daemon-reload
sudo systemctl status wclh_air_detector_exporter
sudo systemctl start wclh_air_detector_exporter
sudo systemctl enable wclh_air_detector_exporter
sudo systemctl status wclh_air_detector_exporter

curl http://localhost:9166/metrics

安装配置prometheus

PROMETHEUS_VERSION=2.22.0
wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-armv7.tar.gz
tar zxvf prometheus-${PROMETHEUS_VERSION}.linux-armv7.tar.gz
mkdir -p /data/soft/
mv prometheus-${PROMETHEUS_VERSION}.linux-armv7 prometheus && mv prometheus /data/soft/

#自动启动&进程守护
sudo bash -c 'cat > /etc/systemd/system/prometheus.service << EOF
[Unit]
Description=https://prometheus.io
Wants=network-online.target
After=network-online.target

[Service]
Restart=on-failure
#User=root
ExecStart=/data/soft/prometheus/prometheus --config.file="/data/soft/prometheus/prometheus.yml"

[Install]
WantedBy=default.target
EOF'

sudo systemctl daemon-reload
sudo systemctl status prometheus
sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo systemctl status prometheus

curl http://localhost:9090
#<a href="/graph">Found</a>.

安装配置grafana

sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list 
sudo apt-get update
sudo apt-get install grafana
sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo systemctl status grafana-server

curl http://localhost:3000
#<a href="/login">Found</a>.

grafana 中先配置 prometheus(http://localhost:9090)数据源,然后导入 “grafana-dashboard.json”空气检测仪的dashboard

监控告警

直接使用grafana自带的告警功能,将关心的指标进行监控并告警 本文首发于流水理鱼博客,如要转载请注明出处。 欢迎关注我的公众号:流水理鱼(liushuiliyu),全栈、云原生、Homelab交流。 如果您对相关文章感兴趣,也可以关注我的博客:www.iamle.com 上面有更多内容

保姆级教程:用微信小程序+OneNet MQTT API,5分钟搞定温湿度数据实时展示 本文提供了一份详细的教程,教你如何利用微信小程序和OneNet MQTT API在5分钟内实现温湿度数据的实时展示。从OneNet平台配置到小程序数据绑定,手把手指导零基础开发者快速搭建监控系统,涵盖API调用、数据解析和界面设计等关键步骤。 阅读详情

相关推荐

Zenoh:统一数据平面协议,重塑物联网与边缘计算架构

在分布式系统与物联网领域,数据通信与处理常面临协议割裂的挑战。传统方案如MQTT、Kafka、gRPC等,分别针对发布/订阅、流处理和RPC等不同场景,导致架构复杂、集成成本高。其核心问题在于未能统一处理“运动中数据”(Data in Motion)与“静止中数据”(Data at Rest)。Zenoh协议通过创新的“Key-Value”寻址与“Selector”查询语言,将发布/订阅、存储、查询和计算四种核心操作融合进单一协议,构建了统一的抽象层。这种设计实现了极低的协议开销(仅5字节头部)和地理分布式

weixin_29597551的博客 290

Opencv——树莓派3B使用GPIO

前言:这是我第一次使用OpenCV,但我必须承认,我已经爱上了这个“开源计算机视觉库”。 OpenCV对学术用途和商业用途都免费。它有C++、C、Python和Java的接口,并且支持Windows、Linux、MacOS、iOS和Android系统。在我的OpenCV教程系列中,我们将专注于使用树莓派(当然,操作系统就是Raspbian了)和Python。OpenCV为高效计算而生,极大地专注于实时应用。因此,它对于物理计算(即使用可以感知和响应模拟世界的软件和硬件来构建交互式物理系统)项目来说,简直再适

kimitoLMT的博客 6866

WebDriverAgent 菜鸟解析篇

WebDriverAgent 是一个用于模拟移动设备浏览器的 Python 库,可以用来在 PC 上模拟移动设备的浏览器操作,从而进行自动化测试。下面是一个菜鸟对 WebDriverAgent 源码的解析篇,希望能对初学者有所帮助。

DJ355的博客 1222

树莓派:GPIO/引脚/Pin 介绍

树莓派GPIO介绍

constantine147的博客 1万+

MATLAB图像去噪实战:如何用巴特沃斯滤波器完美去除横条纹(附完整代码)

本文详细介绍了如何使用MATLAB中的巴特沃斯滤波器有效去除图像中的横条纹噪声。通过频域分析和滤波处理,结合完整的代码示例,帮助读者掌握从噪声分析到参数优化的全流程技术,实现高质量的图像去噪效果。

weixin_30566063的博客 562

MPU6050芯片 寄存器详解与配置指南(详解)

分频值越小,数据刷新越快(如分频值 = 0 时,刷新率 = 8kHz/1=8kHz)。功能:配置采样频率分频系数,控制 ADC 转换速度和数据刷新率。数据刷新率 = 陀螺仪输出时钟频率 /(1 + 分频值)

m0_74696257的博客 1420

树莓派 gpio / 串口通信

使用树莓派 3B+/4B 测试 gpio,配置硬件串口,测试串口通信等。这里的板子上40pin引脚有3中编码方式:1、Board编码:对应实际的物理插槽2、BCM编码:基本和GPIO的名字对应2、wiringPi编码:wiringPi库使用的引脚编码方式DB9公头接口定义在进行串口通信,两个设备间进行双向通信时,两个设备的RXD、TXD要交错连接。

热爱生活,忠于自己 3万+

锐捷交换机配置SSH

锐捷交换机配置ssh 一、组网需求 通过ssh功能可以远程登录管理设备 二、配置步骤 全局开启ssh服务,并且指定ssh版本 Ruijie>enable Ruijie#configure terminal Ruijie(config)#enable service ssh-server ------>开启SSH服务,默认关闭 Ruijie(config)#ip ssh version 2 ------>默认1.99版本,设置为版本2 添加登

Loners_fan的博客 1万+

树莓派3B+ 驱动开发之GPIO

1、查看树莓派GPIO地址映射基地址 2、使用 mmap或者ioremap函数映射地址 3、根据手册BCM2835-ARM-Peripherals.pdf操作GPIO pin 4的地址 4、写makefile文件 5、挂载驱动部分参考上一篇文章 6、调试代码 7、调试驱动

ls1300005的专栏 5452

先进封装类别分析与典型案例

当制程微缩逼近物理极限、单颗大芯片(reticle limit)面积受限于光罩尺寸,且逻辑、存储、射频、传感等功能无法用同一套工艺最经济地制造时,性能增益的来源从 "晶体管密度" 转向 "互连密度"。先进封装的本质,是在芯片外部用更短、更密、更宽的路径把多个裸 die(die)互连起来,换取更高带宽、更低延迟、更小体积和异构集成能力。行业通常按划分为 2D、2.5D、3D、扇出、SiP 五大谱系,Chiplet/UCIe 则是贯穿其上的设计方法论,玻璃基板、共封装光学(CPO)是正在成型的新分支。

0 30

E2B Agent Runtime Sandbox 沙箱技术架构研究

本实现指南基于E2B的技术架构,提供了完整的基于Firecracker和Docker的Agent Runtime Sandbox后端服务实现方案。架构设计:参考E2B的分层架构,实现API层、管理层和虚拟化层Firecracker集成:深度集成Firecracker提供硬件级安全隔离完整功能:支持文件读写、shell执行、浏览器访问等核心功能生产就绪:提供Docker部署、监控、测试和安全配置可扩展性:设计支持水平扩展和高并发场景。

AI天才研究院 743

树莓派3B 之GPIO口

这一篇我们主要讲树莓派的GPIO口控制。 还是用了wirningPi这个库。 我们用了6个Pin脚来模拟按键。 wirningPi的24-29脚。(因为之后我们会模拟选择,确认,上下左右) GPIO.cpp: #include "bsp_key.h" //设置GPIO口模式 void Key_StatusSet(void) { //初始化库 wiringPiSet...

shao15232的博客 1696

全新YOLOv11一文弄懂 | YOLOv11网络结构解读 、yolov11.yaml配置文件详细解读与说明、模型训练参数详细解析 | 通俗易懂!入门必看系列!

本文全面介绍了YOLOv11目标检测算法,包含网络结构解析、yaml配置文件详解及训练教程。YOLOv11通过改进的C3k2f模块、SPPF和C2PSA注意力机制等创新设计,在COCO数据集上实现了比YOLOv8更优的性能。文章详细解读了yolov11.yaml配置文件的参数设置、主干网络(backbone)和头部网络(head)结构,并提供了完整的训练代码示例和参数说明。训练部分涵盖了模型选择、参数设置及优化技巧,包括epochs、batch size、学习率等关键参数的调整建议。最后总结了YOLOv11

Ai缝合怪、助力小伙伴高效发论文 3万+

gpio引脚介绍 树莓派3b_使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化...

1.简介使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化grafana dashboard效果:2.背景2.1 需求:1.过段时间公司要搬新办公室,较多同事担心甲醛(HCHO)、异味(TVOC)这些重要的空气指标,所以需要能够对其检测2.能够把这些空气指标进行WEB展示3.监控告警关心的空气指标,告警发送到钉钉群2.2 ...

weixin_42344284的博客 302

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C# 监控字段_使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化 - 流水理鱼

1.简介使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化grafana dashboard效果:2.背景 需求:1.过段时间公司要搬新办公室,较多同事担心甲醛(HCHO)、异味(TVOC)这些重要的空气指标,所以需要能够对其检测2.能够把这些空气指标进行WEB展示3.监控告警关心的空气指,告警发送到钉钉群 已有硬件:树莓派3b+ ...

weixin_39851872的博客 276

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

串口数据可视化_使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化...

1.简介使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化grafana dashboard效果:2.背景2.1 需求:1.过段时间公司要搬新办公室,较多同事担心甲醛(HCHO)、异味(TVOC)这些重要的空气指标,所以需要能够对其检测2.能够把这些空气指标进行WEB展示3.监控告警关心的空气指标,告警发送到钉钉群2.2 ...

weixin_39580748的博客 237

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

树莓派python3串口无法读取数据_微创联合M5S空气检测仪、树莓派、grafana实现空气质量持续监控告警WEB可视化...

1.简介使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化grafana dashboard效果:2.背景2.1 需求:1.过段时间公司要搬新办公室,较多同事担心甲醛(HCHO)、异味(TVOC)这些重要的空气指标,所以需要能够对其检测2.能够把这些空气指标进行WEB展示3.监控告警关心的空气指,告警发送到钉钉群2.2 已有硬件:树...

weixin_39768695的博客 239

web 树莓派zero_M5S空气检测仪、树莓派3b+空气质量持续监控WEB可视化

1.简介使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化grafana dashboard效果:2.背景2.1 需求:1.过段时间公司要搬新办公室,较多同事担心甲醛(HCHO)、异味(TVOC)这些重要的空气指标,所以需要能够对其检测2.能够把这些空气指标进行WEB展示3.监控告警关心的空气指,告警发送到钉钉群2.2 已有硬件:树...

weixin_39806679的博客 401

【c#】使用Prometheus监控Windows系统

Prometheus 是一个开源的系统监控和报警工具包,最初建立在 SoundCloud 之上。自 2012 年成立以来,许多公司和组织都采用了 Prometheus,它拥有非常活跃的开发者和用户社区。现在是一个独立的开源项目,独立于任何公司进行维护。Prometheus 将其指标收集并存储为时序数据,即指标信息与记录它的时间戳以及一个称为标签的可选键值对一起存储。

KJJfighting的博客 1696

【树莓派3b】问题汇总 更新中

单独修改 /boot/wpa_supplicant.conf。ping raspberrypi 成功·python太慢了。

三少爷的甲壳虫 399

gpio引脚介绍 树莓派3b_树莓派介绍

树莓派介绍陈拓 chentuo@ms.xab.ac.cn 2018.05.16/2018.05.161. 什么是树莓派(Raspberry Pi)树莓派是由树莓派基金会研发的一种只有信用卡大小的单板机电脑,最初的设计目标是用较为廉价的硬件和开源软件为儿童提供一个计算机教育平台。但其优秀的扩展性和易于开发的特性,使其不仅仅用于儿童教育,更是成为了极客们的玩具。树莓派被开发出了千千万万种玩法,并且普通...

weixin_33754535的博客 2390

树莓派3B点灯(4)-- 自写驱动(低级版)

所以说低级并不是真的低级,只是现在封装做的很多了。在树莓派 3B 上,直接通过操作寄存器控制 GPIO26 的 LED,而不使用 `gpio` 子系统和 `pinctrl` 子系统,可以通过直接访问 **Broadcom BCM2837 SoC** 的 GPIO 寄存器来实现。在这个例子中,我们跳过了 Linux 的 `gpio` 和 `pinctrl` 子系统,直接操作树莓派 3B 的 GPIO 寄存器,通过 `ioremap` 将寄存器映射到内存,并直接控制 GPIO26 的电平来点亮和关闭 LED。

fanged的专栏 572

树莓派3B GPIO入门教程:引脚详解与使用指南

树莓派3B的GPIO接口是其最强大也最常用的功能之一,它让这台微型电脑能够与现实世界的电子元件互动,从而完成自动化控制、数据采集等多种任务。对于电子爱好者和开发者来说

2509_93883384的博客 201

树莓派3B+使用GPIO实现串口通信

https://www.circuits.dk/setup-raspberry-pi-3-gpio-uart/

漫长IT路 1万+

c# 获取所有的进程的cpu使用率_使用 Prometheus 和 Grafana 监控 Linux 进程

无论你是Linux 系统管理员或是DevOps 工程师,你都会在监控服务器性能指标的时候花费很长时间。有时候实例运行非常慢但是哪里出的问题却没有任何线索。有一些不响应的实例会阻止你在这些实例上执行类似 top 或者 htop 的远程命令。服务器有一个瓶颈存在,但是你并不能简单快速的找到问题所在。如果我们有一个完整的仪表盘可以帮助我们跟踪整体性能以及独立的进程该怎么操作?可以在该链接中...

weixin_40008946的博客 1522

树莓派 3B/3B+/4B 的基本配置(保姆级新手教程)

现市面上树莓派相关配置教程多而杂,新手用户缺少一个系统和完整的配置过程,本篇结合各种博文和个人踩坑经历,整理出一篇比较完整的新手配置树莓派教程,旨在帮助更多树莓派的新手玩家快速入门,也可以根据目录找到想要查找的内容跳跃式阅读。本篇教程使用树莓派 3B+ 为主体编写,所有内容同样适用于树莓派 3B 和 4B。

Grayson Blog 2万+
上一篇: 解决问题黄金三步:定义问题—分解问题—归
下一篇: DolphinScheduler 调度 DataX 实现 MySQL To ElasticSearch 增量数据同步实践
流水理鱼
博客等级 码龄19年 7粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值