【RaspBerryPi】DHT-11 温湿度を測定 (Nord-Red版)

Raspberry Piでセンサーを接続し、部屋の温度・湿度を測ります。 今回は「DHT-11」という温湿度センサーを使用します。

DTH-11について

DHT-11は、価格も安価で入手し易い温湿度センサーです。

開発環境

ラズパイ      Raspberrypi 3B

温度湿度センサー  DHT-11

開発言語      NordーRed

回路を組む

使用するのはDHT-11のセンサー単体のものです。

DHT11のピン構成は、 1番:5V、2番:GPIO、

3番:NC(Non-Connected = 使用していない)

4番:GND という構成になっています。

1番ピン、4番ピンにRaspberry Piの5V、GNDを接続し、

2番ピンに任意のGPIOの端子を割り当てて情報を取得する、ということになります。

温度・湿度を取得するプログラムでピンの番号が重要になりますので、

ピンの位置は間違えないように注意してください。

準備

-ラズパイ
-Node-RED(ラズパイ3にNode-RED環境を構築する)
DHT-11センサ

配線

ラズパイDHT-11
5V(PIN2)VCC
GPIO04(PIN7)DATA
GND(PIN30)GND

Node-REDにDHT11ノードをインストール

Npde-REDのパレット管理から「node-red-contrib-dht-sensor」を追加する。

2020-08-13_16h57_42.png

DHT-11ノードを設定する。

左側のノード一覧より「Raspberry Pi」→「rpi dht22」を選択し、フローに配置する。

ノードをダブルクリックして編集画面を表示させる。

各項目を下表のように設定する。

設定項目設定値
Sensor modelDHT-11
Pin numberingBCM GPIO
Pin number4

処理周期を決める

周期設定する

 1秒ごとに繰り返す設定にする。

2020-08-14_15h32_50.png

DHT11からデータを取得する。

DHT-11で取得したデータはmsgオブジェクトで出力される。


「debug」ノードを「rpi-dht22」ノードに接続し、msgオブジェクト全体を取得する。

デバッグ情報から「payload」に温度、「humidity」に湿度が文字列でセットされている。

ダッシュボードに出力する

Node-REDには出力結果を表示するダッシュボードがある。


ここでは「gauge」ノードを使用する。

温度のゲージを設定する。

 温度情報は、msg.payloadにセットされているので、「value format」に設定する。


 それ以外は適切に設定する。
 


湿度のゲージを設定する。

 湿度情報は、msg.humidityにセットされているので、「value format」に設定する。


 それ以外は適切に設定する。

ダッシュボード画面を表示する

2020-08-14_15h58_56.png

2020-08-14_16h00_46.png

全体のフロー

Node-REDはフローをJSONで表現することができる。

[{“id”:”46b259d0.6696e8″,”type”:”tab”,”label”:”フロー 1″,”disabled”:false,”info”:””},{“id”:”5b2c5419.7052ec”,”type”:”ui_gauge”,”z”:”46b259d0.6696e8″,”name”:””,”group”:”2fb4fd33.8cdef2″,”order”:1,”width”:4,”height”:2,”gtype”:”gage”,”title”:”温度[℃]”,”label”:”℃”,”format”:”{{msg.payload}}”,”min”:”-5″,”max”:”45″,”colors”:[“#00b500″,”#e6e600″,”#ca3838″],”seg1″:”25″,”seg2″:”35″,”x”:520,”y”:140,”wires”:[]},{“id”:”ab6090c7.4d72b”,”type”:”ui_gauge”,”z”:”46b259d0.6696e8″,”name”:””,”group”:”2fb4fd33.8cdef2″,”order”:4,”width”:4,”height”:2,”gtype”:”gage”,”title”:”湿度[%]”,”label”:”%”,”format”:”{{msg.humidity}}”,”min”:”20″,”max”:”80″,”colors”:[“#00b500″,”#e6e600″,”#ca3838″],”seg1″:”40″,”seg2″:”70″,”x”:520,”y”:200,”wires”:[]},{“id”:”c3c64c67.521b1″,”type”:”rpi-dht22″,”z”:”46b259d0.6696e8″,”name”:””,”topic”:”rpi-dht22″,”dht”:”11″,”pintype”:”0″,”pin”:”4″,”x”:320,”y”:80,”wires”:[[“5b2c5419.7052ec”,”ab6090c7.4d72b”,”72eea165.55a95″]]},{“id”:”dec320d9.e064c”,”type”:”inject”,”z”:”46b259d0.6696e8″,”name”:””,”props”:[{“p”:”payload”},{“p”:”topic”,”vt”:”str”}],”repeat”:”1″,”crontab”:””,”once”:true,”onceDelay”:0.1,”topic”:””,”payload”:””,”payloadType”:”date”,”x”:130,”y”:80,”wires”:[[“c3c64c67.521b1”]]},{“id”:”72eea165.55a95″,”type”:”debug”,”z”:”46b259d0.6696e8″,”name”:””,”active”:true,”tosidebar”:true,”console”:false,”tostatus”:false,”complete”:”true”,”targetType”:”full”,”statusVal”:””,”statusType”:”auto”,”x”:490,”y”:80,”wires”:[]},{“id”:”2fb4fd33.8cdef2″,”type”:”ui_group”,”z”:””,”name”:”センサ”,”tab”:”21ab0c69.4ac974″,”order”:1,”disp”:true,”width”:11,”collapse”:false},{“id”:”21ab0c69.4ac974″,”type”:”ui_tab”,”z”:””,”name”:”温度・気温”,”icon”:”dashboard”,”order”:1,”disabled”:false,”hidden”:false}]


Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です