使用 NODE-RED 開發物聯網讓你輕鬆 EASY 好上手

Node-Red是一個使用瀏覽器介面的強大物聯網 (IoT) 開發工具,其視覺開發環境以流程 (flows) 為基礎,使應用程式撰寫更加簡易。其程式語言涵蓋範圍相當廣,包含了多種的程式設計風格以及範例。其中以指令式以及物件導向程式設計主宰這個領域,但也有為生產軟體以及快速將點子原型化的替代選擇。Node-RED 採取另一種方式來開發軟體。
評論
評論

Node-Red 是一個使用瀏覽器介面的強大物聯網 (IoT) 開發工具,其視覺開發環境以流程 (flows) 為基礎,使應用程式撰寫更加簡易。本文將探索如何使用 Node-RED 以及 flows 開發 IoT 應用程式。

其程式語言涵蓋範圍相當廣,包含了多種的程式設計風格以及範例。其中以指令式以及物件導向程式設計主宰這個領域,但也有為生產軟體以及快速將點子原型化的替代選擇。

Node-RED 採取另一種方式來開發軟體。首先,它是一個視覺開發語言。 Node-RED 致力於流程化程式設計,替代以逐行的文字語句敘述撰寫程式。

這些流程由相連的節點構成,每一個節點代表特定的功能 (見圖一)。雖然 Node-RED 是用來設計物聯網的程式語言,但其應用範圍不限於此。

圖一 Node-RED 開發之示範流程

Node-RED 相對來說是較年輕的環境,源於 IBM ,隨後於 2013 年被釋放為 open source 。這個工具當初被設計為物聯網程式設計工具,但由於他的簡便以及廣泛的可用性而使其成長。接下來讓我們探討 Node-RED 的精神,以及如何在物聯網設計上,迸濺出新的火花。

以 Node-RED 設計一個簡單流程

讓我們回到圖一,以了解 Noed-Red 的程式設計概念。

左邊是節點面板,列出了您的程式可用的節點選項。中央面板則是編寫您的流程的位置。在這個範例中兩個節點已被定義,第一個是一個輸入節點,他會在一個自定的時間間隔創造訊號(我把他配置成每 5 秒產生一個時間戳記訊號,如圖二)這個節點連接著一個 debug 節點,您可以由此擷取資料到 log 。這個節點名為 msg.payload ,標示著將被擷取的資料。最後,在最右側是 debug 輸出。圖中三個區塊都是自 debug 獨立輸出的結果,您可以發現時間戳記恰好是五秒為間隔。

圖二 輸入節點的設定

這是一個簡易的流程,展示了 Node-RED 的開發精神。一個輸入節點產生時間戳記訊息,以及一個 debug 節點接收訊息並顯示於 debug log 。

節點與節點種類

Node-RED 包含了相當豐富的節點,會讓您馬上具備生產力。圖三是輸入以及輸出節點,其允許 MQTT 訂閱與接收主題 (topics) 、輸出 MQTT 主題至中介器 (broker) 、透過 HTTP requests(以及建構 HTTP response)設計網路服務,以及可以創建伺服器的低階 TCP 、 UDP 服務,接收輸入以及產生輸出。

圖三:Node-RED 輸入和輸出節點

圖四為過程節點。透過這些節點,您可以(用 JavaScript)撰寫自己的節點功能,產生用作定時觸發的訊息,以及限制流量的延遲訊息。您也可以經由 switch 節點和其他豐富的條件表達節點,基於訊息的內容改變其途徑(或刪除訊息),並且端看使用者自行定義的動作重新佈建數字訊號的範圍。最後,解譯多種類的輸入資料格式,並轉換他們。

圖四 Node-RED 功能節點

最後一組節點名為進階節點(圖五)。這些節點涵括多種的應用方案,包括收發電子郵件,和執行敏感推特文章掃描。您可以自存放區收發訊息並自檔案系統監看變化。最後,您可以監看 RSS / Atom feed,甚至在作業系統 spawn(執行多工副本)或執行指令。

圖五 Node-RED 進階節點

要是您沒找到需要的節點(例如臉部辨識系統,或是其他物理裝置介面)您也可以下載新的節點。現在,讓我們看看較為複雜的流程設計。

於 Node-RED 建造一個較為複雜的流程

Node-RED 真正的力量在於其物聯網上的應用程式。在這個範例中,您將讀取嵌入式裝置感應器,並將其資料分散使用。在接下來的流程中,如圖六,您第一會注意到的是,針對兩個您要監控的感應器,會有兩條流程而非一個。第一個感應器會有週期性的搜集資料,並只在超越一定的範圍時啟動功能(用作警報)。當超過範圍時,同時將訊息結果繞至 MQTT 作為警報標題,以及 log 檔案。

第二個感應器也是週期性的搜集的資料。請總是 route 到 MQTT 為另外一個主題,以及一個 log 檔案。 Node-RED 為您提供這種平行方式作為其程式設計樣板。

圖六 較為複雜的輪詢流程

Node-RED 允許以許多節點建構許多流程,因此您可以用做執行搜集本地資料,並於嵌入式裝置中操作,或於伺服器中接收資料,甚至更複雜的操作。

使用樣板

Node-RED 是基於 Node.js ,一個伺服器端執行時開源開發環境。

它支援事件驅動導向樣板(event-driven),適合於 Node-RED 非同步的流程導向環境。

您可在 Node-RED 上建造流程並執行於嵌入式裝置,例如 Intel® Edison 運算模組以及 Arduino- Intel® Galileo 認證的開發板。這些裝置走在物聯網生態的尖端,並與最新的硬體介面直接互動,如溫度感應器,以及 drive motors 。

您也可以在閘道裝置上執行 Node-RED ,例如 Intel® IoT Gateway 。在這個樣板中,您可使用 Node-RED 與許多本地 edge 運算裝置溝通,以搜集運算其資料,分發這些資料到 MQTT 中介器作為進一步用途。

在這兩種使用樣板中, Node-RED 執行於這些裝置上:只需將瀏覽器自網路連接到裝置上以建構測試流程。如此,開發與測試環境以及運行皆在裝置上。

結論

在視覺方面, Node-RED 是一個串接功能強大,流程搜集、處理並分發資料的程式撰寫工具。 Node-RED 提供豐富的節點組,引領您進入這邊寫樣板,同時您可以下載大量的節點和流程以套用於您的應用程式。最好的是,您可以帶著最喜歡的 Intel 開發板或物聯網閘道器,安裝 Node-RED 並以最少的時間和精力執行。這個使得 Node-RED 成為物聯網生態中必要的部分。

更多精選文章.....


智慧照護新革命!AI 機器人成為智慧醫療助手

高齡化浪潮來襲, 2025 年台灣將步入超高齡社會,65 歲以上人口佔比超過 20%。高齡化加上少子化,衍生勞動力短缺不足,經濟部工業局推動「電子資訊智慧製造服務系統推動計畫」,加速服務型機器人產業發展,借鏡日本智慧長照現況,把科技導入照護場域,提升更好的生活品質。
評論
Photo Credit:經濟部工業局
評論

日本是全球高齡化程度最高的國家,而台灣高齡化的腳步愈來愈快,僅剩不到 5 年的時間準備。因應長期照顧與醫療照護需求,各單位紛紛投入 AI 應用服務,解決人口結構改變問題。綜觀以 AIoT(物聯網 + 人工智慧)為核心的智慧醫療趨勢,可輔助醫療流程、節省人力成本,更提升照護服務效率,為高齡化社會帶來了新的解方。

Photo Credit:經濟部工業局
台日照護機器人交流會邀請各界分享照護機器人開發與應用案例與經驗。

人工智慧產業前景看好

人類壽命越來越長,智慧醫療正逐步顛覆傳統醫療模式,從遠距醫療、機器人、物聯網到穿戴式裝置,龐大潛在商機吸引國際科技大廠投入。台灣醫療服務水準居亞洲領先地位,尤其是資通訊科技實力鏈結全世界,創新能力與解決方案屢屢獲得市場矚目。當人工智慧遇上健康醫療,擴展未來醫療的無限可能,對社會大眾都有切身影響,不僅引領新一波商業浪潮,也創造出更多的照護服務模式。

醫療與科技結合,帶來新變革也帶動數位時代轉型新契機,未來將有更多關於智慧醫療的布局,解決人口高齡化的社會問題。從另一個面向來看,人口快速老化促使長期照護需求,服務人力是建置完整體系的關鍵因素,衛福部在政策面不斷調整適當的滾動式管理。目前長照 2.0 擴增老年照護服務,以及任何年齡的失能身心障礙者,從長照人力需求來說,缺工現象嚴重,照護機器人將成為醫療、長照的主力。

台日照護機器人交流會

為提供台灣照護場域導入智慧科技之契機,在經濟部工業局指導下,服務型機器人聯盟與台灣智慧樂齡照護創新科技產業大聯盟於 5 月 6 日攜手舉辦「台日照護機器人交流會」,邀請各領域專家分享實務現況,作為研發製造與場域運用參考。經濟部工業局林青嶔簡任技正表示,隨著科技迅速發展,智慧醫療創新服務產業生態系逐漸茁壯,5G 落地、AI 應用更多元,機器人正在改革醫療世界。

圖2_經濟部工業局林青嶔簡任技正表示,超高齡社會即將來臨,透過服務型機器人創新科
Photo Credit:經濟部工業局
經濟部工業局林青嶔簡任技正表示,超高齡社會即將來臨,透過服務型機器人創新科技能解決照護人力議題。

「台灣和日本一樣,面臨急速老化的超高齡社會,因此對於熟齡及身障者的照護非常重要。呼應長照 2.0 政策,應用科技打造更多元化、人性化的服務,AI 及智慧機器人的運用更是未來顯學。」林青嶔簡任技正分享觀點,這場交流會聚焦台日相關經驗分享與討論,加速業者與國際連結。台灣具有精密機電與 ICT 產業供應體系的優勢,發展機器人科技的腳步正迎頭趕上歐美日等國家,尤其是服務型機器人產業,將是台灣製造業的明日之星!

圖3_因應疫情,透過網路視訊方式進行交流,雙邊合作討論熱烈。
Photo Credit:經濟部工業局
因應疫情,透過網路視訊方式進行交流,雙邊合作討論熱烈。

促成更多元的服務應用

透過「台日照護機器人交流會」,日本 ATA 協會五島清國部長、日方企業 Reif 與 Whill,以及台方微星科技、全智通機器人、福寶科技分享照護機器人的開發與普及應用現況,透過創新科技解決照護難題。照護機器人的開發,必須掌握使用者需求、符合未來照護趨勢,再藉由實體實驗場域的調校,完美融入生活當中。微星科技、全智通機器人、福寶科技旗下的產品已分別應用於物流、醫療、清潔等領域;因應新冠肺炎疫情的「低接觸」服務型態需求,更加快普及速度。

圖4_日本ATA協會五島清國部長強調照護機器人必須貼近使用者,幫助提升生活品質。
Photo Credit:經濟部工業局
日本 ATA 協會五島清國部長強調照護機器人必須貼近使用者,幫助提升生活品質。

服務型機器人的創新應用在不同領域逐漸成形,經濟部工業局透過政策資源、科專計畫等大力推動服務型機器人產業化,協助企業轉型發展機器人新事業動能或新創公司設立,包括微星、東元、佳世達、凌群等企業。另外,2018 年成立的「服務型機器人聯盟」,由資策會服創所與台灣智慧自動化與機器人協會(智動協會)合作發起,結合政府及民間力量整合產業鏈上中下游資源,共組國家隊搶攻國內外市場。

服務型機器人聯盟今年度規劃「2021 ROBO COM 蘿蔔控」創意實證競賽,延續場域實證的精神,擴大研發能量及市場化企圖。聯盟持續引入資源,推動機器人業者和學研團隊合作,展開技術及實務交流,共同激盪具市場潛力的創新方案。


 「2021 ROBO COM 蘿蔔控」服務型機器人創意實證競賽資訊

  • 報名期間:即日起至 5 月 15 日
  • 競賽期間:6 月 15 日 - 9 月 30 日
  • 報名資格:不限年齡、學生團隊、社會人士、非營利組織、地方社團乃至公司行號都可組隊報名
  • 組隊資格:接受個人挑戰或多人組隊,團體至多6人

立即前往活動報名頁面了解更多!

經濟部工業局 廣告