LoginSignup
5
6

More than 3 years have passed since last update.

Node-REDとラズパイで温度・湿度・気圧を測定する(BME280)

Last updated at Posted at 2020-05-10

はじめに

Node-RED で BME280 を使っている記事が見当たらなかったので、今回つまづいたところを踏まえながらメモをかねて、実装の説明をする。

BME280

気温・湿度・気圧 の3つのセンシングをたった1つでできる優れもの。
※秋月電子で販売されているものと、amazonで販売されているもの、そのほかのルートで販売されているものでは、センサーはBME280でも、使っているボードが違うため、データシート(取り扱い説明書)を読んで、配線を行うこと。

実装(BME280編)

今回、使っているBME280はamazonで購入した(amazonではBMP280が届くことがあるらしいので注意)ものである。
今回のボードは以下のようなもで、
BME280(amazon).png
それぞれのピンに配線を行っていく。ピンの配線は以下の通りである。

BME280 raspberry pi (4)
VCC +3.3V [1番]
GND GND [9番か6番がおすすめ]
SCL GPIO 2 [5番]
SDA GPIO 3 [3番]
CSB 未接続
SDO GND か +3.3V

※SDOに関しては、LOW(GND)でI2Cアドレスが0x76となり、HIGH(+3.3V)でI2Cアドレスが0x77となるので、注意すること。
配線をはんだ付けする場合は、GNDを9番にすることで、横1列5個のメスピンで安定した配線ができるので、おすすめです。

実装(ラズベリーパイ編)

OSは最新のRaspbianをインストールしてください。

I2Cの設定

こちらを参照してI2Cの有効化を行ってください。詳しく見た方が良いですが、設定をまとめると以下のようになります。(ターミナルで実行)

sudo apt update
sudo apt -y upgrade    (必要に応じて)
sudo apt install -y i2c-tools

raspi-configからのI2Cの有効化

sudo raspi-config

【Interfacing Options】→【I2C】→【はい】→【了解】→【Finish】→【再起動】

sudo reboot

再起動後にI2Cアドレスの確認
以下のコマンドを実行後、 0x76 か 0x77 (設定した方)が確認できればOK

sudo i2cdetect -y 1

Node-REDの設定

Node-Red User Group Japanを参照してNode-Redをインストールして、ローカルで実行してください。詳しく見た方が良いですが、設定をまとめると以下のようになります。(ターミナルで実行)

インストール.
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
実行.
node-red-pi --max-old-space-size=256

http://<XXXXX>:1880というアドレスが表示されるので、そのアドレスをブラウザで開いてください。
フローエディタが表示されたら、以下のように移動
【≡】→【パレット管理】→【ノードを追加】→【検索エリアにbme280と入力】→【以下の画像を参照してノードを追加する】
bmeノード.png

入力にBme280のノードが追加される
bme280ノード.png

以下の画像のようにノードを作成する
ノード配線.png

デプロイをしてから、True信号を送り、デバッグエリアに以下の画像のような気温・湿度・気圧のセンシングデータが取得できれば、完了です。
スクリーンショット 2020-05-11 1.14.53.png

最後に

お疲れ様でした。
ミスや、改善点などがあれば、ご指摘いただけるとありがたいです。

5
6
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
5
6