#はじめに
Node-RED で BME280 を使っている記事が見当たらなかったので、今回つまづいたところを踏まえながらメモをかねて、実装の説明をする。
#BME280
気温・湿度・気圧 の3つのセンシングをたった1つでできる優れもの。
※秋月電子で販売されているものと、amazonで販売されているもの、そのほかのルートで販売されているものでは、センサーはBME280でも、使っているボードが違うため、データシート(取り扱い説明書)を読んで、配線を行うこと。
#実装(BME280編)
今回、使っているBME280はamazonで購入した(amazonではBMP280が届くことがあるらしいので注意)ものである。
今回のボードは以下のようなもで、
それぞれのピンに配線を行っていく。ピンの配線は以下の通りである。
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と入力】→【以下の画像を参照してノードを追加する】
デプロイをしてから、True信号を送り、デバッグエリアに以下の画像のような気温・湿度・気圧のセンシングデータが取得できれば、完了です。
#最後に
お疲れ様でした。
ミスや、改善点などがあれば、ご指摘いただけるとありがたいです。