Pimoroni Enviro+ からGrafana(1/2)

最終更新日

室内環境を計測しようと、RPi用のセンサーボードを購入。

構想

setup したら、こんな感じの仕組みにするつもり。

RPI3 は、もともと自宅のIoT環境のHUBとしてNode-REDを利用しているので、全てのmetricsデータを一旦集約するのにちょうどいい。

ただし、RPi3 なのでデータはなにかのひょうしに壊れることを覚悟しなくてはいけない。
いつか、Cloud上のサーバに移行しよう。

Pimoroni Enviro+ のsetup

本家のページは、以下。

https://learn.pimoroni.com/tutorial/sandyj/getting-started-with-enviro-plus

いつものようにRPiをsetupして、WIfi + ssh login ができるようになったら、install

sudo apt-get install git -y
git clone https://github.com/pimoroni/enviroplus-python
cd enviroplus-python
sudo ./install.sh

10分くらいかかったかも。

install.sh が完了すると、以下の場所にサンプルプログラムがある。

cd $HOME/Pimoroni/enviroplus/examples/

いくつかサンプルがあるければ、今回はMQTT publisher となる mqtt-all.py を利用する。

ただし、先に MQTT Broker を起動すべきなので、一旦そっちの手順に移る。

MQTT broker のsetup

Environ+ とは別のRPiを準備して、MQTT broker をsetupする。

sudo apt install mosquitto
sudo systemctl enable mosquitto
sudo systemctl start mosquitto

テストのためには、client もいれたほうがいい。

sudo apt-get install mosquitto-clients

Enviro+ サーバからMQTT のpublish

データの識別子 TOIPC 、今回は Enviro とする。
あんまり細かく測ってもしょうがないけど、 10秒 間隔にする。

cd Pimoroni/enviroplus/examples/
python3 mqtt-all.py --broker BrokerのIP --topic enviro --interval 10 >/dev/null &

上記の例では、command の出力結果を捨てているが、実際はこんな感じ

mqtt-all.py - Reads Enviro plus data and sends over mqtt.

    broker: BrokerのIP
    client_id: raspi-0000000026885ac9
    port: 1883
    topic: enviro

    Press Ctrl+C to exit!

No PMS5003 sensor connected
RPi serial: 0000000026885ac9
Wi-Fi: connected

MQTT broker IP: BrokerのIP
connected OK
{'temperature': 13, 'pressure': 69230, 'humidity': 88, 'oxidised': 27, 'reduced': 351, 'nh3': 142, 'lux': 16, 'serial': '0000000026885ac9'}
mid: 1

これで、 Enviro+ を付けた RPi zero と MQTT Broker の接続はOK。

続きはこちら。

Pimoroni Enviro+ からGrafana(2/2)

Pimoroni Enviro+ からGrafana(2/2)

2020.10.22

シェアする