前一陣子, 萊恩大兵和 Frank, 國俊, Eric, Ken 組隊參加某公司的智慧眼鏡模組創新應用競賽, 發想了一個叫做 "I-See, 正妹追蹤器" 的有趣專案.
雖然最後作品沒完成也沒得名, 但這過程中累積了一些成果. 就此埋沒有點可惜, 不如把經驗與成果分享出來, 留點記錄在人間.
在 10/27 日, 延續 10/13 日的正妹追蹤器概念分享後, 景智接著來介紹 Node-RED.
萊恩大兵簡單地記錄下當天的分享內容:
(1) 什麼是 Node-RED?
簡單講, Node-RED 是 IBM 以 Node.js 為基礎而開發出來的視覺化 IOT 開發工具.
Node-RED 和 Node.js 的關係.. 景智接下來的四張簡報, 都是在介紹 Node.js. 說實在萊恩大兵沒摸過 Node.js, 聽不進去這段的內容. 只記得景智最關鍵的一句~ 不需要會 Node.js 也能使用 Node-RED.
(2) 安裝 Node-RED
Node-RED 的安裝步驟很簡單. 就是先安裝 Node.js, 再安裝 Node-RED, 兩個指令解決.
萊恩大兵回家後有照著做, 大致說明一下安裝步驟.
首先, 到 Node-RED 的官方網頁下載 Node.js 0.12.x 安裝包.
(萊恩大兵的作業環境是 Macbook, 以下截圖均是 OSX 的安裝畫面.)
接著, 安裝 Node.js.
點擊剛剛下載的 Node 0.12.x 安裝包. 在彈出來的安裝畫面一直按 Continue (或 Install) 即可完成安裝.
![]() |
安裝畫面 第一頁 |
![]() |
安裝畫面 最後一頁 |
再來, 安裝 Node-RED.
打開 Terminal, 輸入:
sudo npm install -g --unsafe-perm node-red即會開始安裝 Node-RED.
到這邊順利的話, Node-RED 就安裝完成了.
順道也講一下在 Raspberry Pi 2 上安裝 Node-RED 的經驗好了. 同樣是連到 Node-RED 的官方網頁 可以找到 RPi 2 的安裝說明.
安裝 Node.js 的指令比較長一點:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -sudo apt-get install -y build-essential python-dev python-rpi.gpio nodejs安裝 Node-RED 的指令為:
sudo npm install -g --unsafe-perm node-red在安裝 Node-RED 的過程中, 會有一些 node-gyp rebuild 的錯誤訊息產生, 基本是不影響的, 別擔心.
(3) 啟動 Node-RED
在 Terminal 輸入
node-red
如果是 RPi 2 則請輸入 node-red-pi --max-old-space-size=128即可啟動 Node-RED.
它是一個 web service. 打開瀏覽器, 輸入:
http://localhost:1880 或 http://(your-ip-address):1880即可打開 Node-RED 的編輯器.
景智接著介紹 Node-RED 的開發環境, 程式語法, 如何安裝 library 等等.
簡單的說, 對 Node-RED 的期待要放對位置. Node-RED 是圖形化開發工具, 很方便很省工沒錯, 但它並不是(或還不是) "for dummies" 或 "7 天學會 IOT" 之類的工具.
萊恩大兵歸納了兩個原因:
[i] 相較於 Arduino 或 RPi, 在 Google 上能找到的 Node-RED 範例並沒有很多. 這增加了初學者的門檻.
[ii] 還是有一些範例會教~ 拉幾個 node, 把線串一串, 就可以這樣那樣... 可當真去研究後, 會發現真要做出能用的東西, 還是很需要堅實的底子的.
以用 Node-RED 做一個 http 計算機的示範為例. 還是需要知道 http request 與 http response 的對應關係. 甚至也要知道將資料轉成 JSON 形式來餵給 http response node. 若沒有相關知識基礎, 使用 Node-RED 也是無從下手, 只能用 inject 與 debug node 來自 high.
以用 Node-RED 做一個 http 計算機的示範為例. 還是需要知道 http request 與 http response 的對應關係. 甚至也要知道將資料轉成 JSON 形式來餵給 http response node. 若沒有相關知識基礎, 使用 Node-RED 也是無從下手, 只能用 inject 與 debug node 來自 high.
不過話說回來, 拿 Node-RED 搭配 RPi 或 Arduino, 還真是個快速上手, 快速 prototype 的好用工具. 例如控制 RPi 的某根腳位去點亮 LED. 只要簡單的拉四個 node, 串一串再寫一點程式碼即可做到. (請參考 First Flow - Blink - gpio)
(6) 專業的實作分享
另外, 景智這次的分享可是有備而來的. 他展示了一套用 Node-RED, RPi 2, servo, light sensor 與 MQTT 的智慧交通管理系統. 充分展現 Node-RED 快速 prototype 的工具優勢.
另外, 景智這次的分享可是有備而來的. 他展示了一套用 Node-RED, RPi 2, servo, light sensor 與 MQTT 的智慧交通管理系統. 充分展現 Node-RED 快速 prototype 的工具優勢.
最後, 做個簡單的總結. 這次的分享算是 Node-RED 的初入門, 還有很多實作技巧與資源值得去探索 (例如 IBM Bluemix 就是一個大寶庫). 萊恩大兵會繼續花時間在這主題上, 歡迎同好一起切磋討論.
[萊恩大兵的其它文章]
藍色小鋪一起來做
* 藍色小鋪一起來做, (1) 用 beacon 控制開關的枱燈
* 藍色小鋪一起來做, (2) 講解 BLE CC2540 UART 通訊範例程式 (Bluetooth, CC2540, UART)
* 藍色小鋪一起來做, (3) 藍牙枱燈專案實作 (上) (Bluetooth, CC2540)
* 藍色小鋪一起來做, (4) 藍牙枱燈專案實作 (下) (Bluetooth, CC2540)
* 藍色小鋪一起來做, (5) iBeacon scanner 專案示範與解說 (Bluetooth, CC2540, iBeacon)
* 藍色小鋪一起來做, (6) 完成, 用 iBeacon 控制開關的枱燈 (Bluetooth, CC2540, iBeacon)
* 藍色小鋪, 初嚐樹莓派 (Raspberry Pi)
* 藍色小鋪, iBeacon 應用, 自動記錄到訪時間 (iBeacon, Geohopper, Zapier)
* 藍色小鋪, 菲力普的 Docker 應用分享 (Docker)
* 藍色小鋪, PTT地震文團隊分享三連發, (1) Maker 的 IOT 遊樂場 (PTT, Hackathon, Python, Xively, Internet of Things)
* 藍色小鋪, PTT地震文團隊分享三連發, (2) mbed 新手分享 (mbed, MPU6050, Hackathon, Internet of Things)
* 藍色小鋪, 空中提升軌道車, 作品進化分享 (Pneumatic Tube System, Force of Friction, Mini 4 WD)
* 藍色小鋪, 數字管時鐘, 作品進化分享 (Nixie Tube, VFD)
* 藍色小鋪, 回憶之光, 3D 列印的經驗分享 (3D printing)
* 藍色小鋪, Humix 紙箱機器人, 機器人霸凌事件 (Humix, Internet of Thing)
* 藍色小鋪, 顏禁線制-滿旗開講, Henna 手繪體驗 (Henna)
* 週二來一招, I-See 正妹追蹤器, 概念分享 (Smart Glasses)
* 週二來一招, Qmote Maker's Module 功能介紹 (Qmote)
* Qmote Maker's Module, 加上按鈕變成手機遙控器 (Qmote)
* 自製大四軸, 實作分享@華山文創園區
* 自製大四軸, (1) 零組件篇, 遙控器 (Drone, Quadcopter, Futaba, Maker, Arduino, Animatronic Eye)
* 自製大四軸, (2) 零組件篇, 飛控板 (Drone, Quadcopter, MultiWii, Arduino, Futaba, Maker)
* 自製大四軸, (3) 零組件篇, 自行雷切木質機架 (Drone, Quadcopter, Maker, Laser Cut)
* 自製大四軸, (4) 零組件篇, 馬達與電變調整 (Drone, Quadcopter, Maker, Electric Speed Control, Motor)
* 自製大四軸, (5) 組裝篇, 四軸飛行器成形 (Drone, Quadcopter, MultiWii, Arduino, Maker, Electric Speed Control, Motor)
* 自製大四軸, (6) 調整篇, 飛行前兩三事 (Drone, Quadcopter, Maker, Futaba, Arduino, MultiWii)
* 自製大四軸, (7) 充電篇, iMax B6 充電器操作記要 (Charger, Battery)
* 自製大四軸, (8) 問題篇, 機架損壞維修 (Drone, Quadcopter, Laser Cut)
* 自製大四軸, (9) 改良篇, 方便拆卸的木質機架 (Drone, Quadcopter, Maker, Laser Cut)
* 自製大四軸, (10) 外飛篇, 新手的青蛙跳與遛狗 (Drone, Quadcopter, Maker, MultiWii)
自動報球速的棒球
* 自動報球速的棒球, (1) 概念與雛形 (Arduino, MPU-6050, HC-06)
* 自動報球速的棒球, (2) 第一版試作品 (Arduino, NanoWii, microSD, MPU6050)
* 自動報球速的棒球, (3) 拋接實驗的數據分析 (Arduino, NanoWii, microSD, MPU6050)
* 自動報球速的棒球, (2) 第一版試作品 (Arduino, NanoWii, microSD, MPU6050)
* 自動報球速的棒球, (3) 拋接實驗的數據分析 (Arduino, NanoWii, microSD, MPU6050)
* 做實驗, 寫入 EEPROM 的速度能否跟得上 MPU6050 的數據產出? (Arduino, MPU-6050, EEPROM)
* 筆記, NanoWii, 一些經驗分享 (Arduino, NanoWii, MPU6050)
* Murmur, 很小很強大的穿戴式裝置模組 (Realtag, Bluetooth, CC2540, MPU6050, BMP180)
* 筆記, NanoWii, 一些經驗分享 (Arduino, NanoWii, MPU6050)
* Murmur, 很小很強大的穿戴式裝置模組 (Realtag, Bluetooth, CC2540, MPU6050, BMP180)
CC2540 Bluetooth Low Energy
* 筆記, CC2540 Bluetooth Low Energy, (1) 開發環境 架設 (Bluetooth, CC2540)
* 筆記, CC2540 Bluetooth Low Energy, (2) 跑第一個範例程式 (Bluetooth, CC2540)
* 筆記, CC2540 Bluetooth Low Energy, (3) SimpleBLEPeripheral 簡單介紹 (Bluetooth, CC2540)
* 筆記, CC2540 Bluetooth Low Energy, (4) 在智慧手機上執行範例程式 (Bluetooth, CC2540)
* 筆記, CC2540 Bluetooth Low Energy, (5) 偵測與發送 iBeacon 訊號 (Bluetooth, CC2540, iBeacon)
* 實作, iBeacon 發訊器 x 防丟器 (Bluetooth, CC2540, iBeacon)
* 實作, iBeacon 尋寶遊戲 (Bluetooth, CC2540, iBeacon, iOS app)
* 實作, BLE + iOS app, 遙控燈泡君 (Bluetooth, CC2540, iOS app)
* 做實驗, 用 iBeacon 做自動控制的可行性 (Bluetooth, iBeacon, CC2540, Automation, URL Scheme, iOS app)
* 筆記, CC2540 Bluetooth Low Energy, (2) 跑第一個範例程式 (Bluetooth, CC2540)
* 筆記, CC2540 Bluetooth Low Energy, (3) SimpleBLEPeripheral 簡單介紹 (Bluetooth, CC2540)
* 筆記, CC2540 Bluetooth Low Energy, (4) 在智慧手機上執行範例程式 (Bluetooth, CC2540)
* 筆記, CC2540 Bluetooth Low Energy, (5) 偵測與發送 iBeacon 訊號 (Bluetooth, CC2540, iBeacon)
* 實作, iBeacon 發訊器 x 防丟器 (Bluetooth, CC2540, iBeacon)
* 實作, iBeacon 尋寶遊戲 (Bluetooth, CC2540, iBeacon, iOS app)
* 實作, BLE + iOS app, 遙控燈泡君 (Bluetooth, CC2540, iOS app)
* 做實驗, 用 iBeacon 做自動控制的可行性 (Bluetooth, iBeacon, CC2540, Automation, URL Scheme, iOS app)
OpenCV 學習路徑
* 記錄, OpenCV 學習路徑, (1) 環境安裝與第一個範例 (OpenCV, Python)
* 記錄, OpenCV 學習路徑, (2) 辨識多邊形 (OpenCV, Python)
小惡魔 無線溫度感測器
* 小惡魔, (1) 溫度感測 + 物聯網 (Electric Imp, Xively, LM35, Internet of Things)
* 小惡魔, (2) 溫度感測 + 物聯網 + 事件觸發 (Electric Imp, Xively, LM35, Internet of Things)
* 小惡魔, (2) 溫度感測 + 物聯網 + 事件觸發 (Electric Imp, Xively, LM35, Internet of Things)
108 大眼仔
Plot Clock
* 108 大眼仔, 初登場 (Arduino, SG-90, Maker Faire Taipei 2014, Animatronic Eye)
* 108 大眼仔, 進化, (1) 專屬程式庫 (Arduino, SG90, Animatronic Eye)
* 108 大眼仔, 進化, (2) 當我們串在一起 (Arduino, SG90, Animatronic Eye, I2C)
* 108 大眼仔, 進化, (3) 檢查 Gmail 信箱 (Arduino, SG90, Animatronic Eye, Temboo)
* 108 大眼仔, 進化, (4) 看著我的臉 (Arduino, SG90, Animatronic Eye, OpenCV, Processing, I2C)
* 108 大眼仔, 進化, (5) 迎著人來人往 (Arduino, SG90, Animatronic Eye, OpenCV, Processing, I2C)
* 108 大眼仔, 檢討筆記, 我要一個打十個 (Arduino, SG90, Animatronic Eye)
* 108 大眼仔, 進化, (1) 專屬程式庫 (Arduino, SG90, Animatronic Eye)
* 108 大眼仔, 進化, (2) 當我們串在一起 (Arduino, SG90, Animatronic Eye, I2C)
* 108 大眼仔, 進化, (3) 檢查 Gmail 信箱 (Arduino, SG90, Animatronic Eye, Temboo)
* 108 大眼仔, 進化, (4) 看著我的臉 (Arduino, SG90, Animatronic Eye, OpenCV, Processing, I2C)
* 108 大眼仔, 進化, (5) 迎著人來人往 (Arduino, SG90, Animatronic Eye, OpenCV, Processing, I2C)
* 108 大眼仔, 檢討筆記, 我要一個打十個 (Arduino, SG90, Animatronic Eye)
* 自造 Time Plotting Clock, (1) 零件採購
* 自造 Time Plotting Clock, (2) 組裝
* 自造 Time Plotting Clock, (3) 校正
* 自造 Time Plotting Clock, (2) 組裝
* 自造 Time Plotting Clock, (3) 校正
0 意見:
張貼留言