スイッチサイエンスから温湿度・気圧センサのBME280が発売されています。同じBosch製のBMP180に比べると湿度も計測できます。BME280一つあれば環境センサとして便利に使えそうです。残念なことにBoschからはCのBME280_driverしか公開されておらず、使い方のページや、The New Bosch BME280 (Temp, Humidity, BMP)のブログなどもArduinoのサンプルコードしか見つかりませんでした。Raspberry Pi用にPythonで書き換えるのは敷居が高くて困っていると、ありがたいことにスイッチサイエンスさんが速攻でPythonのライブラリを書いてくれました。
ブレッドボード配線
使い方にあるArduinoの回路図をみながら、Raspberry Pi 2に以下のように配線します。確認したところ3.3Vに配線するVcoreとVioは基板上でつながっているのでどちらか片方だけでよいみたいです。
SDI (BME280) -> GPIO2 P03 (Raspberry Pi SDA1) |
ジャンパワイヤを配線したらi2cdetectで確認します。0x76アドレスを使っています。
$ sudo i2cdetect -y 1 |
サンプルコード
スイッチサイエンスのBME280のリポジトリにPythonのサンプルコードがあります。適当なディレクトリを作成してダウンロードします。
$ mkdir ~/python_apps/ss |
サンプルコードを実行します。
$ sudo python bme280_sample.py |
以下のデータが取得できました。
- 気温: 28.18 度C
- 気圧: 995.69 ヘクトパスカル
- 湿度: 60.62 %