使用微創(chuàng)聯(lián)合M5S空氣檢測(cè)儀展蒂、樹莓派3b+又活、prometheus、grafana實(shí)現(xiàn)空氣質(zhì)量持續(xù)監(jiān)控告警WEB可視化

1.簡(jiǎn)介

使用微創(chuàng)聯(lián)合M5S空氣檢測(cè)儀锰悼、樹莓派3b+柳骄、prometheus、grafana實(shí)現(xiàn)空氣質(zhì)量持續(xù)監(jiān)控告警WEB可視化

grafana dashboard效果:

image-20201031171328947

2.背景

2.1 需求:

1.過段時(shí)間公司要搬新辦公室箕般,較多同事?lián)募兹?HCHO)耐薯、異味(TVOC)這些重要的空氣指標(biāo),所以需要能夠?qū)ζ錂z測(cè)

2.能夠把這些空氣指標(biāo)進(jìn)行WEB展示

3.監(jiān)控告警關(guān)心的空氣指丝里,告警發(fā)送到釘釘群

2.2 已有硬件:

樹莓派3b+ (長(zhǎng)期吃灰中)以下簡(jiǎn)稱樹莓派

微創(chuàng)聯(lián)合M5S空氣檢測(cè)儀(版本:M5S溫濕+鋰電+TVOC+數(shù)據(jù)導(dǎo)出 17年485元價(jià)格購(gòu)買 )以下簡(jiǎn)稱空氣檢測(cè)儀

M5S 家用 激光PM2.5檢測(cè)儀 甲醛 CO2 空氣質(zhì)量 霧霾甲醛 檢測(cè)儀

【在售價(jià)】380.00 元(基礎(chǔ)版)

【立即下單】點(diǎn)擊鏈接立即下單:https://s.click.taobao.com/zREU4vu

img

3.設(shè)計(jì)

把空氣檢測(cè)儀的usb插到樹莓派上(樹莓派上通過串口讀取數(shù)據(jù))曲初,供電也是通過樹莓派供電

相關(guān)軟件運(yùn)行在樹莓派上

3.1 硬件:

空氣檢測(cè)儀如何導(dǎo)出數(shù)據(jù)?

空氣檢測(cè)儀是有數(shù)據(jù)導(dǎo)出版本杯聚,自帶串口轉(zhuǎn)USB(ch340芯片)

打開空氣檢測(cè)儀并通過檢測(cè)儀左側(cè) FUN 按鈕臼婆,把屏幕切換到第 3 屏,這個(gè)時(shí)候串口中就會(huì)持續(xù)輸出監(jiān)控?cái)?shù)據(jù)

在linux上設(shè)備文件符為“/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

讀取過程中幌绍,按一下檢測(cè)儀上的 RST 鍵颁褂,可以顯示每列數(shù)據(jù)對(duì)應(yīng)的字段定義,(按完后需要再按 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
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
25.1 43.3 21 29 31 22 29 31 3843 1136 170 6 2 0 0.003 0.2
25.1 43.2 22 30 31 23 30 31 3876 1156 170 5 2 0 0.005 0.16
25.1 43.3 22 30 31 23 30 31 3963 1174 164 6 2 0 0.003 0.21
25.2 43.3 22 30 31 23 30 31 3942 1163 167 6 2 0 0.007 0.21

帶二氧化碳檢測(cè)的版本在HCHO字段前多一個(gè)CO2字段

更多資料看空氣檢測(cè)儀配套的資料

3.2 軟件:

軟件監(jiān)控采用prometheus + grafana的方案

本文為流水理魚wwek原創(chuàng) www.iamle.com

現(xiàn)在只需要實(shí)現(xiàn)一個(gè)串口(/dev/ttyUSB0) exporter即可把空氣監(jiān)測(cè)儀的數(shù)據(jù)打通給prometheus使用

最后配置prometheus取空氣檢測(cè)儀的exporter數(shù)據(jù)傀广,并配置grafana面板

監(jiān)控告警直接使用grafana帶的監(jiān)控告警

4.實(shí)現(xiàn)

*安裝配置wclh_air_detector_exporter 獲得空氣檢測(cè)儀數(shù)據(jù)

wclh_air_detector_exporter讀取串口數(shù)據(jù)并把數(shù)據(jù)進(jìn)行結(jié)構(gòu)化颁独,然后輸出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檢測(cè)儀 甲醛 CO2 空氣質(zhì)量 霧霾甲醛 檢測(cè)儀

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

#自動(dòng)啟動(dòng)&進(jìn)程守護(hù)
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/

#自動(dòng)啟動(dòng)&進(jìn)程守護(hù)
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)數(shù)據(jù)源,然后導(dǎo)入 “grafana-dashboard.json”空氣檢測(cè)儀的dashboard

監(jiān)控告警

直接使用grafana自帶的告警功能伪冰,將關(guān)心的指標(biāo)進(jìn)行監(jiān)控并告警
本文首發(fā)于流水理魚博客誓酒,如要轉(zhuǎn)載請(qǐng)注明出處。
歡迎關(guān)注我的公眾號(hào):流水理魚(liushuiliyu)贮聂,全棧靠柑、云原生寨辩、Homelab交流。
如果您對(duì)相關(guān)文章感興趣歼冰,也可以關(guān)注我的博客:www.iamle.com 上面有更多內(nèi)容

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捣染,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子停巷,更是在濱河造成了極大的恐慌,老刑警劉巖榕栏,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畔勤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡扒磁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咆槽,“玉大人盟萨,你說我怎么就攤上這事±忌耍” “怎么了内颗?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)敦腔。 經(jīng)常有香客問我均澳,道長(zhǎng),這世上最難降的妖魔是什么符衔? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任找前,我火速辦了婚禮,結(jié)果婚禮上判族,老公的妹妹穿的比我還像新娘躺盛。我一直安慰自己,他們只是感情好形帮,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布槽惫。 她就那樣靜靜地躺著,像睡著了一般沃缘。 火紅的嫁衣襯著肌膚如雪躯枢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天槐臀,我揣著相機(jī)與錄音锄蹂,去河邊找鬼。 笑死水慨,一個(gè)胖子當(dāng)著我的面吹牛得糜,可吹牛的內(nèi)容都是我干的敬扛。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼朝抖,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼啥箭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起治宣,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤急侥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后侮邀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坏怪,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年绊茧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铝宵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡华畏,死狀恐怖鹏秋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情亡笑,我是刑警寧澤侣夷,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站仑乌,受9級(jí)特大地震影響惜纸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜绝骚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一耐版、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧压汪,春花似錦粪牲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至穿香,卻和暖如春亭引,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背皮获。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工焙蚓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓购公,卻偏偏與公主長(zhǎng)得像萌京,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宏浩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345