Raspi

2年ぶりのラズパイ…2日目

2年ぶりのラズパイ…2日目

クラウドはAWS1年間無料なので、がんばってみようかと思いましたが、AmbientというIoT専用のクラウドを個人で運用されている人が居ます。 簡単そうなので、そちらで試してみます。

久しぶりなので写真も。

ラズパイ本体(確かpi2b+です)

BME280センサー(小さい、緑色の基盤の真ん中銀色の部分がセンサーです)

データーシート(pdfファイルへのリンク)

ラズパイとセンサーの接続状況(ラズパイ側1本pin間違っている状態)

その前に今回はラズパイに温度湿度センサー接続し、読み取れるように設定です。

★ラズパイGPIO番号と端子位置 参考リンク

★ラズパイでSPI通信の準備 参考リンク

★ラズパイI2CでBME280と接続 参考リンク

★BME230をPythonで読み出す 参考リンク 参考リンク 参考リンク 参考リンク

こんな感じでI2C経由BME280を認識できました。なかなか認識できなかったのですが、本体側のGPIOピンの接続が1本ずれてました。

【反省】「適切に接続したつもり」という思い込みは駄目。ピンヘッダー真上から見ると一目瞭然。ハードウェアは何度も目線を変えて目視確認が重要。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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スクリプトを公開しています。

1
2
3
$ git clone https://github.com/SWITCHSCIENCE/BME280.git
$ cd BME280/Python27/
$ python bme280_sample.py 

これではsmbus2というモジュールがないと言うことでインストール。

★smbus2のインストール

1
2
3
4
5
$wget https://github.com/kplindegaard/smbus2/archive/master.zip
$unzip master.zip.1
$cd smbus2-master

$sudo pip install smbus2

これでエラーはなくなりました。

1
2
3
4
5
$pi@raspberrypi:~/BME280/Python27 $ python bme280_sample.py
$temp : 23.94  ℃
$pressure : 1006.75 hPa
$hum :  46.24 %
$pi@raspberrypi:~/BME280/Python27 $ 

ちゃんと温度に湿度、気圧の値をセンサーから取得することができました。

その後、1分毎に計測してファイルに書き出し、昔ながらの(今は使わないらしい) gnuplotでグラフにしてみました。

センサーはちゃんと動いて、ラズパイで読みと取れているようです。

comments powered by Disqus