Python RaspberryPi

RaspberryPi3でBME280を使って部屋の温湿度・気圧をPythonでグラフ化する

投稿日:

梅雨が明けてかなり暑くなってきました。我が家は2Fにリビングと寝室があるので夏場は熱気が溜まってかなりの暑さになります。

先日、就寝中の動画を取得するツールを作成しましたが、

RaspberryPi3とPythonで就寝中の自分の音声付き動画を取得する

部屋の温湿度が自分の就寝具合(夜中に目が覚めたり、イビキが増減)にどういった影響を与えるかを確かめるために、温湿度の監視も追加することにしました。

 

環境

ハードウェア

 ・RaspberryPi3

 ・BME280

 

ソフトウェア

 ・Python3.5.3

 ・jupyter Notebook

 

やり方

(1) 既に動画撮影用に部屋にRaspberryPi3が設置してあるのでここにセンサを追加します。Pi3ならWifi経由のデータも容易です。

 

(2) 使用するセンサはBME280としました。

 よく使われているらしくweb上でも情報が豊富です。

 

(3) RaspberryPi3に配線

 RaspberryPiのI2C用のピンにはプルアップ抵抗が内蔵されているため接続するだけでOKです。

(4)BME280のデータ取得とcsvファイル保存

I2Cでセンサーのデータを取得してcsvファイルに保存するPythonスクリプトを作成します。こちらの記事を参考にPython3用にわずかに変更しました。1分毎に「bme280.csv」という名前のファイルに追記しています。

(5) BME280データの可視化

   jupyterでPandas,matplotlibを使って可視化するコードを描いてみました。

(4)で作成したcsvファイルを読み込んで、pandasのplotでグラフ化しています。

plot内の引数は理解が浅いこともありゴチャゴチャしています。

 

日本語から変換した℃だとグラフ上の表記が□になってしまったので

どうしたものかと思っていたところ'Temperature($^\circ$C)'と記載すると

Temperature(℃)と表示できました。

 

結果

試しに16:30〜18:30頃のエアコン無しの寝室の温度、湿度、気圧をプロットしてみた時の結果です

夕方4時過ぎで37℃を超えていました。

手持ちの温度計で測った際にも37℃くらいだったので値は概ね正しそうです。

これから本格的な夏を迎えた時にはどうなってしまうのでしょうか。。

 

以上。

 

参照

Raspberry Pi 3 でK09421(BME280)のセンサ出力を定期的にcsvへ出力する

http://kagemomiji.hateblo.jp/entry/2016/08/16/003224

 

python – matplotlibで摂氏記号を印刷する方法

https://codeday.me/jp/qa/20190311/411129.html

 

-Python, RaspberryPi

Copyright© IT系でないエンジニアの転身 , 2020 All Rights Reserved Powered by STINGER.