Node.js를 이용하여 Open API callback에 등록하기 위한 POST 서버 예제입니다. 아래 코드를 callback_server.js 로 저장하십시오.
var http = require('http');
var server = http.createServer( function(req, res) {
if (req.method == 'POST') {
var body = '';
req.on('data', function (data) {
body += data;
});
req.on('end', function () {
console.log(body);
});
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('post received');
}
});
var port = 3000;
var host = '0.0.0.0';
server.listen(port, host);
console.log('Listening at http://' + host + ':' + port);
실행은 다음과 같이 하면 됩니다.
$ node callback_server.js
Node.js를 이용하여 MQTT로 실시간으로 유입되는 IoT 데이터를 수신하는 예제입니다. 아래 코드를 mqtt-callback.js로 저장하십시오.
if (process.argv.length != 6) {
console.log(`Usage: ${process.argv[0]} ${process.argv[1]} [URL] [username] [password] [group ID]`);
process.exit(1);
}
const mqtt = require("mqtt");
var option = {
username: process.argv[3],
password: process.argv[4],
rejectUnauthorized: false
};
const client = mqtt.connect(process.argv[2], option);
client.on("connect", () => {
client.subscribe(`iotown/rx/${process.argv[5]}/device/+/data`, (err) => {
if (err) {
console.error(err);
}
});
});
client.on("message", (topic, message) => {
console.log(`[${topic}] ${message}`);
});
위 코드는 MQTT.js를 요구합니다. 다음과 같이 모듈을 설치하십시오.
$ npm install mqtt
실행은 다음과 같이 하면 됩니다.
$ node mqtt-callback.js [URL] [username] [open API token] [group ID]
town.coxlab.kr 인 경우, mqtts://town.coxlab.kr 이 됩니다.