0人贊同了該回答
? 物聯(lián)網(wǎng)平臺(tái)正熱,具體要實(shí)現(xiàn)哪些功能,遵照什么原則進(jìn)行搭建,這些問題,都可以在本文找到答案。
近些年“物聯(lián)網(wǎng)平臺(tái)”這個(gè)詞沒少聽,可它到底有哪些功能呢?
物聯(lián)網(wǎng)平臺(tái)在物聯(lián)網(wǎng)架構(gòu)的應(yīng)用層,是一個(gè)PaaS平臺(tái),具體請(qǐng)參考上一篇:物聯(lián)網(wǎng)產(chǎn)品入門之架構(gòu)篇。
一、物聯(lián)網(wǎng)平臺(tái)功能架構(gòu)
物聯(lián)網(wǎng)平臺(tái)會(huì)根據(jù)自己的商業(yè)目標(biāo)有不同的側(cè)重,但大體都是在以下架構(gòu)上進(jìn)行增減:
這張圖北向接應(yīng)用,南向接設(shè)備,以下著重說一下我對(duì)設(shè)備接入、設(shè)備管理和規(guī)則引擎的理解。
二、設(shè)備接入
設(shè)備接入指的是將設(shè)備注冊(cè)至平臺(tái)并通信,需要設(shè)備與云端之間有安全可靠的雙向連接。主要考慮幾個(gè)方面:
1. 設(shè)備入網(wǎng)方式
入網(wǎng)方式其實(shí)是選擇什么通訊技術(shù),Wi-Fi、Lora、藍(lán)牙還是Zigbee等等?平臺(tái)需要根據(jù)自身定位(白電行業(yè)?智慧工廠?智慧園區(qū)?)選擇支持的入網(wǎng)方式, 容納的入網(wǎng)方式越多,可容納設(shè)備類型就越多,平臺(tái)的實(shí)現(xiàn)也越復(fù)雜。
舉2個(gè)例子:
如果平臺(tái)支持Zigbee(請(qǐng)參考:物聯(lián)網(wǎng)的數(shù)據(jù)傳輸及聯(lián)網(wǎng)方式)設(shè)備,那么平臺(tái)是否也應(yīng)該管理網(wǎng)關(guān)設(shè)備呢,是否應(yīng)該支持網(wǎng)關(guān)與設(shè)備的拓?fù)浣Y(jié)構(gòu)呢?
Wi-Fi設(shè)備初始化的時(shí)候用平臺(tái)的APP通過AP(Access Point)模式就可以讓設(shè)備連網(wǎng)并通信,但Zigbee設(shè)備是自組網(wǎng)的方式,即會(huì)自動(dòng)連接至網(wǎng)關(guān),再通過網(wǎng)關(guān)和平臺(tái)通信。
ZigBee設(shè)備接入云端
這篇文章詳細(xì)的介紹了不同通信方式的優(yōu)點(diǎn)缺點(diǎn),強(qiáng)烈推薦。如何選擇物聯(lián)網(wǎng)通訊技術(shù)?
2. 傳輸協(xié)議(Http、CoAP、MQTT等等)
平臺(tái)層要兼容不同的協(xié)議才能連接盡可能多的設(shè)備,而具體支持哪些協(xié)議需要從通信安全、平臺(tái)定位等方面權(quán)衡考慮。
MQTT是多個(gè)客戶端通過一個(gè)中央代理傳遞消息的多對(duì)多協(xié)議。
CoAP基本上是一個(gè)在Client和Server之間傳遞狀態(tài)信息的單對(duì)單協(xié)議。
HTTP是適合使用在性能好一些的終端上,相對(duì)以上一些比較重,對(duì)設(shè)備要求相對(duì)高一些。
3. 身份認(rèn)證
目前市面上的認(rèn)證方式大都通過將Token或者Secret燒錄到硬件設(shè)備進(jìn)行認(rèn)證,但過程各有特點(diǎn)。
例如阿里云是先將Product Key、ProductSecret燒錄到設(shè)備中,并通過動(dòng)態(tài)注冊(cè)的方式獲得DeviceSecret后進(jìn)行數(shù)據(jù)通信,而有的是通過將Token直接燒錄到設(shè)備中進(jìn)行認(rèn)證和數(shù)據(jù)傳輸。
阿里云設(shè)備認(rèn)證過程
三、設(shè)備管理
物模型
物模型是個(gè)概念,不是實(shí)體,有的平臺(tái)叫產(chǎn)品,是一類設(shè)備的總稱,物模型和物的關(guān)系就像“男人”這個(gè)詞和“身份證號(hào)碼是123233198802340123這個(gè)男人”的關(guān)系一樣,物模型的定義包括基本信息和屬性的定義。
物模型和物的關(guān)系
不同廠商物模型功能不盡相同,開源的Thingsboard都沒有這個(gè)概念。所以物模型是從用戶體驗(yàn)和平臺(tái)自身業(yè)務(wù)角度出發(fā)提出的概念,為數(shù)據(jù)統(tǒng)計(jì)、用戶體驗(yàn)、產(chǎn)品發(fā)展做了充足的準(zhǔn)備。
實(shí)現(xiàn)物模型需要考量很多東西,比如阿里定義物模型基本信息的時(shí)候要選擇行業(yè)、是否是網(wǎng)關(guān)、是否接入網(wǎng)關(guān)、連網(wǎng)方式等,定義功能時(shí)又有了事件、屬性、服務(wù)的分類(事件、屬性、服務(wù)這個(gè)說起來就更技術(shù)了)。
設(shè)備影子
設(shè)備影子用于緩存設(shè)備狀態(tài),設(shè)備在線時(shí)可以直接接收云端指令,離線時(shí)主動(dòng)獲取云端指令。設(shè)備影子將設(shè)備與應(yīng)用解耦,解決不穩(wěn)定無線網(wǎng)絡(luò)下通信不可的靠痛點(diǎn)。
舉個(gè)例子:
把云端比喻成我,設(shè)備比喻成男朋友。我不帥的男朋友在線,于是我發(fā)了一個(gè)“變帥”的指令,男朋友收到后馬上執(zhí)行,然后就變帥了。我不帥的男朋友離線了,聯(lián)系不到,于是我發(fā)了一個(gè)“變帥”的指令存儲(chǔ)到設(shè)備影子中,男朋友上線后主動(dòng)看設(shè)備影子,執(zhí)行“變帥”指令,然后就變帥啦。
跑錯(cuò)地方的物影子介紹
從實(shí)現(xiàn)層面看:
設(shè)備影子是一個(gè) JSON 文檔每臺(tái)設(shè)備僅有一個(gè)影子參考:設(shè)備影子概覽https://help.aliyun.com/document_detail/53930.html
固件升級(jí)(OTA)
OTA全稱是Over-the-Air,即空中加載的意思,在物聯(lián)網(wǎng)平臺(tái)指的是固件升級(jí)。
固件是數(shù)碼設(shè)備最基礎(chǔ)、最底層工作的軟件,是設(shè)備內(nèi)部保存的設(shè)備“驅(qū)動(dòng)程序”,通過固件,操作系統(tǒng)才能按照標(biāo)準(zhǔn)的設(shè)備驅(qū)動(dòng)實(shí)現(xiàn)特定機(jī)器的運(yùn)行動(dòng)作。
固件升級(jí)的前提是固件和平臺(tái)都支持固件升級(jí)功能,平臺(tái)層需要對(duì)設(shè)備的固件進(jìn)行管理,并實(shí)現(xiàn)遠(yuǎn)程批量升級(jí)。
這個(gè)功能的意義是什么?試想一下投入使用后的一批設(shè)備出現(xiàn)了問題,難道要一個(gè)個(gè)處理,顯然遠(yuǎn)程批量操作節(jié)省了大量的人力。
但OTA是一個(gè)超級(jí)大的功能,涉及到設(shè)備分組、固件分布、固件校驗(yàn)等等功能,每一個(gè)功能都值得反復(fù)討論,一些廠商的OTA功能甚至是一個(gè)體系。
數(shù)據(jù)的上下行
數(shù)據(jù)的上下行指的是信息在設(shè)備和平臺(tái)間流轉(zhuǎn),設(shè)備上報(bào)信息到平臺(tái)是數(shù)據(jù)的上行,平臺(tái)或者應(yīng)用層下發(fā)命令到設(shè)備是數(shù)據(jù)的下行,是物聯(lián)網(wǎng)平臺(tái)的基礎(chǔ)功能。
四、規(guī)則引擎
規(guī)則引擎是物聯(lián)網(wǎng)平臺(tái)的一個(gè)重要功能模塊,是處理復(fù)雜邏輯的引擎,主要對(duì)感知層搜集的數(shù)據(jù)進(jìn)行篩選、變型(物解析)、轉(zhuǎn)發(fā)、操作等,實(shí)現(xiàn)數(shù)據(jù)邏輯和上層業(yè)務(wù)的解耦。一般平臺(tái)會(huì)分為物解析、數(shù)據(jù)轉(zhuǎn)發(fā)和場(chǎng)景聯(lián)動(dòng)三個(gè)子功能。
規(guī)則引擎
物解析
硬件設(shè)備受限于存儲(chǔ)、空間大小、數(shù)據(jù)傳輸?shù)葐栴},和平臺(tái)進(jìn)行交互時(shí)使用的是底層語言,為了互相識(shí)別語義,平臺(tái)側(cè)提供底層語言和平臺(tái)語言的翻譯腳本。腳本將底層語言翻譯成平臺(tái)語言和將平臺(tái)語言翻譯成設(shè)備底層語言的過程就是物解析。
數(shù)據(jù)轉(zhuǎn)發(fā)
數(shù)據(jù)轉(zhuǎn)發(fā)實(shí)現(xiàn)了將感知層的數(shù)據(jù)進(jìn)行篩選并轉(zhuǎn)發(fā)至其他設(shè)備或者存儲(chǔ)、大數(shù)據(jù)等云服務(wù)的功能,減少了上層應(yīng)用的數(shù)據(jù)處理量,繼而提升上層數(shù)據(jù)處理效率。目前大部分通過SQL語句和轉(zhuǎn)發(fā)訂閱Topic方式實(shí)現(xiàn)數(shù)據(jù)的篩選和轉(zhuǎn)發(fā)。使用Topic的好處在于可以靈活選擇物模型或者設(shè)備的范圍。
參考:阿里云的數(shù)據(jù)轉(zhuǎn)發(fā)https://help.aliyun.com/document_detail/42734.html?spm=a2c4g.11186623.6.605.3ae32d8dkHIHFi
場(chǎng)景聯(lián)動(dòng)
聯(lián)動(dòng)的意思是多類設(shè)備間的相互影響。例如“在辦公區(qū)域,紅外設(shè)備感應(yīng)到有人移動(dòng)時(shí)開啟所有燈”這個(gè)場(chǎng)景就實(shí)現(xiàn)了紅外傳感器和燈的聯(lián)動(dòng)。規(guī)則引擎負(fù)責(zé)影響規(guī)則的制定和影響范圍的劃分,也是通過SQL語句和轉(zhuǎn)發(fā)訂閱Topic等方式實(shí)現(xiàn)。
五、總結(jié)
以上是我對(duì)物接入、物管理、規(guī)則引擎的理解,不同的平臺(tái)根據(jù)自身業(yè)務(wù)特點(diǎn)在實(shí)現(xiàn)時(shí)都有所添加或取舍,網(wǎng)上最全的參考文檔莫過于各開放平臺(tái)的操作手冊(cè)了,感謝!
放兩張別人家的產(chǎn)品架構(gòu)圖:
百度智能云物聯(lián)網(wǎng)產(chǎn)品架構(gòu)
阿里物聯(lián)網(wǎng)平臺(tái)產(chǎn)品架構(gòu)
本文由 @娜娜 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議
舉報(bào)/反饋
發(fā)布于2023-06-09