ラズベリーパイで遊ぶ その4 気温・湿度・気圧センサーを繋ぐ ④
ソースコードの概要
BME280センサーからBMP280.pyにより取得した気温、湿度、気圧データをBlynkアプリへ出力及び16文字2行のLCDに
出力するPythonコードです。スマホにBlynkアプリをインストールしてLCD表示器をI2C接続してることを前提とします。
また、以下のlibraryを同じフォルダーに収めるかパスを通します。
各ライブラリーのダウンロード
ここに利用させて頂いたBMP280.pyはbme280_sample.pyに少し手を加えたコードで「ArduinoやESP、Raspberryで遊ぼう」
さんの記事から引用しました。ページを開いた一番下側のBMP280モジュール (bmp280.py)をコピーさせて頂きました。感謝!
BMP280.pyのコピー先URL
GitHubからI2C_LCD_driver.pyを取得します。
I2C_LCD_driver.pyのダウンロード先URL
GitHubからBlynkLib.pyを取得します。
BlynkLib.pyのダウンロード先URL
Blynk_BME280.py
Raspi Zero WHにセットの自作便利HATを介してI2C接続したBME280からのデータをLCDとスマホに配信しています。
スマホにはBlynkからネット経由にてデータが送られるのでインターネットが届く所なら何処でも受信できます。
今回はスマホへの単なるデータ表示のみですが、Blynkアプリの応用次第で受信したデータを元にスマホからラズパイを
コントロールするなど実用的な操作が簡単に行えます。

皆様の参考になれば幸いです。
BME280センサーからBMP280.pyにより取得した気温、湿度、気圧データをBlynkアプリへ出力及び16文字2行のLCDに
出力するPythonコードです。スマホにBlynkアプリをインストールしてLCD表示器をI2C接続してることを前提とします。
また、以下のlibraryを同じフォルダーに収めるかパスを通します。
各ライブラリーのダウンロード
ここに利用させて頂いたBMP280.pyはbme280_sample.pyに少し手を加えたコードで「ArduinoやESP、Raspberryで遊ぼう」
さんの記事から引用しました。ページを開いた一番下側のBMP280モジュール (bmp280.py)をコピーさせて頂きました。感謝!
BMP280.pyのコピー先URL
GitHubからI2C_LCD_driver.pyを取得します。
I2C_LCD_driver.pyのダウンロード先URL
GitHubからBlynkLib.pyを取得します。
BlynkLib.pyのダウンロード先URL
Blynk_BME280.py
import BlynkLib |
Raspi Zero WHにセットの自作便利HATを介してI2C接続したBME280からのデータをLCDとスマホに配信しています。
スマホにはBlynkからネット経由にてデータが送られるのでインターネットが届く所なら何処でも受信できます。
今回はスマホへの単なるデータ表示のみですが、Blynkアプリの応用次第で受信したデータを元にスマホからラズパイを
コントロールするなど実用的な操作が簡単に行えます。

皆様の参考になれば幸いです。
スポンサーサイト
ラズベリーパイで遊ぶ その4 気温・湿度・気圧センサーを繋ぐ ③
16文字2行のLCDに測定値を表示する
モニターが無くても測定値が判るLCD表示器を付けてみました。
ラズベリーパイで遊ぶ その1 Blynk LCD Message Boardにて紹介しましたRaspi ZeroとLCD表示器のセットに
BME280を接続しました。LCDの上段には年月日と時刻を表示し、下段に温度、湿度、大気圧を表示させました。

Blynkアプリを使ってスマホに測定値を表示する
外出先でも測定値が見れるようにBlynkアプリのValue Displayに測定値を表示させます。
下の画像が気温、湿度、大気圧を表示したスマホのスクリーンショットです。
Blynkアプリのパーツは2,000Energyまで無料で使えます。無料範囲内で出来るだけ多くのパーツが使えるように
Energy単価が小さいValue Displayを1個使って温度、湿度、大気圧を1行に表示するように工夫しました。
ここでは単に値の表示だけですが、Blynkアプリの使い方を工夫すれば便利なことが簡単に実現します。
ほんの一例ですが、温室やビニールハウスの室温や湿度を目安に換気窓の開閉や散水などが、Blynkアプリの
ON/OFFボタンパーツを追加し、ラズパイのGPIO端子にリーレーユニットを設けるとスマホから遠隔操作が行えます。

Blynkアプリの設定
Blynkアプリの使い方は、ラズベリーパイで遊ぶ その1 Blynk LCD Message Boardを参考にして下さい。
ここでは、スマホに測定値を表示するValue Displayの設定について説明します。
①左画像:Widget Boxを開き、赤丸で示したValue Displayを選択します。
②中央画像:Value Display設定画面に赤丸で示したValueとV0を選択します。
③右画像:次のValue Display Settings画面で赤丸のV0を確認し、右下ボックスの矢印で5secに設定します。
V0上側のタイトルはスマホのValue Displayに小さく表示されます。英文で気温、湿度、気圧を記入しましたが任意です。

次回はソースコードを記します。
モニターが無くても測定値が判るLCD表示器を付けてみました。
ラズベリーパイで遊ぶ その1 Blynk LCD Message Boardにて紹介しましたRaspi ZeroとLCD表示器のセットに
BME280を接続しました。LCDの上段には年月日と時刻を表示し、下段に温度、湿度、大気圧を表示させました。

Blynkアプリを使ってスマホに測定値を表示する
外出先でも測定値が見れるようにBlynkアプリのValue Displayに測定値を表示させます。
下の画像が気温、湿度、大気圧を表示したスマホのスクリーンショットです。
Blynkアプリのパーツは2,000Energyまで無料で使えます。無料範囲内で出来るだけ多くのパーツが使えるように
Energy単価が小さいValue Displayを1個使って温度、湿度、大気圧を1行に表示するように工夫しました。
ここでは単に値の表示だけですが、Blynkアプリの使い方を工夫すれば便利なことが簡単に実現します。
ほんの一例ですが、温室やビニールハウスの室温や湿度を目安に換気窓の開閉や散水などが、Blynkアプリの
ON/OFFボタンパーツを追加し、ラズパイのGPIO端子にリーレーユニットを設けるとスマホから遠隔操作が行えます。

Blynkアプリの設定
Blynkアプリの使い方は、ラズベリーパイで遊ぶ その1 Blynk LCD Message Boardを参考にして下さい。
ここでは、スマホに測定値を表示するValue Displayの設定について説明します。
①左画像:Widget Boxを開き、赤丸で示したValue Displayを選択します。
②中央画像:Value Display設定画面に赤丸で示したValueとV0を選択します。
③右画像:次のValue Display Settings画面で赤丸のV0を確認し、右下ボックスの矢印で5secに設定します。
V0上側のタイトルはスマホのValue Displayに小さく表示されます。英文で気温、湿度、気圧を記入しましたが任意です。



次回はソースコードを記します。
ラズベリーパイで遊ぶ その4 気温・湿度・気圧センサーを繋ぐ ②
気温、湿度、気圧センサーについて
BME280には各種製品が販売されていますが、今回使用の製品は前回に画像にて紹介のAmazonで購入した製品です。
4ピンタイプのI2C接続専用BME280の拡大画像です。この製品の入力電圧はは3.3V~5Vに対応していますが、
私はラズパイ40ピン端子の1番ピン3.3V=VIN,、3番ピン=SDA、5番ピン=SCL、9番ピン=GNDへ接続して使いました。

この製品の初期I2Cアドレスは0x76で、次に紹介するスイッチサイエンス社のサンプルソースにそのまま使えます。
I2Cアドレスが他の機器と競合する場合は、アドレス設定ジャンパーにて変更できます。
ここからサンプルソース掲載GitHubのURLを開きます。
注意:bme280_sample.pyは、python2用なのでPython3では95行目、103行目、117行目のprint文に()を付けます。
I2C接続が出来たらBME280のテスト
先ずは、BME280/Python27/bme280_sample.pyをダウンロードさせて頂き、センサー単体でのテストを行います。
bme280_sample.pyをThonny python IDEなどにコピーして実行するとShellに次のように測定データが表示されます。
キーボードのスペースキーを押す度に新しいデーターが表示されます。

次回は測定データーをLCDに表示とBlynkアプリの設定です。
BME280には各種製品が販売されていますが、今回使用の製品は前回に画像にて紹介のAmazonで購入した製品です。
4ピンタイプのI2C接続専用BME280の拡大画像です。この製品の入力電圧はは3.3V~5Vに対応していますが、
私はラズパイ40ピン端子の1番ピン3.3V=VIN,、3番ピン=SDA、5番ピン=SCL、9番ピン=GNDへ接続して使いました。

この製品の初期I2Cアドレスは0x76で、次に紹介するスイッチサイエンス社のサンプルソースにそのまま使えます。
I2Cアドレスが他の機器と競合する場合は、アドレス設定ジャンパーにて変更できます。
ここからサンプルソース掲載GitHubのURLを開きます。
注意:bme280_sample.pyは、python2用なのでPython3では95行目、103行目、117行目のprint文に()を付けます。
95 print("pressure : %7.2f hPa" % (pressure/100))
103 print("temp : %-6.2f ℃" % (temperature))
117 print("hum : %6.2f %" % (var_h))
I2C接続が出来たらBME280のテスト
先ずは、BME280/Python27/bme280_sample.pyをダウンロードさせて頂き、センサー単体でのテストを行います。
bme280_sample.pyをThonny python IDEなどにコピーして実行するとShellに次のように測定データが表示されます。
キーボードのスペースキーを押す度に新しいデーターが表示されます。

次回は測定データーをLCDに表示とBlynkアプリの設定です。
ラズベリーパイで遊ぶ その4 気温・湿度・気圧センサーを繋ぐ ①
安価な気温・湿度・大気圧が測定できるBME280を使ってみた!
先に購入した湿度の測定できないBMP280は、気温がかなり高目に出るので補正して使ってたが湿度も測定できる
BME280を試してみました。この製品は温度の誤差が少なく安定しているようです。
単に測定値を見るのでは面白くないので、先に作ったLCDメーッセージボードを流用してセンサの値を見れるようにし、
更にBlynkを使ってスマホで測定値が見れるようにもしました。画像の右側がスマホに表示した測定値です。
スマホのBlynkアプリにON-OFFボタンを付けて、室温を測定して出先から部屋のエアコンの操作も可能です。

pi Zeroを使い自作HATにBME280を差し込んで使います。今回使ったBME280は4ピンタイプなのでI2C接続専用です。
Amazonの安い中国製品にはリスクを覚悟してたが、3個入りを購入したら1個が不良品でした。

次回はソフトウエアーについて記します。
先に購入した湿度の測定できないBMP280は、気温がかなり高目に出るので補正して使ってたが湿度も測定できる
BME280を試してみました。この製品は温度の誤差が少なく安定しているようです。
単に測定値を見るのでは面白くないので、先に作ったLCDメーッセージボードを流用してセンサの値を見れるようにし、
更にBlynkを使ってスマホで測定値が見れるようにもしました。画像の右側がスマホに表示した測定値です。
スマホのBlynkアプリにON-OFFボタンを付けて、室温を測定して出先から部屋のエアコンの操作も可能です。

pi Zeroを使い自作HATにBME280を差し込んで使います。今回使ったBME280は4ピンタイプなのでI2C接続専用です。
Amazonの安い中国製品にはリスクを覚悟してたが、3個入りを購入したら1個が不良品でした。

次回はソフトウエアーについて記します。