최근 Raspberry Pi2에 Raspbian을 새로 설치하고 여러 사이트들을 참조하여 node.js를 이용하여 온도/습도를 알아오는 코드를 작성해 보았다.
우선 node.js까지 설치가 되어 있다는 가정하에 필요한 모듈들 설치 및 코드 작성하는 방법에 대해 기술했다.
Raspberry Pi2 에 DHT11 온도 습도 센서 연결
DHT11 sensor와 RPI2 간 연결은 아래와 같이 연결했다.
DHT11 |
RPI2 GPIO |
GROUND |
GROUND |
DATA |
GPIO4 |
PWR |
3.5V |
bcm2835 설치
Broadcom BCM 2835용 C Library를 설치한다. 이 라이브러리는 Raspberry Pi에서 GPIO에 access 할 수 있는 기능을 제공한다.(참조: http://www.airspayce.com/mikem/bcm2835/)
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.50.tar.gz tar xvzf bcm2835-1.50.tar.gz cd bcm2835-1.50 ./configure make sudo make check sudo make install |
node-gyp 설치
node-dht-sensor 라이브러리가 node-gyp 빌드 툴을 사용해서 빌드하기 때문에 설치가 필요하다.
sudo npm install -g node-gyp |
node-dht-sensor module 설치
node project 생성 후 module 추가(참조: https://github.com/momenso/node-dht-sensor)
npm install node-dht-sensor |
sample code 작성
아래 코드를 작성 후 실행
// file name : sample.js var sensor = require('node-dht-sensor'); var result = sensor.read(11, 4); console.log( "temperature: %s, humidity: %s", result.temperature.toFixed(1), result.humidity.toFixed(1) ); for (var n in result) { console.log(n + ": " + result[n]); } |
코드 실행 후 isValid값이 true인 경우에만 온도/습도 데이터가 출력된다.
Reference
https://github.com/momenso/node-dht-sensor
http://www.airspayce.com/mikem/bcm2835
'IoT' 카테고리의 다른 글
[Raspberry Pi] Node.js 설치하기 (0) | 2015.08.09 |
---|---|
[Raspberry Pi] WebIOPi 설치 방법 (0) | 2015.08.02 |