作者:小波
延續上半場的熱絡氣氛,下午場緊接著由IBM台灣資料工程師Arey Liu 帶領大家使用Node-RED建置 LoRa應用,Let’s go!

Arey Liu不僅熟悉新技術的應用與開發,更為為企業設計顛覆性的服務。
Arey表示,既然上午場都在講解硬體的部分,那麼下午的工作坊,將會把重點放在資料丟上去後,要如何做應用。由於Node-RED是一個拖拉式的視覺化程式編輯架構,所以關鍵在於把邏輯串連起來的過程,雖然早上有學到,但接下來將要學習不需用Python就能取得資料的方法。
Node-RED建置與Bluemix – LoRa應用
於是Arey很快地開始講解課程,首先要為Server 請求架構,將MQTT的連線資訊設定好後,便可直接向MQTT Server進行Data的請求。一般情況下,需要透過OAuth2.0取得bearer token,再藉由token去取得資料。
Arey提醒大家:「若無法順利在樣板(型錄)中,找到 Internet of Things,請點選右上角的人頭,將所在區域選成美國南部,理論上這樣應該就會出現。」在陸續完成了取得MQTT 連線權限、建置Bluemix Node-Red 服務、設定mqtt node、輸入 Node-Red flow等流程後,就可以進行測試。
至於裝置端的部分,由於LoRa 本身只具有推播訊息的功能,能夠傳輸的資料量有一定的限制,能傳輸的data長度只能有 11 個bytes,型態就是11 個ASCII 或 22個 hex(16進位),而LoRa 透過AT command的方式與開發板進行溝通,因此在傳資料時,盡量照著格式去做會比較好(GPS座標一個有8個hex,共兩個;而Temperature 只有兩個hex)。
必須特別注意的是,測試時要先把LoRa後面接一個debug,在debug mode點開傳上來的東西,並先確認底下指令有連上。如果呈現的狀態是discommand,就知道沒有成功接上MQTT Server。聽完Arey清晰而簡潔的講解後,學員們試著按照說明,建置自己的LoRa Map,現場不少人舉手發問,Arey在台下穿梭解答,相當用心。

照上述的流程設置,即可在web上顯示出google地圖,並標出GPS資訊表示的位置

第一階段Arey讓大家體驗傳送資料、熟悉程式的邏輯串接,真正寫到code只有在轉碼的部分

這個是情境表示:如果偵測到溫度高於50度,就傳送簡訊到自己的手機,並告知GPS座標
建立與運用LoRa監控面板
體驗了將原有的node加以組裝後,將繼續學習如何新增一個Node-RED node,並運用其產生一個監控面板。由於Node-RED本身即是根據node.js創造出來的,故 npm 上當然有它的套件存在。
但是要如何在自己的雲端服務中開啟command line,並使用npm來安裝呢?其實不用那麼麻煩,如果熟悉node.js的話一定很熟悉 package.json,裡面記錄了所有會用到的 npm module ,所以我們只需要將package.json 再做些微修改就可以了!
那麼新增的方式有兩種,一種是先新增Git空間才編輯頁面,最後重新啟動應用程式,旁邊的module中,多了一個類別叫advance,且其中有一個module(即為freeboard),才算新增成功。
不過Arey表示:「這個方法其實有點麻煩,」加上本次不講freeboard而是dashboard的套件,為了省去麻煩和難度,也避免新增Git會遇到的問題,Arey教大家較為簡單的第二種方式:「選擇功能欄 、點進去manage page、於install點選dashboard並安裝」就會產生新的模組,安裝完成會有提醒,並且看到可使用的元件。
接著Import flow 進去後,再Deploy一次,便可建立LoRa監控面板。記得設定最大值、最小值,以及監控的URL。

Arey在快速示範完新增程序後,立即幫助各個學員解決疑難雜症
小結
即便在第一階段,Arey說這只是體驗上傳資料的部分,還不算真正寫到code;但從大家踴躍的發問便可以窺見,這些看似簡單的操作方法,還是很容易遇到挑戰,而每個人卡關的點也不同,因此工作坊的好處就得以體現了。
對於講師而言,可以即時明白學員的問題,而學員可以在當中快速的修正。透過工作坊,雙方確實地發現問題、解決問題,體驗學習和成長的過程,而到了後半段,更讓講者與助教們紛紛出動解惑,相信這樣一整天的工作坊下來,大家必定收穫滿滿,獲益無窮!
延伸閱讀
- 集資量產自製樂器,獨立音樂圈的創客新星 - 美秀集團 - 2018/08/30
- 當區塊鏈遇上物聯網,串起未來智慧生活 - 2018/07/16
- 智動創意跨域呈現,中科推出 Pickathon 機器人競賽 - 2018/07/12
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!