[IBM Bluemix教學系列] 第一章 Node.js與Node-RED介紹
Node.js與Node-RED介紹
請先閱讀:[IBM Bluemix教學系列] 第零章 IBM Bluemix 介紹Node.js
因為接下來的Bluemix系列教學將會使用到Node.js作為主要語言, 所以我們就來談談Node.js這個程式語言吧!
https://nodejs.org/en/download/
安裝完成後,請打開Terminal(終端機)輸入"node", 您將會看到一個跟python shell十分相似的互動式命令列, (正式名稱叫做REPL, Read-Eval-Print-Loop) 您可以直接在上面輸入一些指令並得到回應。
http://www.tutorialspoint.com/nodejs/nodejs_repl_terminal.htm
有了Node.js之後,我們先不急著開始寫我們的程式, 關於Node.js語法的特性不是本章著重的目標, 因為我們將介紹一種圖像化的開發界面---Node-RED。
Node-RED
Node-RED 是由IBM Emerging Technology所製作, 一款基於Node.js並門用在物連網的視覺化套件, 裡面整合了許多的服務,甚至能擴充IBM Bluemix的雲端服務API。 Node-RED GitHub https://github.com/node-red/node-red

Node-RED 一下
最後我們就來試試一些簡單的範例,並藉此了解Node-RED的操作模式與特性吧! 請先在左邊Input的欄位拉出一個inject元件, 您會發現在拖曳完成後它會變成了timestamp, 這是代表了一個時間戳記(對應到每一次的輸入),





[{"id":"11b032a3.ee4fcd","type":"inject","name":"Tick","topic":"","payload":"","repeat":"","crontab":"*/5 * * * *","once":false,"x":161,"y":828,"z":"6480e14.f9b7f2","wires":[["a2b3542e.5d4ca8"]]},{"id":"a2b3542e.5d4ca8","type":"http request","name":"UK Power","method":"GET","url":"http://realtimeweb-prod.nationalgrid.com/SystemData.aspx","x":301,"y":828,"z":"6480e14.f9b7f2","wires":[["2631e2da.d9ce1e"]]},{"id":"2631e2da.d9ce1e","type":"function","name":"UK Power Demand","func":"// does a simple text extract parse of the http output to provide an\n// object containing the uk power demand, frequency and time\n\nif (~msg.payload.indexOf('<span')) {\n var dem = msg.payload.split('Demand:')[1].split(\"MW\")[0];\n var fre = msg.payload.split('Frequency:')[1].split(\"Hz\")[0];\n\n msg.payload = {};\n msg.payload.demand = parseInt(dem.split(\">\")[1].split(\"<\")[0]);\n msg.payload.frequency = parseFloat(fre.split(\">\")[1].split(\"<\")[0]);\n \n msg2 = {};\n msg2.payload = (msg.payload.frequency >= 50) ? true : false;\n\n return [msg,msg2];\n}\n\nreturn null;","outputs":"2","valid":true,"x":478,"y":828,"z":"6480e14.f9b7f2","wires":[["8e56f4d3.71a908"],["cd84371b.327bc8"]]},{"id":"8e56f4d3.71a908","type":"debug","name":"","active":true,"complete":false,"x":678,"y":798,"z":"6480e14.f9b7f2","wires":[]},{"id":"cd84371b.327bc8","type":"debug","name":"","active":true,"complete":false,"x":679,"y":869,"z":"6480e14.f9b7f2","wires":[]}]


經過本章的介紹希望各位都能對Node.js與Node-RED有個認識,最後預告下週我們將會延續本章的Node-RED,在時下熱門的控制平台:Arduino以及Raspberry Pi上使用Node-RED來部屬各種應用程式,敬請期待!
留言 💬 (0)
還沒有留言,來當第一個。