以前の記事でラズパイのGPIOを動かしましたが、ラズパイで出来ることはまだまだあります。
そこで今回は温湿度センサー(BME280)を使って、ラズパイで温湿度を計測してみましょう。(ついでに気圧も計測できるので合わせて計測します。)
ちなみに下記順で見ると、BME280の回路接続方法、温湿度サーバーの作成方法やクライアントアプリの作成方法といった、一通りのことがわかりますので、時間があれば最初からどうぞ。
- 【第1回】Raspberry Piで温湿度センサー(BME280)を動かしてみよう ← 今ココ
- 【第2回】プログラムで温湿度センサー(BME280)を操作してみよう!C言語編
- 【第3回】温湿度を計測するサーバーの作成
- 【第4回】温湿度サーバーを複数接続に対応する方法
- 【第5回】温湿度を取得するクライアントアプリの作成(iOS版)
準備するもの
今回の温湿度測定では下記のものを使用します。
- 初期設定済みのラズパイ
- パソコン
- BME280(温湿度センサー)
- ブレッドボード
- ジャンパ線
- ハンダゴテ
ちなみに私が今回使ったBME280はこちら。
温湿度センサーの回路作成
温湿度センサーを動かすための準備をしましょう。
まずは購入した温湿度センサーにヘッダーピンを付けましょう。ハンダゴテを使ってハンダ付けします。
ハンダ付けが終わったら温湿度センサーとラズパイをジャンパ線で接続します。今回はI2C通信を使うので、下記のような接続になります。
実際にブレッドボードを介して接続するとこんな感じ。
以上で温湿度センサーの回路作成は完了です。
温湿度センサーの動かし方
いよいよ温湿度センサーを動かします。今回はスイッチサイエンスさんが公開しているPythonコードを使って温湿度センサーから値を取得してみましょう。
まずはラズパイのI2Cインターフェースを有効にするために、下記コマンドを実行します。
sudo raspi-config nonint do_i2c 0
次に下記コマンドを実行してBME280を動かすPythonコードを取得します。
git clone https://github.com/SWITCHSCIENCE/BME280.git
また、Pythonコードではsmbus2ライブラリを使用しているため、下記コマンドでsmbus2ライブラリをインストールします。
sudo pip install smbus2
これで準備完了です。早速、下記コマンドを実行して温湿度を取得してみましょう。
python BME280/Python27/bme280_sample.py
こんな感じで出力が出てきたら、温湿度の取得が成功していますよ。
まとめ
実際にやってみるとめちゃくちゃ簡単に温湿度、気圧を取得できます。ただ、これだとあまり実用性はありません。
スマホのウィジェットアプリなどを作成して、定期的にラズパイと通信して温湿度を取得するようにするなど、他のデバイスと連携することで実用的な使い方ができるようになりますよ。
コメント