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

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

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

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

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

物聯網和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用於為你的各類物聯網節點提供圖形化控制、數據展示等功能。

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

 

點擊關注,第一時間了解華為雲新鮮技術~