高通台灣AI黑客松|競賽說明會
|

【Tutorial】運用Node-RED開發LoRa應用

   
作者:何信昱

這篇文銜接「LoRa G-IoT模組 基礎應用教學」,我們已經知道如何將從LoRa得到的數值上傳﹝Publish﹞到MQTT伺服器,接下來我們將學習撰寫Node-RED,將數據傳送到自己設計的網頁監測介面。

  1. 申請IBM BlueMix帳號後,進入此連結在左邊的目錄選單選擇樣板,接著點選“Node-RED Starter”服務,建立服務後點選產生的連結即可進入Node-RED程式頁面。

    ※如果在樣板那邊沒有〝Node-RED Starter〞,須將左上角有個人照片帳戶資料的下方,選擇「美國南部」,並建立新的空間﹝需命名你的新空間﹞。
  2. 進入Node-RED首頁後,點選“Node-RED editor”即可看到預設的溫度感測範本。
  3. 進入editor頁面後,我們複製此連結內的程式碼,點選editor右上角的設定選項,選擇“Import”內的“Clipboard”,將連結內的程式碼貼進去後,即可看到我們本次課程的實作─「將LoRa的GPS資料傳送到監控端用Google Map定位」。

 

  1. 首先,我們點擊兩下紫色的“LoRa Node”,這是一個MQTT的input node,我們將先前取得的MQTT資訊依序填上,完成Subscribe的動作,你也可以另外先拉一個MQTT node與payload node對接後按下右上角的deploy,可從視窗右邊的debug欄位確認是否有資料被推播進來,如果沒有就必須回去確認MQTT node是否有哪裡設定錯誤。

    設定MQTT的資訊

    拉一個MQTT Node+Debug node,確認LoRa的資料有確實推播進來

實作用的Node-RED程式碼,可以看到同時有ASCII跟GPS Hex兩個function node

從連結提供的流程(上圖)可以發現,中間的function node有分為ASCII與GPS Hex兩種decoder,因為LoRa推播的資料格式有這種格式供使用者選擇,因此要將相對應的function連結,如果MQTT設定無誤且debug欄位也一直有資料跑出來,我們可以在網址端輸入:

http://{你IoT服務設定的名稱}.mybluemix.net/loramap

即可看到GPS位置資料被標示在Google Map上,這個實作就算是大功告成啦!

地點被標示在地圖上

第二部分,我們要完成LoRa的監控頁面

  1. 一開始我們先點選主選單中的“Manage palette”,切換到視窗左邊的install欄位,在搜尋字串中輸入“dashboard”,在出現的選單中安裝“Node-RED Dashboard”,這樣dashboard node就會出現在左手邊的node欄位了。
  2. 與第一個實作相同,從這個連結Import本實作的flow,※一定要先安裝dashboard node才能import flow,不然會產生錯誤資訊,接下來你就可以在debug欄位附近看到dashboard欄位,使用者可以依自己的需求自由更改各種顏色與線條圖,尤其是有個像是車速儀表板的圖表,需要特別設定它的最大值與最小值,如此一來我們的測試值就會在這兩個值之間顯示。
  3. 設定好了之後按下deploy就可以用瀏覽器進入“http://{你的應用程式名稱}.mybluemix.net/ui”,應該就能看到設計的圖表,並且會因為你給的數值有變化而跟著一起變化,如果都有的話,代表物聯網的監控介面就完成了,之後如果需要也可以設計符合需求的監測面板。

小結

如果要開發物聯網裝置,Node-RED會是你的好選擇,而MQTT則是和Node-RED溝通最快速的橋樑,本文簡述了如何開發Node-RED的MQTT端口以及Node-RED的監控面板,了解如何使用LoRa、Node-RED、MQTT後,你將可以開發大部分的簡易物聯網裝置。

Severus

訂閱MakerPRO知識充電報

與40000位開發者一同掌握科技創新的技術資訊!

Author: Severus

小小見習工程師,站在巨人的肩膀上,努力想要看到專屬於自己的景色。

Share This Post On
468 ad

1 Comment

  1. 請問一下,我找不到我的IoT服務設定的名稱,我該去哪裡查看,我照著您的教學步驟一步步做,卡在這裡。

    Post a Reply

發佈回覆給「as5656tw」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *