LoginSignup
3
5

More than 3 years have passed since last update.

ラズパイで温度、湿度情報を取得する(DHT11センサ)

Posted at

目的

 部屋の温度、湿度をセンサで取得する。

準備

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

配線

ラズパイ DHT11
5V(PIN2) VCC
GPIO04(PIN7) DATA
GND(PIN30) GND

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

Node-REDでDHT11を使用できるようノードを追加する。

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

参考資料

node-red-contrib-dht-sensor

DHT11ノードを設定する。

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

ノードをダブルクリックして編集画面を表示させる。
2020-08-13_17h02_20.png

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

設定項目 設定値
Sensor model DHT11
Pin numbering BCM GPIO
Pin number 4

処理周期を決める

周期実行タイマを追加する

DHT11から温度、湿度を取得するタイミングを決める。
「inject」モジュールを使用する。
2020-08-14_15h30_09.png

周期設定する

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

2020-08-14_15h32_50.png

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

DHT11で取得したデータはmsgオブジェクトで出力される。
「debug」ノードを「rpi-dht22」ノードに接続し、msgオブジェクト全体を取得する。
2020-08-14_15h44_43.png

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

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

Node-REDには出力結果を表示するダッシュボードがある。
ここでは「gauge」ノードを使用する。
2020-08-14_15h50_35.png

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

 温度情報は、msg.payloadにセットされているので、「value format」に設定する。
 それ以外は適切に設定する。
 2020-08-14_15h52_54.png

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

 湿度情報は、msg.humidityにセットされているので、「value format」に設定する。
 それ以外は適切に設定する。
2020-08-14_15h53_11.png

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

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}]

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