温湿度センサーを試したくて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Ωを使用。
ソースはサンプルをコピペ。
今回使用したのは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%
ま、安く手軽に作れたから良しとしよう!