Raspberry Pi に BME280 モジュールを接続して温度、湿度、気圧を計測する
BME280 モジュールを Raspberry Pi に接続して温度、湿度、気圧を計測したときのメモです。
BME280 はスイッチサイエンスからピンがはんだ付けされていないものを購入しました。

- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
- この商品を含むブログを見る
こちらの Qiita 記事を参考にしています、接続もこの通りです。
まず i2c 関係のツールが入っていないのでこれと、smbus をインストールします。
$ sudo apt-get install i2c-tools python-smbus -y
起動時にモジュールを読み込めるように設定を追加します。
$ sudo vi /boot/config.txt device_tree=bcm2708-rpi-b.dtb device_tree_param=i2c1=on device_tree_param=spi=on
最後に追加すれば大丈夫っぽいです。
再起動してくればモジュールが読まれます。
これでモジュールにアクセスできるはずです。
i2cdetect でアドレスを確認すると、0x76 を使っています。
$ sudo 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 --
スイッチサイエンスで公開しているスクリプトで各種データを取り出せるので取ってきます。
$ mkdir ~/src/ss $ cd ss $ wget https://raw.githubusercontent.com/SWITCHSCIENCE/BME280/master/Python27/bme280_sample.py
BME280 にアクセスできるアドレスが 0x76 でなかった場合はダウンロードしたスクリプトの7行目に書かれたアドレスを変更すれば大丈夫な気がします。
i2c_address = 0x76
sudo でスクリプトを実行するとセンサーで取得した値が返ってきます。
$ sudo python bme280_sample.py temp : 26.36 ℃ pressure : 1007.30 hPa hum : 62.44 %
ファイルサーバーの隣にセンサーを設定しています。