LoginSignup
19
20

More than 5 years have passed since last update.

DHT11 + Raspberry Pi + Node.jsで温湿度センサーを試す

Posted at

温湿度センサーを試したくて300円で買えるDHT11を使ってみた。

node-dht-sensorというライブラリがあったのでこれを使ってみる。
https://github.com/momenso/node-dht-sensor

その前にbcm2835というライブラリが必要とのこと。
手順はREADMEの通りだ。
http://www.airspayce.com/mikem/bcm2835/

まずはこいつをraspbianにインストール。このときのバージョンは1.36。

curl -O http://www.airspayce.com/mikem/bcm2835/bcm2835-1.36.tar.gz
tar zxvf bcm2835-1.36.tar.gz
cd bcm2835-1.36
./configure
make
sudo make check
sudo make install

そしたらnode-dht-sensorをインストール

npm install node-dht-sensor

ネットで探した情報を元にRaspberry PiとDHT11を接続してみる。
こんな感じでいいのかな??なにぶん初心者なもので。。
3.3v。抵抗は10kΩを使用。
IMG_0793.jpg

ソースはサンプルをコピペ。
今回使用したのはDHT22ではなくDHT11なのでセンサータイプを11に変更。
GPIOピンは4番を使ったのでそのまま。

var sensorLib = require('node-dht-sensor');

var sensor = {
  initialize: function() {
    return sensorLib.initialize(11, 4);
  },
  read: function() {
    var readout = sensorLib.read();
    console.log('Temperature: '+readout.temperature.toFixed(2)+'C, humidity: '+readout.humidity.toFixed(2)+'%');
    setTimeout(function() {
      sensor.read();
    }, 1500);
  }
};

if (sensor.initialize()) {
  sensor.read();
} else {
  console.warn('Failed to initialize sensor');
}

アドミン権限で実行。結果は以下の通り。
時々取りこぼしがあるな。。

Temperature: 31.00C, humidity: 42.00%
Temperature: 31.00C, humidity: 42.00%
Temperature: 0.00C, humidity: 0.00%
Temperature: 31.00C, humidity: 42.00%
Temperature: 0.00C, humidity: 0.00%
Temperature: 31.00C, humidity: 40.00%
Temperature: 31.00C, humidity: 42.00%
Temperature: 31.00C, humidity: 41.00%

ウチの温室時計とはちょっとずれてるかな。。
温度28度、湿度54%

ま、安く手軽に作れたから良しとしよう!

19
20
2

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
19
20