發布日期:2022-05-25 點擊率:47
a G-IoT模塊基礎應用中,我們已經知道如何將從LoRa得到的數值上傳服務器,本文我們將學習撰寫Node-RED,將數據傳送到自己設計的網頁監測接口。
先來介紹一下啊Node-RED
Node-RED是IBM在2013年末開發的一個開源項目,用于構建物聯網IOT應用程序的一個強大工具。它提供基于網頁的可視化的編程環境,過拖拽已定義node到工作區并用線連接node創建數據流來實現編程
操作步驟
1.申請IBM BlueMix賬號后,進入在左邊的目錄選單選擇樣板,
接著點選“Node-RED Starter”服務,建立服務后點選產生的鏈接即可進入Node-RED程序頁面。
※如果在樣板那邊沒有〝Node-RED Starter〞,須將左上角有個人照片帳戶資料的下方,選擇「美國南部」,并建立新的空間﹝需命名你的新空間﹞。
2.進入Node-RED首頁后,點選“Node-REDeditor”即可看到默認的溫度感測模板。
3.進入editor頁面后,復制連結內的程序代碼,
點選editor右上角的設定選項,選擇“import”內的“Clipboard”,將連結內的程序代碼貼進去后,即可看到我們本次課程的實作─「將LoRa的GPS數據傳送到監控端用Google Map定位」。
4.首先,我們點擊兩下紫色的“LoRaNode”,這是一個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.一開始我們先點選主選單中的“Managepalette”,切換到窗口左邊的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后,你將可以開發大部分的簡易物聯網裝置。
作者:何信昱
下一篇: PLC、DCS、FCS三大控
上一篇: 關于LoRa,你了解多少