運用 Node-RED 開發 LoRa 應用


在之前的課程LoRa G-IoT模塊基礎應用中,我們已經知道如何將從LoRa得到的數值上傳服務器,本文我們將學習撰寫Node-RED,將數據傳送到自己設計的網頁監測接口。

先來介紹一下啊Node-RED

Node-RED是IBM在2013年末開發的一個開源項目,用於構建物聯網IOT應用程序的一個強大工具。它提供基於網頁的可視化的編程環境,過拖拽已定義node到工作區並用線連接node創建數據流來實現編程

運用Node-RED開發LoRa應用

操作步驟

1.申請IBM BlueMix賬號后,進入在左邊的目錄選單選擇樣板,

接着點選“Node-RED Starter”服務,建立服務后點選產生的鏈接即可進入Node-RED程序頁面。

運用Node-RED開發LoRa應用

※如果在樣板那邊沒有〝Node-RED Starter〞,須將左上角有個人照片帳戶資料的下方,選擇「美國南部」,並建立新的空間﹝需命名你的新空間﹞。

2.進入Node-RED首頁后,點選“Node-REDeditor”即可看到默認的溫度感測模板。

運用Node-RED開發LoRa應用

運用Node-RED開發LoRa應用 iotschool

3.進入editor頁面后,復制連結內的程序代碼,

點選editor右上角的設定選項,選擇“Import”內的“Clipboard”,將連結內的程序代碼貼進去后,即可看到我們本次課程的實作─「將LoRa的GPS數據傳送到監控端用Google Map定位」。

運用Node-RED開發LoRa應用 iotschool

4.首先,我們點擊兩下紫色的“LoRaNode”,這是一個MQTT的input node,我們將先前取得的MQTT信息依序填上,完成Subscribe的動作,你也可以另外先拉一個MQTT node與payload node對接后按下右上角的deploy,可從窗口右邊的debug字段確認是否有數據被推播進來,如果沒有就必須回去確認MQTT node是否有哪里設定錯誤。

運用Node-RED開發LoRa應用 iotschool

設定MQTT的信息

運用Node-RED開發LoRa應用 iotschool

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

運用Node-RED開發LoRa應用 iotschool

實作用的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上,這個實作就算是大功告成啦!

運用Node-RED開發LoRa應用 iotschool

地點被標示在地圖上

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

運用Node-RED開發LoRa應用 iotschool

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開發LoRa應用 iotschool

小結

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

原文:http://mp.ofweek.com/iot/a645673229736

NodeRED官網:https://nodered.org/

NodeREDGITHUB:https://github.com/node-red

NodeRED英文社區:https://discourse.nodered.org/

NodeRED中文社區:https://www.iotschool.com/topics/node81

NodeRED中文社區QQ群:8604461

iotschool


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM