耦合層:撮合物聯網的理論與實踐牽手的“月老”

petterchx發表於2021-09-11
摘要:理論與實踐可以當作兩個模組,本章內容就是為大家在這兩個模組中間新增一個耦合層,讓大家更容易將理論知識和實際開發聯絡到一塊。

在編寫一個框架時,腦海中一直在想著“如何寫才能儘可能的去耦合?”去了耦合之後的模組在可移植性、可擴充性等方面都有較大的提升,模組與模組之間的聯絡性就降低了,這在框架中是一件好事,但是在學習理論與實踐未必是一件好事。

大腦是一個很神奇的東西,直接給它一些孤立的點,比如西瓜、報紙、衣服、手機這幾個詞,大腦一下子是無法記住的,但是給它一張網,例如我在邊吃西瓜邊看報紙,突然手機響了,我嚇了一跳,把衣服弄髒了,這樣是不是好記多了,學習一個知識也是這樣,最容易學會的方法就是找到正在學習的知識和你已經具備的知識之間的聯絡,本章的耦合層,就是給大家找一個理論與實踐之間的聯絡。

理論與實踐可以當作兩個模組,本章內容就是為大家在這兩個模組中間新增一個耦合層,讓大家更容易將理論知識和實際開發聯絡到一塊。

物聯網和TCP/IP一樣,都是分層的,常常將物聯網分為感知層、傳輸層、接入層、應用層,還能更細分,可能你已經清清楚楚記得每一層是什麼?作用是什麼?但是在實際開發中,看到華為物聯網中那麼多的服務,已經頭昏眼花了,無法馬上得知某個服務是對應某一層的。別擔心,看完本章你就能深刻理解每種服務及對應的每一層,對物聯網架構分析做到庖丁解牛,對物聯網開發做到遊刃有餘。

一、俯看全域性

在教授他人一個知識的時候,最先教授的應該是全部的一個概括,而不是孤立的一個點,就好比我們看一份程式碼,如果你直接看.c檔案中對函式的實現,那將痛苦不堪,看了前面完了後面,正確的做法是找一個Demo,看看被人如何使用這份程式碼的API,再去看看這份程式碼的.h檔案,研究其API的作用,最後才看這些API分別是如何實現的。

先複習一下物聯網架構,如下圖:

耦合層:撮合物聯網的理論與實踐牽手的“月老”

每一層都是為自己上層提供支援,封裝下層的資料,各大物聯網雲廠商幾乎都遵循該架構圖來設計自己的物聯網體系,每一層對應不同的產品和服務。

現在我以一個智慧插座的例子,給大家講解一下每層的作用,這是一個WIFI版本的智慧插座,自身並不具備接入核心網的能力,需要透過閘道器進行接入,智慧插座主要的功能是根據手機App下發的指令/定時來控制負載的開或關、檢測當前負載的功率透過手機App顯示,所以其屬於“感知層”的裝置。

閘道器可以是家裡面的無線路由器、手機熱點等等,關於閘道器的定義是:連線兩個或兩個以上複雜網路的裝置。智慧插座的WIFI網路可以稱為個人區域網,路由器(閘道器)可以將個人區域網和廣域網(核心網)連線在一起,使不同網路間的裝置和產品能相互通訊,所以閘道器處於“網路層”。

資料到了廣域網之後經過多個運營商的核心交換機等網路裝置的轉發,最終傳送到“平臺層”。平臺層對應的是華為雲“IoTDA裝置接入”服務,將資料處理後轉發給“應用層”,應用層最終透過手機App等軟體將命令下發和資料上報介面以圖形化的方式給使用者展現。

二、萬物互聯(裝置接入服務)

華為雲物聯網中對應平臺層的服務為:IoTDA裝置接入服務和IoTDM裝置管理服務。

耦合層:撮合物聯網的理論與實踐牽手的“月老”

上述服務主要負責將不同裝置(NB-IoT、WIFI模組、2/3/4G模組等)、不同協議(CoAP、LWM2M、MQTT、HTTPS等)的資料封裝為JSON格式的資料透過HTTPS介面給到應用層。

有的裝置原生並不支援JSON資料格式,而是支援二進位制碼流,我們可以透過開發編解碼外掛,在平臺層就將二進位制碼流轉換為JSON格式的資料。應用層看到的所有資料的格式都是一致的,大大提高了開發效率。

裝置接入服務還提供了很多安全機制,例如DTLS加密等,保障了物聯網裝置節點的資料安全。

裝置接入服務中,可以配置規則,資料轉發規則是將符合特定規則的資料進行轉發,起到了資料過濾的作用;裝置聯動規則是M2M的例項化,比如可以配置當溫度大於30度時,啟動空調或電風扇,從而實現裝置之間的互聯和智慧化控制。

我們在研發一個產品時,面臨的痛點是真實裝置傳輸資料有太多的不可控因素和南向開發與北向開發無法並行進行,裝置接入服務中針對這兩個個痛點提供了“虛擬裝置”以及“線上除錯功能”,極大的提升了開發效率,縮短了產品研發週期。

在LiteOS作業系統中深度定製了一系列可在資源受限裝置中使用的通訊協議,例如MQTT、LWM2M等,真正做到讓研發人員可以集中精力關心產品邏輯。

三、是智慧?還是智慧?(資料分析服務、應用開發服務)

資料分析服務基於物聯網資產模型,整合物聯網資料整合,清洗,儲存,分析,視覺化,為開發者提供一站式服務,降低開發門檻,縮短開發週期,快速實現物聯網資料價值變現。

將感知層裝置的資料先透過儲存服務按天或者按大小儲存起來,透過資料分析服務進行分析,經常用於預測,比如淘寶,可以透過分析你搜尋的關鍵詞之類的資訊,從而推算出你需要購買的商品,給你進行推送。所以在今天這個世界,最值錢的東西是“資料”。

IoT Studio應用開發服務基於物聯網平臺開放給北向應用的介面能力,配合華為雲其他產品,提供第三方應用推薦、Web線上開發和微服務開發等功能幫助快速構建物聯網應用。

透過該服務可以快速開發一款App用於為你的各類物聯網節點提供圖形化控制、資料展示等功能。

目前大部分的技術只能做到智慧,跟隨預先設定的規則讓裝置之間產生聯動,相互控制,透過後面的機器學習等等技術慢慢的就能讓裝置被變得“智慧”,會自己去學習使用者的習慣等等,讓使用者處於一個舒適的環境。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4606/viewspace-2796503/,如需轉載,請註明出處,否則將追究法律責任。

相關文章