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

更多精選文章.....


拿到 iPhone13 就開摔!DEVILCASE 惡魔防摔手機殼 6 種摔機實測

DEVILCASE 惡魔防摔殼 PRO 不只擁有特殊止滑、按鍵靈敏、永久抗菌、超多圖案等 4 大特色,還有最重要的獨創專利「 Matrix 減震結構」,提供足夠的保護性與支撐性,在手機摔落時可以穩穩包覆,以超越軍規標準的嚴謹態度,用心保護好你最心愛的手機。
評論
Photo Credit:TNL Brand Studio
評論

iPhone 13 於今年 9 月正式發佈,相信有許多朋友已經拿到熱騰騰的新機,或是準備用 5 倍券來補貼入手。這次的全新系列 iPhone 13 除了換上最新的 A15 處理器,軟硬體功能全面升級,超強的電影級攝影鏡頭引發熱議外,還有價格再創新記錄,直逼 MacBook Pro 的最頂規 iPhone 13 Pro Max 1TB 版本更是令人驚嘆不已。

但擁有新機的快樂是一時,擔心卻是長久的,畢竟每天握著要價不菲的手機,心理壓力自然也不小,如果一不小心摔到,那維修費用可不是開玩笑的,就讓「DEVILCASE 惡魔防摔殼 PRO」,幫你的新手機真正達到——就。很。Pro。的境界!

不只手機升級,保護殼也要跟著升級

Photo Credit:TNL Brand Studio
正面包裝除了清楚標示著抗震設計、特殊止滑、按鍵靈敏、永久抗菌,  DEVILCASE 惡魔防摔殼 PRO 重視的 4 大特色,還有最重要的軍規標準測試標章,認證強度也是超越以往產品。/Photo Credit:TNL Brand Studio
沒有光滑的膠膜、鮮豔的印刷,更不用塑料包殼,全包裝皆由紙材製成,目的是為了減少製程上的碳足跡;更使用 FSC 森林管委會認證紙材,環保大豆油墨印刷,把對環境的影響降到最低。/Photo Credit:TNL Brand Studio
Photo Credit:TNL Brand Studio

DEVILCASE 惡魔防摔殼 PRO 本尊現身!各位眼前這款是編輯私心最喜歡的可可色,搭配同色按鍵與鏡頭環的款式,裝在銀色、金色、石墨黑的 iPhone13 都非常對味。但如果你擁有的是最熱門的「天峰藍」呢?

Photo Credit:TNL Brand Studio

不用擔心!惡魔防摔殼 PRO 有超多顏色可以選擇,像是太平洋藍、丁香紫、叢林綠都十分適合適合這次新款的 iPhone13 天峰藍。

重視設計細節,才能成就超 Pro 質感

接著換個丁香紫來搭配今天白皙動人的主角。編輯在實際體驗下發現惡魔防摔殼  PRO 相當容易安裝,沒有複雜的兩件式結構,也沒有過硬的邊框,獨創專利的「 Matrix 減震結構」,讓殼邊框呈現剛剛好的韌度,提供足夠的保護性與支撐性,在手機摔落時可以穩穩包覆。

當需要清潔,或是換殼換心情的時候,拆卸手機時不會像許多市售防摔殼一樣,得費盡九牛二虎之力才能拆開,不用擔心手機跟著損壞,追求保護力與實用性間的最佳平衡。

 側邊的「鋁合金按鍵」不只外觀有著光亮的金屬質感,軟 Q 的按壓緩衝回饋感更是理想,直接傳遞原有 iPhone 按鍵的靈敏程度。/Photo Credit:TNL Brand Studio
惡魔防摔殼 PRO 的邊框與背板皆採用特殊的「 Texturing 表面處理」, TPU 材質溫潤紮實手感,有著細膩的磨砂質地,除觸感輕盈外,還增加了防滑效果,也大大提升安全性。/Photo Credit:TNL Brand Studio
Photo Credit:TNL Brand Studio

DEVILCASE 為惡魔防摔殼 PRO 選用通過 SGS 檢驗 99.99% 「永久抗菌認證」,可有效抑制細菌孳生之技術;以及不含 BPA(雙酚 A)等 33 項塑化劑的「安全無毒材質」,讓你每天拿在手上,貼在臉上都能夠安心自在。

Photo Credit:TNL Brand Studio

另外不得不提一個相當重要的設計細節——「鏡頭防護鋁環」!高厚度的設計是團隊十分重視的元素,藉由突起的鋁環可以避免背面放置時,嬌貴的相機鏡頭與桌面直接碰撞,當手機掉落地面時發揮保護鏡頭的功用,防護更徹底。

Photo Credit:TNL Brand Studio

除了以高亮度呈現的平面款鋁合金鏡頭環外,這次設計師更加入了不同的顏色、紋路、風格與造型,有各色階梯款、彩鈦配色、宛若單眼相機鏡頭的單眼款、帶有螺帽的工業風格,甚至還有印著天干地支的東方風格羅盤款。

Photo Credit:TNL Brand Studio

8 種素色款式還不夠?搭配多變鏡頭防護鋁環依舊滿足不了你?沒關係!進到全客製化的「試衣間」裡可以從材質開始選起,有抗菌 TPU、光滑鋼化玻璃、溫潤胡桃木 3 種材質,再搭配 8 種外框顏色、多色多款鏡頭防護鋁環,以及超過 2,000 種各式背板彩繪圖案可供選擇,甚至連按鍵組都有 10 種顏色能變換。

數千種搭配組合豐富到令人陷入選擇障礙,徹底展現個人風格就靠這次,誰說滿街 iPhone 都一樣,從此絕對不撞機!

安心認證防護,自在享受心愛 Phone

Photo Credit:TNL Brand Studio

介紹這麼多惡魔防摔殼 PRO 成就 Pro 級質感的設計細節,最後的壓軸還是要回歸到產品的本質上,那就是強大的「防摔保護」。

正如前面所提到, DEVILCASE 獨創專利的「 Matrix 減震結構」是關鍵中的關鍵,緊緻排列的方格結構,搭配抗震力優良的 TPU 原料,可大幅度吸收摔落的衝擊力,以達防護的最佳效果。經過多次戶外摔落實測的反覆驗證,其高度與次數都超越以往軍規標準的 2-3 倍,以下就來實驗給大家看。

Photo Credit:TNL Brand Studio

從影片中能看麻豆從樓梯中段將手機拋出,清脆又扎實的響聲,一般情況下心都要涼了,但 iPhone 13 在惡魔防摔殼 PRO 的保護下,依舊能正常操作,滑順如常不卡頓,仔細端詳甚至連保護貼邊角磕碰缺痕都沒有。

Photo Credit:TNL Brand Studio

這次再把高度繼續往上拉,約莫從 2 樓位置摔落,超大的碰撞聲音,不管麻豆還是編輯,心臟都要停了半秒。不過別擔心,因為惡魔防摔殼 PRO 一點都沒有讓我們失望,撿起手機後可以發現手機仍舊順暢正常,彷彿什麼事都沒發生過。

經過編輯將手機帶回去實際使用兩週,所有功能操作也沒有出現任何後遺症,代表心愛又昂貴的 iPhone 13 既沒外傷也無內傷,真的不負「超越軍規標準測試」之名。但正常的生活情境不如測試般極端,應該不會有人如此刻意從高處摔手機,因此底下的日常防護才是各位真正會遇到的:

工作時手忙腳亂,桌面掃落拍落超常見。/Photo Credit:TNL Brand Studio
走路低頭滑臉書,意外撞落全得怪自己。/Photo Credit:TNL Brand Studio
褲子口袋不夠深,騎車意外噴飛要小心。/Photo Credit:TNL Brand Studio
上下樓梯要注意,手機可能沒有跟上去(或者比你先下去)。/Photo Credit:TNL Brand StudioDEVILCASE

用嚴謹態度打造超越軍規標準的防摔殼,只為了你的失手提供全方位的保障,DEVILCASE 希望能用心保護好你最心愛的手機。