1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BME680をRaspberry Pi 4で使ってみる

Last updated at Posted at 2024-05-31

概要

温湿度気圧計BME680をRaspberry Pi 4で使用します。 ラズパイにあるデバイスツリー機能を使用します。適切に設定すると、温湿度気圧の値をテキストファイルとして取り出すことができます。

環境

  • Raspberry Pi 4 Model B Rev 1.5

BME680の設定

電子部品自体は、秋月電子がモジュールとして使いやすいようにしてくれているキットを使用しています。

image.png

商品詳細ページの「マニュアル」より引用(ae-bme680.pdf

  • J2(画像赤枠右)にはんだ付けしジャンプ(短絡)させるかどうかでI2C接続のアドレス設定を0x77か0x78に変えることができます。
  • ラズパイ側にプルアップ抵抗がついているため、J1(画像赤枠左)をジャンプ(短絡)する必要はありません。
    • これに関しては若干自身がありません。。。最初勝手がわからずJ1をジャンプさせて接続していたのですが、特に通信エラーにはならず動作しました。

接続方法

下記にラズパイとBME680の接続例を示します。あらかじめこのように接続しておきます。

ラズパイ(PIN) BME680
GPIO1(3V3 power)(Pin1) VIN
GPIO3(Pin5) SCL
GPIO2(Pin3) SDA
Ground(Pin9) GND

ラズパイ側の設定

自動的にマッピングする機能を使用します。/boot/overlays/READMEに詳細説明があります。

I2Cの有効化

「Raspberry Pi Software Configuration Tool」を起動して設定を変更します。

sudo raspi-config
  • 3 Interface Options > I4 I2C
  • 「Would you like the ARM I2C interface to be enabled?」と聞かれるので<Yes>を選択

設定

下記設定を/boot/firmware/config.txtに追記します(最終行で良い)。J2をジャンプさせなかった場合(=0x77)は下記のようにします。

dtoverlay=i2c-sensor,bme680,addr=0x77

J2をジャンプさせた場合(=0x78)は下記のようにします(デフォルト設定で問題なし)。

dtoverlay=i2c-sensor,bme680

上記設定を済ませ、ラズパイを再起動します。

sudo reboot

BME680の値を取得

BME680から温湿度気圧を取得します。ディレクトリの場所が、I2Cのアドレスによって異なるので注意します。

# addr=0x77 の場合
cd /sys/bus/i2c/devices/1-0077/iio:device0

# addr=0x78 (デフォルト)の場合
# cd /sys/bus/i2c/devices/1-0078/iio:device0

cat in_humidityrelative_input
# 相対湿度[%]
# 出力例 51.497000000

cat in_pressure_input
# 気圧[hPa]
# 出力例 1015.370000000

cat in_resistance_input
# 出力例 150765
# 抵抗値らしい、よくわかってない。他データと組み合わせて空気の清浄度を測ることができる?

cat in_temp_inputgggee
# 気温 [ミリ℃]
# 出力例 27820
# 単位はミリ℃で格納されているようなので、1000で割る(27820 -> 27.820℃)

精度と校正

実際に数日測定してみて、精度を確認しました。
手元にSwitch-botの温湿度計があり、BME680の隣において数値を比較しました。微妙に数値が異なっていました。BME680のほうが、湿度は+5%、温度は+1℃程度高く表示されているようです。気圧は気象庁のデータと照らし合わせてみたところ、ざっくりあってそう。今度はグラフにして可視化してみる予定です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?