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
이 됩니다.