2016/06/23


萊恩大兵做這台 Node-RED 三輪車, 就是要來玩物聯網應用的. 既然是物聯網, 就會需要一個雲端平台來接收與傳遞資料, 扮演類似 MQTT broker 的角色. 又因為想串 Watson 的人工智慧 API, 所以, 雲端平台的部份, 萊恩大兵就選用 IBM Watson IOT Platform 了.





厚.. try 這段的過程, 萊恩大兵走了很多岔路一直搞不定, 差點就要放棄了說. 還好有撐住...


就順手將筆記整理起來, 一是留記錄供自己日後查看, 二是分享給有興趣的路人朋友, 可少走一點冤枉路.


就用 IBM DeveloperWorks Recipes 的文章 (Getting started with Watson IoT Platform using Node-RED) 範例來解說.



[1] 首先, 應用的情境為: 





有兩個 RPi 裝置, D-004 做溫/濕度偵測, 每隔 30 秒鐘向雲端拋出偵測得的數據. D-005 是三輪車, 會從雲端接收指令做動作.


雲端則是 Bluemix 平台, 寫一隻程式接收 D-004 拋來的溫/濕度數值, 做些邏輯判斷後, 再向 D-005 下指令做動作.



好的.. 應用情境講清楚了, 在打開 Node-RED editor 編輯程式前, 還有些環境與設定的準備工作要做.


[2] 環境與設定


在 Bluemix 的部份, 需要:


1. 在 Bluemix 新增一隻應用程式 (可選 Internet of Things Platform Starter), 並要有支援 Node-RED 與 Internet of Thins Platform. 


若不清楚如何在 Bluemix 新增一隻應用程式, 可參考 IBM Bluemix, 在 Node-RED 增加交談式對話程式節點 (Dialog Service, Node-RED, Bluemix, Watson)







2. 在 Internet of Thins Platform (IOTP) 的儀表板, 註冊裝置 D-004 與 D-005, 並要申請一組 API key. 


若不清楚如何在 IOTP 註冊裝置與申請 API Key, 可參考 Explore MQTT and the Internet of Things service on IBM Bluemix 

(提醒: 註冊裝置與申請 API Key 時, 得要把金鑰抄下來. IOTP 只會在金鑰剛產出時, 顯示其明碼一次, 以後完全不再顯示出來. 若沒抄起來, 就只能重新申請金鑰了.)











在 RPi 的部份, 則是要安裝 ibmiotapp node.





好的.. 環境與設定都弄好了. 接下來就是 Node-RED 程式了.
[3] Node-RED 程式碼


直接看圖, 不解釋了.


D-004 的部份













Bluemix 雲端程式



















D-005 的部份







既然已串通了 RPi 與 Bluemix, 下一次萊恩大兵要從遠端下指令來遙控三輪車了.


參考資料

(1) Getting started with Watson IoT Platform using Node-RED
(2) Explore MQTT and the Internet of Things service on IBM Bluemix
(3) Connect a Raspberry Pi to IBM Watson IoT Platform



[萊恩大兵的其它文章]


自製大四軸

自製大四軸, (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)


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)

OpenCV 學習路徑

記錄, OpenCV 學習路徑, (1) 環境安裝與第一個範例 (OpenCV, Python)
記錄, OpenCV 學習路徑, (2) 辨識多邊形 (OpenCV, Python)
記錄, OpenCV 學習路徑, (3) 人臉辨識 (OpenCV, Python, Face Recognition)

小惡魔 無線溫度感測器


0 意見:

張貼留言