2017年3月21日 星期二

2017 又再 IoT: node.js, npm

明明講緊 IoT, 關個 node.js 乜事.

原因為小弟懶, 發覺好多免費 package 好似幾好用 (例如 Node-RED), 不過就要先裝 node.js 用 npm 去裝.

無計, 老人家唔想做大多野, 有免費野就唔好浪費, 裝就裝喇.

  1. 下載軟件:  https://nodejs.org/en/download/
    原來在 https://nodejs.org/en/  已經有 v7.7.3 可以試, 但 download page 係  v6.10.0 LTS.
  2. 安裝軟件:  Windows 軟件, 就咁  click 個 msi 等佢裝.
    裝完就會去左:   C:\Program Files\nodejs
  3. 裝完之後, 佢會自動加左入 path, 可以直接在 command prompt 行 node 同 npm
  4. 執行 node <filename> 就可以用黎行 nodejs 既 script 了.  例如下面呢個:
    執行之後會起左個 web server, 用 browser 去 http://localhost:3000 會出句 Hello World.
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => { 
  console.log(`Server running at http://${hostname}:${port}/`);
});

  1. 跟 nodejs 6.10.0 黎既 npm 係 4.4.1 版本, 可以用黎裝你需要既 modules.
    安裝既方法:  npm install <module list>
  2. 比如話裝個 mqtt, 就可以做個好簡單既 mqtt monitor 去睇住 mosquitto 收左D 乜

consoleLog('MQTT Monitor Started');
var mqtt=require('mqtt');
var data;
var connInfo = {
  host: 'localhost',
  port: 1883,
  clientId: 'mqtt_receiver'
}

client=mqtt.connect(connInfo);
client.subscribe('#');
client.on('message', receiveMessageEvent);

function strNow() {
  return (new Date()).toISOString().replace('T',' ').replace('Z','');
}

function consoleLog(msg) {
  console.log(strNow() + ' : ' + msg);
}

function receiveMessageEvent(topic, payload) {
  console.log('%s : [%s] - %s', strNow(), topic, payload);
}

  1. 之後好多野我都仲研究緊

沒有留言:

張貼留言