And Plants

多肉植物、塊根植物を科学的にベストな育成方法を考えるブログです。個人輸入、発根管理についての情報の発信しています。育成ライトの研究実施中!

カテゴリー
輸入関連|| 植物の基本育成ライト発根管理

ビニールハウスIoT計画 ラズパイZERO~AE-BME280編

BM280で温度・気圧・湿度を測定してAmbientにデータを送信し、

グラフで表示し確認できる環境の構築についての内容です。



継ぎ接ぎでプログラムを作成しているので、

不要な部分とか多いかもしれません。



基本的に参考にしたサイトが下記サイトです。

https://qiita.com/hawk777/items/46a912b0762c099e7749


参考にしたサイトではcsv形式にして表示するやり方でしたが、

私はAmbientサイトを使用してグラフ化することにしました。

こっちの方が比較的簡単に実現できたためです。





参考サイトの通り下記の5つのファイルを作成します。

bme280.py CSVファイルを作成

bme280_custom.py 温度、湿度、気圧を返す

bme280_temp.py 温度を返す

bme280_humid.py 湿度を返す

bme280_pres.py 気圧を返す

bme280.pyを下記のように変更します。

もっと簡略化できるかもしれませんが、考えるのが面倒だったので最低限の変更をしてあります。

bme280.py

#coding: utf-8

import bme280_custom
import bme280_temp
import bme280_pres
import bme280_humid
import datetime
import os
import ambient

#time.sleep(30.0)

dir_path = '/home/pi/bme280/data'

#now = datetime.datetime.now()
#filename = now.strftime('%Y%m%d')
#label = now.strftime('%H:%M')
#date = now.strftime('%Y/%m/%d %H:%M')
csv = bme280_custom.readData()
csv_t = bme280_temp.readData()
csv_p = bme280_pres.readData()
csv_h = bme280_humid.readData()


ambi = ambient.Ambient(チャンネルIDを記入, "ライトキーを記入") 
# ご自分のチャネルID、ライトキーに置き換えてください

r = ambi.send({"d1": csv_t, "d2": csv_h, "d3": csv_p})

</p>




こんな感じに表示
f:id:nanson0911:20200118210315p:plain

実行する時は、python3で実行しています。



crontabにて10分間隔で実行するようにしました。

やり方は下記の通り。

①crontab -e を実行して。

②最後の行に、

 */10 * * * * python3 /home/pi/bme280/bme280.py を追加しています。



cronを初めて編集する方は下記サイトを参考にするといいかと思います。

私はnanoを使用して編集しています。

https://ichibariki.hatenablog.com/entry/2017/06/02/063330



他参考サイト

https://deviceplus.jp/hobby/raspberrypi_entry_039/



andplants.hatenablog.com

amazonアソシエイトに参加しています。