5v 사용
라이브러리 설치
(출처 : Raspberry Pi 에서 node.js를 이용하여 온도/습도 측정 )
bcm2835 설치
$ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.52.tar.gz $ tar xzf bcm2835-1.52.tar.gz $ cd bcm2835-1.52 $ ./configure $ make $ sudo make check $ sudo make install
node-gyp 설치
$ sudo npm install -g node-gyp
node-dht-sensor 설치
$ npm install node-dht-sensor
node-dht-sensor 테스트
(출처 : http://fishpoint.tistory.com/1899 )
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'); } 출처: http://fishpoint.tistory.com/1899 [기린]
node.js를 이용하여 GET method 동작 시키기
지난 게시물에( http://vlee.kr/2013 ) 이어 GET method 반환 값으로 JSON 포멧으로 전달 해보자.
var express = require('express'); var router = express.Router(); var sensorLib = require('node-dht-sensor'); var sensor = { initialize: function() { return sensorLib.initialize(11, 24); }, read: function() { var readout = sensorLib.read(); setTimeout(function() { sensor.read(); }, 1500); return readout; } }; /* GET users listing. */ router.get('/', function(req, res, next) { var readout; if(sensor.initialize()) { readout =sensor.read(); } res.setHeader('Content-Type', 'application/json'); res.json(readout); }); module.exports = router;