ラズパイ+BME280で温度・湿度・気圧を計測(BMP280は湿度なし)

スポンサーリンク

ラズパイとBME280で温度・湿度・気圧を計測してInfuxDBに送信、Grafanaで表示するまでの作業をしてみます。

2019年の初めころに完成してましたが、記事にしてなかったので紹介します。といっても多くの他のスゴイ方がやっているのであまり参考にならないかもしれませんが・・・備忘録的に書いておきます。

BME280

BME280を磁石でくっつけて棚裏に設置

BME280とラズパイで温度・湿度・気圧を計測

BME280買ったとこ

ebayが安かったので送料無料で送ってもらいました。

湿度を取得できないBMP280も誤って買ってしまった。誤ってというより安さに飛びついて買ってしまった・・・BMP280は買わないほうがいいと思います。

では、ラズパイと接続していきましょう。

PIN

I2C(Inter-Integrated Circuit)通信を使うのでGPIO2(SDA),GPIO3(SCL)に接続します。

反対側にGND・3.3V・SDA・SDLがあるけど使わない。

BME280 Raspberry Pi
GND GND
3.3V VCC
SCK GPIO3(SCL)
SDO
SDI GPIO2(SDA)
SDD

i2cを有効にする

raspi-configでI2Cを有効にする。

modulesで「i2c-dev」が記入されているか確認します。

i2cdetectで確認

BME280をラズパイと接続後、ラズパイに認識されているかi2cdetectコマンドで確認します。

76に来てました。

SWITCHSCIENCEのサンプル

Contribute to SWITCHSCIENCE/samplecodes development by creating an account on GitHub.

こちらのサンプルを使わせていただきました。

サンプルを実行してみます。

正常に取得できているみたい!

温度・湿度・気圧を取得してInfuxDBに投げるスクリプト

サンプルスクリプトをちょっと改造してInfluxDBに登録できるようにした。

Cronで一定時間おきに計測

これで定期的にラズパイ+BME280で温度・湿度・気圧の計測をしてInfuxDBに投げてGrafanaに表示できるようになりました。

グラフ表示ツールGrafanaのjsonコード

BME280で取得したデータをInfuxDBに保存してGrafanaで表示してみました。BME280は以下のRaspi4Bのデータです。その他はWxBeacon2やESP8266にセンサーをつけて計測しています。

Grafna

以下をjsonコードをコピペすると簡単に上画像のようなGrafanaのグラフを表示できます。

jsonのインサート方法は以下のページをご覧ください。

センシングしたデータを保存するInfluxDBは前回ラズパイに構築したので今回はGrafana+telegrafを入れて設定していきます。おまけとしてChromografとvcgencmdを使ってCPU温度やCPU使用率・ARMのデータを取

無事にラズパイで温度・湿度・大気圧を計測することができました♪

以下、BMP280などの備忘録メモです。読み飛ばしてください。

その後、抜いたり刺したりしたら77になった・・・

GPIOを抜き差ししているときに0x76から0x77になった?ので変更する。こんなことってあるのかな?ピン間違えてる?

13行目「i2c_address = 0x77」この部分の「0x76」から「0x77」に変更した。

問題なく取得できた。

GNDに指すSDOを3.3Vに刺したら77になった。

BMP280は湿度センサがないので使わない

BME280が本物?らしい・・・BMP280は湿度センサがないらしい・・・意味ないなぁ。

BMP280は以下のソースでちゃんと取得できる。

ボクにもわかるRaspberry Pi. Contribute to bokunimowakaru/RaspberryPi development by creating an account on GitHub.

PIN

BMP280 Raspberry Pi
VCC 3.3V
GND GND
SCL GPIO3(SCL)
SDA GPIO2(SDA)
CSB
SDD

下準備

BME280用のPythonは動かなかった。