Notice
Recent Posts
Recent Comments
Today
Total
04-27 17:32
Archives
관리 메뉴

Jeongchul Kim

라즈베리 파이2 nodejs 설치 및 LED, BTN, DHT 프로젝트 본문

라즈베리파이

라즈베리 파이2 nodejs 설치 및 LED, BTN, DHT 프로젝트

김 정출 2016. 3. 9. 17:48


라즈베리 파이2 nodejs 설치 및 LED, BTN, DHT 프로젝트


라즈베리 파이2 node js 설치하는 법

1. apt-get install node

> 잘 안됨 X


2. herokuapp binary devian package -> *.deb package (최신 버전은 아님)


3. nodejs.org src -> build 하는 법

> 최신 버전으로 사용하므로 추천!! 설치하는 동안 오래 걸림 12 시간 걸림….


그러므로 2번째 방법 채택

wget http://node-arm.herokuapp.com/node_latest_armhf.deb
sudo dpkg -i node_latest_armhf.deb




pi@raspberrypi:~/c_project $ wget http://node-arm.herokuapp.com/node_latest_armhf.deb


pi@raspberrypi:~/c_project $ sudo dpkg -i node_latest_armhf.deb


pi@raspberrypi:~/c_project $ node --version




Eclipse로 돌아와 Nodejs 프로젝트 생성



hello.js 파일 생성


소스파일 수정하고

프로젝트 목록에서

Export to Remote File System


파일이 변경되었다.


node-dev 설치하기

pi@raspberrypi:~/nodejs_project/node_raspberryPi $ sudo npm install -g node-dev


참고할 사이트

https://www.npmjs.com/


fritzing 설치

fritzing 설치하기


다운 받은 파일 압축을 풀어준다.

Fritzing.exe를 실행합니다.



브래드 보드를 선택합니다.


다시 돌아와서

BCM 18 - LED

BCM 23 - BTN

BCM 25 - DHT



자 이제 Eclipse로 돌아와 led_btn.js 소스 코드를 작성하자.


var Gpio = require("onoff").Gpio;

var led = new Gpio(18,'out'); //18 pin -> OUTPUT

var btn = new Gpio(23,'in','both'); // 23 pin -> IN, edge-both

btn.watch(function(err,value) {

if(err) {

throw err;

}

led.writeSync(value);

});

process.on('SIGINT',function() {

led.unexport();

btn.unexport();

process.exit();

});



프로젝트 목록에서 Open Remote File Exporter를 눌르자


Export to Remote file System을 눌러주자.

새로 추가한 javascript 파일 선택



putty로 돌아와 onoff를 설치하자

pi@raspberrypi:~/nodejs_project/node_raspberryPi $ npm install onoff


실행해보자



DHT 온습도 프로젝트

라즈베리 파이 구성도

Eclipse


https://github.com/momenso/node-dht-sensor



dht-11.js 자바스크립트 파일을 만든다.

소스파일

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

var sensor = {

  initialize: function () {

      return sensorLib.initialize(11, 25); //dht version: 11, using 25pin

  },

  read: function () {

      var readout = sensorLib.read();

      console.log('Temperature: ' + readout.temperature.toFixed(2) + 'C, ' +

          'humidity: ' + readout.humidity.toFixed(2) + '%');

      setTimeout(function () {

          sensor.read();

      }, 2000);

  }

};

if (sensor.initialize()) {

  sensor.read();

} else {

  console.warn('Failed to initialize sensor');

}



putty로 돌아온다.


wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.46.tar.gz


tar zxvf bcm2835-1.46.tar.gz


cd bcm2835-1.46


./configure


make


sudo make check

sudo make install


npm install node-dht-sensor

pi@raspberrypi:~/nodejs_project/node_raspberryPi $ npm install node-dht-sensor

자 이제 자바스크립트를 실행해보자




Comments