クラウドはAWS1年間無料なので、がんばってみようかと思いましたが、AmbientというIoT専用のクラウドを個人で運用されている人が居ます。
簡単そうなので、そちらで試してみます。
久しぶりなので写真も。
●ラズパイ本体(確か2+です)
●BME230センサー(小さい、緑色の基盤の真ん中銀色の部分がセンサーです)
●データーシート(
pdfファイルへのリンク)
●ラズパイとセンサーの接続状況(ラズパイ側1本pin間違っている状態)
その前に今回はラズパイに温度湿度センサー接続し、読み取れるように設定です。
★ラズパイGPIO番号と端子位置
https://tool-lab.com/make/raspberrypi-startup-22/
★ラズパイでSPI通信の準備
http://elelab-net.com/hobbytec/?p=533
★ラズパイI2CでBME280と接続
http://karaage.hatenadiary.jp/entry/2016/05/11/073000
★BME230をPythonで読み出す
https://qiita.com/masato/items/027e5c824ae75ab417c1
https://www.erde.co.jp/blog/?p=2927
http://marm.cocolog-nifty.com/jokanaan/2016/12/ae-bme28012-ed4.html
http://karaage.hatenadiary.jp/entry/2017/05/25/073000
-----------
こんな感じでI2C経由でBME280を認識できました。なかなか認識できなかったのですが、本体側のGPIOピンの接続が1本ずれてました。
【反省】「適切に接続したつもり」という思い込みは駄目。ピンヘッダー真上から見ると一目瞭然。ハードウェアは何度も目線を変えて目視確認が重要。
pi@raspberrypi:~ $ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --
pi@raspberrypi:~ $
スイッチサイセンスさんがpythonスクリプトを公開しています。
$ git clone https://github.com/SWITCHSCIENCE/BME280.git
$ cd BME280/Python27/
$ python bme280_sample.py
これではsmbus2というモジュールが無いと言うことでインストール。
★smbus2のインストール
$wget https://github.com/kplindegaard/smbus2/archive/master.zip
$unzip master.zip.1
$cd smbus2-master
$sudo pip install smbus2
これでエラーはなくなりました。
$pi@raspberrypi:~/BME280/Python27 $ python bme280_sample.py
$temp : 23.94 ℃
$pressure : 1006.75 hPa
$hum : 46.24 %
$pi@raspberrypi:~/BME280/Python27 $
ちゃんと温度に湿度、気圧の値をセンサーから取得することが出来ました。
その後、1分毎に計測してファイルに書き出し、昔ながらの(今は使わないらしい)
gnuplotでグラフにしてみました。
センサーはちゃんと動いて、ラズパイで読みと取れているようです。