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>
こんな感じに表示
実行する時は、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/