IoT雲服務連線性的方式

abel_cao發表於2018-09-17

版權宣告:本文為半吊子子全棧工匠(wireless_com,同公眾號)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/82755802

物聯網(IoT)的開發者可以選擇很多方法來建立與物聯網雲服務的連線,每一個都有不同的優劣權衡。 怎麼知道哪個選擇是較好的呢?

640?wx_fmt=png

將物聯網連線到雲服務時,最快最簡單的方法就是使用一個全功能的物聯網軟體代理,就像那些物聯網平臺供應商提供的那樣。產品代理被整合到無線物聯網模組硬體中,代表了黑箱方法。 物聯網雲連線的另一種簡單方法是使用由亞馬遜AWS、微軟Azure等IoT平臺提供的SDK,這就是白箱方法。

然而,還有一種灰箱方法,就是使用行動式IoT軟體代理。行動式代理就像一個強大的 SDK,具有模組化的選項,提供各種物聯網的連線能力。

下面介紹一下黑箱、白箱和灰箱的連線性執行情況。

640?wx_fmt=jpeg

產品級代理: IoT雲服務連線性的黑箱方法

產品級的IoT軟體代理對一個具體的無線物聯網模組硬體模型進行了預配置。IoT模組,有時也被稱為無線晶片,提供了基本的通訊電路,使連線的產品能夠使用Wi-Fi、蜂窩或藍芽等無線協議傳送和接收資料。

產品級代理為處理物聯網產品連線到特定IoT雲服務的各種細節提供了廣泛的功能集,例如訊息處理、排程、OTA更新、使用者註冊和故障排除等。但是它們代表了一種黑箱方法,因為所有這些內建的能力基本上是不可見或不可觸及的。

黑箱方法的優點

物聯網產品的開發者不必擔心需要掌握物聯網雲連線所需要的所有工程技能和專業知識, 特別是對於IoT新生產商和製造他們的第一個連線性產品,產品級代理可以顯著加速上市時間。連線性的產品製造商可以降低他們的IoT開發成本,以及相關的風險和難題。

黑箱方法的缺點:

由於產品級代理面向特定物聯網雲的訪問與特定模組的硬體,產品代理軟體和模組硬體是一個整體方案包。想要連線到特定IoT雲服務的開發者不能自主選擇一個IoT模組,因為它還沒有經過測試和認證,不能一起工作。這個過程可能要花費幾個月的時間。使用產品級代理的方法要求製造商購買一個額外的微控制器,將他們的物聯網應用程式載入到它上面,並對微控制器進行程式設計,以便與無線模組對話。 這項要求增加了BOM費用。產品級代理在本質上是一個封閉的系統,經驗豐富的開發者可能會因為物聯網雲服務連線選項缺乏靈活性而感到不爽。

640?wx_fmt=png

SDK: IoT雲服務連線性的白箱方法

SDK只提供通過底層和標準化協議進行通訊的通用庫。IoT產品的製造商通過這些標準化協議建立了他們自己的訊息和資料模型,包括 MQTT,CoAP 和 HTTP等。

SDK代表了一個白箱方法,因為它們可以被開發者調整和定製。事實上,SDK要求物聯網產品製造商承擔了IoT中的大部分任務。

白箱方法的優點:

連線性產品的製造商在決定在物聯網雲連線中包含什麼功能以及如何實現這些功能方面有著較大的靈活性。他們可以選擇使用任何無線物聯網模組,基於價格或最適合其產品特性或設計目標的功能。如果不需要購買額外的微控制器來配合無線模組一起使用的話,製造商可以比使用產品級代理降低 BOM 成本。

白箱方法的缺點:

需要足夠的內部工程團隊和IoT專家來處理髮展、測試、實現和支援 IoT 雲連線的所有複雜細節,同時還要確保雲連線與物聯網解決方案的其他端到端需求進行無縫互動。所有的物聯網雲連線工程和內部測試增加了製造商的風險。DIY可能會延長開發時間,提高物聯網專案的成本,除非內部團隊對IoT專案非常熟悉。

640?wx_fmt=jpeg

行動式代理: IoT雲服務連線的灰箱方法

行動式IoT軟體代理是將裝置連線到物聯網雲的一種新方法。行動式代理可以從任何蜂窩或 Wi-Fi模組連線到特定的IoT雲服務。它除了SDK提供的底層連線外,還管理了物聯網雲連線的連通性、可靠性和安全性。

行動式代理把驅動程式或特定於連線性的協議棧從在無線模組層面解耦出來。在架構上,行動式代理通過兩個抽象層進行互動: 頂部的應用層和下面的物聯網平臺適配層。

應用層包括由IoT雲服務提供商提供的一組介面API,用於將主機應用程式與行動式代理進行整合。適配層與底層物聯網雲平臺互動,封裝了底層介面和平臺依賴程式碼,並將其轉換為由物聯網平臺提供商指定的IoT雲服務API。這些適配層API與行動式代理一起整合了一個基於平臺的實用工具庫。

行動式代理有一個模組化的設計,允許新增物聯網元件,例如,排程器,OTA更新,Wi-Fi 設定等。同樣在模組化的基礎上,行動式代理也可以提供各種聯網裝置的設定和由物聯網雲平臺提供商提供的使用者序號產生器制。

行動式代理是一種灰箱方法,功能介於SDK和產品級代理的能力之間。

灰箱方法的優點

行動式代理將SDK的靈活性與生產級代理的一些已經成熟的品質結合了起來。它們包括針對應用程式和適應層的嚴格測試套件,以幫助確保元件和端到端級別物聯網功能的穩定。

行動式代理可以通過允許製造商跳過漫長昂貴的測試和認證流程,將物聯網雲平臺與特定的無線模組配對,從而大大縮短了產品進入市場所需的時間。

由於它們不再侷限於一個經認證的蜂窩或 Wi-Fi 模組列表,所以製造商可以使用行動式代理方法,即使IoT模組沒有經過所選物聯網雲服務的認證,仍然可以與任何無線模組供應商談判來節省成本。與產品級代理相比,行動式代理商不需要購買單獨的微控制器來降低BOM的成本。

與此同時,行動式代理商比SDK方式提供了更多的物聯網連線。無線模組製造商可以使用行動式代理設計和提供一個更多樣化的模組,為更廣泛的客戶更方便地創造物聯網產品,也可以將特定物聯網雲服務的支援作為其無線模組產品營銷的一個差異化特性。

灰盒方法的缺點:

使用行動式代理的製造商需要做更多的開發工作,而不像產品級代理那樣來建立物聯網。因此,行動式代理需要相對高水平的內部專門知識來開發和定製產品的各個方面。行動式代理只在特定的IoT雲平臺上工作,所以在物聯網設計選擇方面,它們比sdk提供的靈活性要小。

640?wx_fmt=png

什麼是理想的選擇?

黑箱,白箱,灰箱,哪種才是IoT雲服務連線的理想方法呢? 這取決於設計目標,對物聯網產品的經驗水平,需要多快地進入市場,預算,BOM目標,以及計劃為物聯網產品製造多少量。

如果缺乏強大的內部物聯網產品專業團隊,產品級代理可以快速且風險較小地進入市場。 如果有一個龐大且穩定的物聯網資深團隊,SDK提供了最終的靈活性,可以幫助節省BOM的成本。

如果對物聯網產品開發能力已經達到了一定的信心,或者如果想用不同的無線模組對現有產品進行改造,行動式代理是一個吸引人的選擇。使用行動式代理,可以獲得SDK方式的大部分靈活性以及一些產品級代理的質量保證,還可以跳過等待最佳無線模組商用的時間、費用和麻煩,這樣設計才能獲得物聯網雲平臺的認證。

 


相關文章