IOTOWN Manual

HTTP 예제

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

MQTT 예제

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]