使用 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 成為物聯網生態中必要的部分。

更多精選文章.....


ESG 可以怎麼做?導入「點點簽」電子簽名服務,展開企業永續經營第一步

體現企業敏捷效率、展現品牌創新精神,讓點點簽為團隊夥伴創造效率、為客戶帶來友善體驗、為企業創造良好印象。企業實踐永續 ESG 的第一步,不妨就從導入點點簽開始。
評論
Photo Credit:DottedSign
評論

近年來,隨著疫情時代的時局變化、雲端科技的日新月異,「數位轉型」成為當代企業必備的思維與能力;此外,因應全球環境問題與聯合國永續發展指標(SDGs)的討論趨勢,ESG(Environment 環境、Society 社會、Governance 公司治理)也成了企業不可迴避的經營課題。

無論從何種角度來執行,例如建立線上敏捷的工作系統、減少地端成本(無紙化)等,都能讓企業在持續強化市場競爭力與環境永續兩者間獲得雙贏。回顧疫情期間遠距辦公的經驗,不少企業積極導入線上協作平台、電子簽名等服務,縮短團隊遠距辦公的距離;不過可惜的是,也有部分企業在疫情暫緩後又回到過往傳統的工作模式,其中又以「恢復紙本簽署」為最常見現象。

其實,企業若能善用電子簽名服務,不只能加速簽署流程和提高營運效率外,更能解決紙本、時間、郵寄等成本,邁向企業永續經營。本文以國內知名電子簽名品牌點點簽(Dottedsign)為例,細數電子簽名能為企業帶來的三項永續好處。

Photo Credit:DottedSign/知名電子簽名品牌「點點簽」是企業邁向無紙化、實踐永續的好幫手

更友善的簽名體驗:比傳統紙本流程快 80% 的時間

不少企業會有「紙本合約」的迷思,認為紙本簽名才正式、安全,且有實體文件可歸檔留存,較為安心;事實上,企業使用電子簽名服務不只能加速簽署流程,甚至相比於傳統合約寄送往返的方式,更加安全有保障,也更易於歸檔管理。去年國內受疫情影響,導入電子簽名服務「點點簽」的企業便大幅提升200%,顯見國內企業對電子簽名的認知度及接受度逐漸提高。

而能讓企業從長期培養的紙本習慣轉換成線上簽署的原因,除了疫情促成外,莫過於電子簽名能提供比傳統紙本更友善、更便捷的簽署體驗。只要有一台電子裝置(電腦、平板、或手機),就能藉由點點簽完成無論是遠端、當面或臨櫃的簽名工作,且從創建文件到指派簽署者只需不到一分鐘,簽署者更可依照簽署欄位直覺的完成簽署,大幅降低簽署錯誤率之餘,也省去傳統紙本列印合約、親簽完成後寄回,或親簽後掃描回傳的繁縟流程,有效節省人力和時間等隱性成本,將時間專注在關鍵的任務上。

此外,雙重身分驗證的保護機制,能在傳遞過程中加密嚴防駭客竄改文件,且簽署完成即壓上數位憑證(Digital certificate),能證明文件乃經由當事人線上簽名且未被他人更動。點點簽具備完整的資安守護措施,不必擔心紙本合約遭中途攔截或人為毀損,或是有偽造簽名之虞,讓簽名這件事比過去更加快速、也更加安全。

Photo Credit:DottedSign/點點簽電子簽名有效節省時間人力與紙張成本,讓團隊能專注在重要任務上

更流暢的營運效率:團隊數據分析、文件標籤歸檔一秒完成

數位轉型、永續發展不只是口號,更是推動企業前進、產業進步的力量;如何藉由合適的線上工具落實數位轉型,同時確保其營運策略能夠結合環境永續,更是企業刻不容緩的議題。而電子簽名的多元性及便利性,正在企業營運層面扮演相當重要的一環,無論何種團隊規模及企業需求,皆可藉由導入電子簽名服務「點點簽」集中控管文件權限與資源共享,為管理階層提升效率,即時掌握重要合約的相關進程。

說到點點簽的強項,就不能不提「支援多人簽署任務」的功能特色。用戶在點點簽發起簽署任務後,可指定簽署人的順序,確保流程正確不漏簽或誤簽;也可即時追蹤簽署進度,系統將會自動提醒簽署人在期限內完成簽名。

為了協助組織管理者能更有策略地管理團隊 ,點點簽也提供視覺化的團隊數據分析,組織管理者可藉由團隊數據介面中的「完成文件總數、文件拒簽率、平均簽署完成時間」等數值掌握每位團隊成員手上負責的文件簽署狀況,進而提升團隊效率;其他包含控管成員權限、共享範本等功能,則能協助管理者邁向更高效的營運模式。

尤其針對企業內業務、法務、財會等時常需要處理繁雜文件,更可善用點點簽中的標籤功能,輕而易舉地為已簽署文件標籤歸檔,利於往後即時調閱資料,不必在紙本堆中翻找。總體來說,點點簽不只能確保簽署流程不出錯,更協助企業在營運上更順暢。

Photo Credit:DottedSign/點點簽,為企業提升簽署效率、創造營運價值和邁向永續經營

更美好的永續經營:節省紙張、時間、人力,專注創新成長

據國外知名期刊 FinancesOnline 指出:

長期來看,企業從紙本轉移到線上簽署的成本可節省高達 78%,其中包含可觀的紙張、時間、營運等成本。

關於這點,點點簽的客戶實務經驗可以證明。事實上,每使用點點簽完成一次線上簽署可替公司省下新台幣 36 元的時間與材料成本,且將簽署流程數位化能大量減少紙張及碳粉的使用;據統計,每省下 10,000 張紙可以拯救一顆樹。顯然,點點簽協助企業實踐低碳目標外,更是為地球環境盡一份心力。

另一方面,企業使用線上簽署服務不只能縮短傳統文件往返的等待時間,也能為企業帶來良好的品牌形象。舉例來說,在前線如業務、商務開發人員、諮詢顧問等單位,即可使用線上簽署與客戶打造遠端簽署的情境,維繫與客戶的關係外也利企業掌握關鍵商機。同時,團隊也因導入線上簽署而省下隱性成本,讓企業騰出人力資源,專注創新成長,培育人才達成永續經營的目的。

綜合以上所述,企業須將數位轉型和永續經營納入長期營運上的考量,而導入線上簽署可視為第一步。點點簽(DottedSign)為凱鈿行動科技旗下的電子簽名服務,提供 SaaS 和 API 等解決方案供企業彈性選擇。歡迎使用點點簽,為您的企業提升簽署效率、創造營運價值和邁向永續經營。落實環境永續 ESG 的第一步,不妨就從導入點點簽開始。