打造物聯網:從IoT閘道器開始

建立物聯網的目的自然是要找出優化現況的解決方案,然而深度的資料分析卻是最難的,畢竟成千上萬個 sensor 中具分析價值的資料可達上百萬筆,還要面臨傳輸超載等問題。
評論
評論

想要為你的公司或組織建立物聯網嗎?你可能會面臨到許多挑戰,像是首先要先弄清楚自身公司或組織的硬體設備有哪些,並設法將其調整為可以連接新 sensor 和其他終端裝置等的配置,為了克服這些挑戰的開發團隊不只要熟悉硬體,還需要對物聯網相關的軟體瞭若指掌才行。接下來,這一篇文章會告訴你如何把 Windows® 10 作業系統的各類硬體,藉由 Intel® Galileo 或 Intel® Edison 電路板和 Intel 物聯網閘道器科技 (Intel IoT Gateway Technology) 打造成你的物聯網生態。

第一步:檢視既有資源

不同的組織會依照不同的情況與需求,安裝數量與規模不等、包含動作感測器、出入口監視器,、自動關燈裝置、溫度感應器等 sensor 。若這些組織試圖發展物聯網,第一步即是檢視目前可用的 sensor 和 monitor ,完成一份比如 Arduino* 的清單,內容包括相容性裝置有哪些?電力需求多少?以及資料蒐集的機制等等。

sensor 資料的傳遞與蒐集

想要將各個 sensor 中的資料蒐集、分析、轉為物聯網之應用與分析,需要一套既有效率又可靠的資料傳輸方案。 Intel® Galileo 和 Intel® Edison 電路板 (見圖 1) 便提供這樣的方案,協助你蒐集整理各式各樣無線或有線的裝置的資料, Intel 並提供如何組裝物聯網 sensor board 的線上教學資源,像是 Windows IoT with Intel® Galileo 新手指南中就展示了用 Intel® Galileo Gen 2 電路板去運作 Windows® 10 IoT 核心作業系統的一個例子,因為這個試作使用了最常見的 Windows 開發平台 (Microsoft Visual Studio* 2013) 就完成了簡單的 C++ 操作應用,所以我們認為熟悉 Windows 程式的開發者,以這一套方案打造他們想要的應用功能應該可以駕輕就熟。

Gali-Edison
Intel® Galileo 與 Intel® Edison 電路板

如果想要瞭解物聯網資料傳輸,需要先瞭解 MQTT 協定。 MQTT 是一個為了物聯網而設計的協定,常見的 M2M (machine to machine) 資料傳輸方法之一, MQTT 的全名為 Message Queuing Telemetry Transport 。這一套對網路頻寬需求相對較低、可以稱為「輕量級」的協定是透過一個可靠的「發佈/訂閱 (Publish / Subscribe)」模式來做訊息傳遞,也就是當訊息來源更新之時,有表示想要接受訊息並訂閱的使用者就能馬上能收到此訊息,而當需要還原資料時可以使用這個協定中 3 種資料傳遞服務的其中一種─確定一次 (deliver once ,每條訊息肯定會被傳輸一次且僅傳輸一次)、至多一次 (deliver at most once ,訊息可能會丟,但絕不會重復傳輸)、至少一次 (deliver at least once ,訊息絕不會丟,但可能會重復傳輸)。關於 MQTT 的事例有很多,像是 Windows Dev Center 提供用 Visual Studio 來履行 M2Mqtt for .NET client 的例子,讀者可以自行參考。
有興趣打造自己的 M2M 資料傳輸系統的讀者,可以安裝 MQTT 中介或 IoT 閘道器,你還可以擁有不只一個 Galileo 或 Edison 電路板幫你蒐集並更新訊息,這些電路板擁有暫時蒐集、儲存並處理原始 sensor 資料的初步處理能力,將資料處理成 compact 格式 (例如壓縮時間序列或傅立葉轉換)。

IoT 閘道器功能

在物聯網的實務上,另一個資料傳輸的要角就是閘道器。閘道器扮演著類似路由器的中介角色,當硬體裝置的數據資料透過 Intel® Galileo 與 Intel® Edison 電路板傳輸到閘道器時,閘道器會傳送通知給遠端使用者。也就是說,只要你將支援 Intel® Galileo 與 Intel® Edison 電路板的 IoT 閘道器拿來作為 MQTT 的中介,你就可以使用 IoT 閘道器的 MQTT 協定中「發佈/訂閱」功能。

image00-1
以 IoT 閘道器建立的物聯網示意

「發佈/訂閱」模式到底是怎麼運作的呢?拿 Intel 的產品與服務舉例而言,當某硬體端的 MQTT Client 透過與之連接著的 Intel® Galileo 與 Intel® Edison 電路板發送訊息時,此訊息會傳遞到 Intel IoT 閘道器 (Intel® IoT Gateway Technology with Windows® 10 IoT*),而就算是身在其他網絡之中,想要收到此訊息的使用者只要使用與此模式相容的 MQTT Client (像是 Mosquito ) 並註冊,其註冊的消息來源有更新之時,便可以收到該訊息。

值得注意的是, IoT 閘道器的「發佈/訂閱」模式不僅是一對多訊息分配模式,它還可以連接巨量的 sensor 並傳遞訊息給廣大區域的註冊者,稱之為輕量有效率的大規模資料聚集亦不為過。試想,某區域負責監控道路析離 (混凝土的不均勻現象) 的整合式交通感應器每一天要接收上千台車輛震動感應器傳來的訊息,接著再傳遞給幾百個 Intel® Galileo 與 Intel® Edison 電路板,海量訊息在此被處理成 compact 格式並傳遞給 MQTT 中介,再傳遞給下游用戶進行分析與報告。簡而言之,此種傳輸方式可以減少巨量資料傳輸的瓶頸,有效運用原始資料使之成為解決方案。

資料分析 vs 雲端

建立物聯網的目的自然是要找出優化現況的解決方案,然而深度的資料分析卻是最難的,畢竟成千上萬個 sensor 中具分析價值的資料可達上百萬筆,還要面臨傳輸超載等問題。因此擁有能夠進行初步資料處理的 Intel® Galileo 與 Intel® Edison 電路板與可靠的 MQTT 中介才更重要,尤其 MQTT 中介提供的不只是一個資料的傳輸系統,它還能讓資訊流依照特定規範並被導入適當的資料庫 (像是 Apache Hadoop*),並允許「離線」進行資料異常或其他的 Pattern 分析。
順帶一提, Intel 雲端科技分析網站 (The Intel® Cloud Technology Analytic site) 為物聯網實務者提供一個開放式平台,介紹以雲端為基礎的資料蒐集與分析點子,原來訴諸網路服務的需求可以在這裡找到以雲端為基礎的工具和 framework 幫助你實踐你的解決方案。

結語

綜合以上,若想要將現有以 Windows 系統為主的硬體擴大到物聯網的應用與分析,你需要硬體 (例如 Intel® Galileo 與 Intel® Edison 電路板,以及客製化 IoT 閘道器等)、軟體 (例如 Mosquitto,Windows Configuration Software for Intel® IoT Gateway 等) 與特定工具 (Visual Studio , Windows PowerShell, Microsoft Office , IBM * SPSS 等)。雖然要連結 sensor 和 monitor 等既有設備裝置,挑戰仍然很大,但是 Intel® Galileo 與 Intel® Edison 電路板的訊息處理與分配功能,以及 MQTT 中介閘道器所能帶給你的可能性也是無限寬廣的。這是一套不論製造業、政府單位、商業或其他不同類型的組織都可以直接受惠的方案,所以發揮想像力並開始動手做吧!

延伸閱讀:

• 造訪 Intel® Edison 電路板網站了解更多
• 造訪 Intel® Galileo 電路板網站了解更多
• 造訪 Intel® IoT Gateway 網站了解更多
• 造訪 Explore 網頁了解 IoT 閘道器
• 造訪 Wind River Linux 網站解更多

歡迎您註冊 Intel® Developer Zone 會員,登入並留下您的意見。

更多精選文章.....


精選熱門好工作

樂趣買Web Designer(Rakuma)

台灣樂天市場
臺北市.台灣

獎勵 NT$20,000

賣家關係維護專員

樂購蝦皮股份有限公司
臺北市.台灣

獎勵 NT$20,000

產品專員/經理 (PM)

強勝有限公司
臺北市.台灣

獎勵 NT$20,000

評論