라즈베리 파이에 문 센서가 연결되어 있습니다. 문이 열려 있는지 확인하려면 아래 스크립트가 2 초 간격으로 실행됩니다. 열려 있으면 외부 API 서버에 POST 요청이 만들어집니다.NodeJS 이벤트 루프 및 이벤트 수신
이 잘 작동하지만, 목표는 도어가 열리고 있던이이 을 열 때 얼마나 긴 의 정보를 포함하는 POST 요청을하는 것입니다. 내 첫 번째 생각은 노드 이벤트 & EventEmitter 기능을 사용하는 것이지만이 구현에 대해서는 확신이 없습니다.
var rest = require('restler');
var gpio = require('pi-gpio');
setInterval(function(){
gpio.read(16, function(err, value) { // sensor is attached to pin 16
if(err) throw err;
if(value === 1){ // If closed, the value is 0
console.log("Door Opened");
rest.post('http://192.168.6.109:3000/door/save', {
data: {
door: 'Open'
}
}).on('complete', function(data, response){
console.log('door status code: ' + response.statusCode);
});
}
});
},2000);
필요한 것을 저장하고 보내주십시오. 또는 서버에 변경 사항을 기록 하시겠습니까? – Mosho
죄송합니다. '필요한 것을 저장 하시겠습니까?'라는게 무엇을 의미합니까? – Anconia