物聯(lián)網(wǎng)平臺要實(shí)現(xiàn)哪些功能?

22 評論 28651 瀏覽 294 收藏 11 分鐘

物聯(lián)網(wǎng)平臺正熱,具體要實(shí)現(xiàn)哪些功能,遵照什么原則進(jìn)行搭建,這些問題,都可以在本文找到答案。

近些年“物聯(lián)網(wǎng)平臺”這個(gè)詞沒少聽,可它到底有哪些功能呢?

物聯(lián)網(wǎng)平臺在物聯(lián)網(wǎng)架構(gòu)的應(yīng)用層,是一個(gè)PaaS平臺,具體請參考上一篇:物聯(lián)網(wǎng)產(chǎn)品入門之架構(gòu)篇。

一、物聯(lián)網(wǎng)平臺功能架構(gòu)

物聯(lián)網(wǎng)平臺會根據(jù)自己的商業(yè)目標(biāo)有不同的側(cè)重,但大體都是在以下架構(gòu)上進(jìn)行增減:

這張圖北向接應(yīng)用,南向接設(shè)備,以下著重說一下我對設(shè)備接入、設(shè)備管理和規(guī)則引擎的理解。

二、設(shè)備接入

設(shè)備接入指的是將設(shè)備注冊至平臺并通信,需要設(shè)備與云端之間有安全可靠的雙向連接。主要考慮幾個(gè)方面:

1. 設(shè)備入網(wǎng)方式

入網(wǎng)方式其實(shí)是選擇什么通訊技術(shù),Wi-Fi、Lora、藍(lán)牙還是Zigbee等等?平臺需要根據(jù)自身定位(白電行業(yè)?智慧工廠?智慧園區(qū)?)選擇支持的入網(wǎng)方式,?容納的入網(wǎng)方式越多,可容納設(shè)備類型就越多,平臺的實(shí)現(xiàn)也越復(fù)雜。

舉2個(gè)例子:

如果平臺支持Zigbee(請參考:物聯(lián)網(wǎng)的數(shù)據(jù)傳輸及聯(lián)網(wǎng)方式)設(shè)備,那么平臺是否也應(yīng)該管理網(wǎng)關(guān)設(shè)備呢,是否應(yīng)該支持網(wǎng)關(guān)與設(shè)備的拓?fù)浣Y(jié)構(gòu)呢?

Wi-Fi設(shè)備初始化的時(shí)候用平臺的APP通過AP(Access Point)模式就可以讓設(shè)備連網(wǎng)并通信,但Zigbee設(shè)備是自組網(wǎng)的方式,即會自動連接至網(wǎng)關(guān),再通過網(wǎng)關(guān)和平臺通信。

物聯(lián)網(wǎng)平臺功能介紹之一:物接入和物管理

ZigBee設(shè)備接入云端

這篇文章詳細(xì)的介紹了不同通信方式的優(yōu)點(diǎn)缺點(diǎn),強(qiáng)烈推薦。如何選擇物聯(lián)網(wǎng)通訊技術(shù)?

2. 傳輸協(xié)議(Http、CoAP、MQTT等等)

平臺層要兼容不同的協(xié)議才能連接盡可能多的設(shè)備,而具體支持哪些協(xié)議需要從通信安全、平臺定位等方面權(quán)衡考慮。

MQTT是多個(gè)客戶端通過一個(gè)中央代理傳遞消息的多對多協(xié)議。

CoAP基本上是一個(gè)在Client和Server之間傳遞狀態(tài)信息的單對單協(xié)議。

HTTP是適合使用在性能好一些的終端上,相對以上一些比較重,對設(shè)備要求相對高一些。

3. 身份認(rèn)證

目前市面上的認(rèn)證方式大都通過將Token或者Secret燒錄到硬件設(shè)備進(jìn)行認(rèn)證,但過程各有特點(diǎn)。

例如阿里云是先將Product Key、ProductSecret燒錄到設(shè)備中,并通過動態(tài)注冊的方式獲得DeviceSecret后進(jìn)行數(shù)據(jù)通信,而有的是通過將Token直接燒錄到設(shè)備中進(jìn)行認(rèn)證和數(shù)據(jù)傳輸。

物聯(lián)網(wǎng)平臺功能介紹之一:物接入和物管理

阿里云設(shè)備認(rèn)證過程

三、設(shè)備管理

物模型

物模型是個(gè)概念,不是實(shí)體,有的平臺叫產(chǎn)品,是一類設(shè)備的總稱,物模型和物的關(guān)系就像“男人”這個(gè)詞和“身份證號碼是123233198802340123這個(gè)男人”的關(guān)系一樣,物模型的定義包括基本信息和屬性的定義。

物聯(lián)網(wǎng)平臺功能介紹之一:物接入和物管理

物模型和物的關(guān)系

不同廠商物模型功能不盡相同,開源的Thingsboard都沒有這個(gè)概念。所以物模型是從用戶體驗(yàn)和平臺自身業(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í)主動獲取云端指令。設(shè)備影子將設(shè)備與應(yīng)用解耦,解決不穩(wěn)定無線網(wǎng)絡(luò)下通信不可的靠痛點(diǎn)。

舉個(gè)例子:

把云端比喻成我,設(shè)備比喻成男朋友。

  • 我不帥的男朋友在線,于是我發(fā)了一個(gè)“變帥”的指令,男朋友收到后馬上執(zhí)行,然后就變帥了。
  • 我不帥的男朋友離線了,聯(lián)系不到,于是我發(fā)了一個(gè)“變帥”的指令存儲到設(shè)備影子中,男朋友上線后主動看設(shè)備影子,執(zhí)行“變帥”指令,然后就變帥啦。

物聯(lián)網(wǎng)平臺功能介紹之一:物接入和物管理

跑錯(cuò)地方的物影子介紹

從實(shí)現(xiàn)層面看:

  • 設(shè)備影子是一個(gè) JSON 文檔
  • 每臺設(shè)備僅有一個(gè)影子

參考:設(shè)備影子概覽https://help.aliyun.com/document_detail/53930.html

固件升級(OTA)

OTA全稱是Over-the-Air,即空中加載的意思,在物聯(lián)網(wǎng)平臺指的是固件升級。

固件是數(shù)碼設(shè)備最基礎(chǔ)、最底層工作的軟件,是設(shè)備內(nèi)部保存的設(shè)備“驅(qū)動程序”,通過固件,操作系統(tǒng)才能按照標(biāo)準(zhǔn)的設(shè)備驅(qū)動實(shí)現(xiàn)特定機(jī)器的運(yùn)行動作。

固件升級的前提是固件和平臺都支持固件升級功能,平臺層需要對設(shè)備的固件進(jìn)行管理,并實(shí)現(xiàn)遠(yuǎn)程批量升級。

這個(gè)功能的意義是什么?試想一下投入使用后的一批設(shè)備出現(xiàn)了問題,難道要一個(gè)個(gè)處理,顯然遠(yuǎn)程批量操作節(jié)省了大量的人力。

但OTA是一個(gè)超級大的功能,涉及到設(shè)備分組、固件分布、固件校驗(yàn)等等功能,每一個(gè)功能都值得反復(fù)討論,一些廠商的OTA功能甚至是一個(gè)體系。

數(shù)據(jù)的上下行

數(shù)據(jù)的上下行指的是信息在設(shè)備和平臺間流轉(zhuǎn),設(shè)備上報(bào)信息到平臺是數(shù)據(jù)的上行,平臺或者應(yīng)用層下發(fā)命令到設(shè)備是數(shù)據(jù)的下行,是物聯(lián)網(wǎng)平臺的基礎(chǔ)功能。

四、規(guī)則引擎

規(guī)則引擎是物聯(lián)網(wǎng)平臺的一個(gè)重要功能模塊,是處理復(fù)雜邏輯的引擎,主要對感知層搜集的數(shù)據(jù)進(jìn)行篩選、變型(物解析)、轉(zhuǎn)發(fā)、操作等,實(shí)現(xiàn)數(shù)據(jù)邏輯和上層業(yè)務(wù)的解耦。一般平臺會分為物解析、數(shù)據(jù)轉(zhuǎn)發(fā)和場景聯(lián)動三個(gè)子功能。

規(guī)則引擎

物解析

硬件設(shè)備受限于存儲、空間大小、數(shù)據(jù)傳輸?shù)葐栴},和平臺進(jìn)行交互時(shí)使用的是底層語言,為了互相識別語義,平臺側(cè)提供底層語言和平臺語言的翻譯腳本。腳本將底層語言翻譯成平臺語言和將平臺語言翻譯成設(shè)備底層語言的過程就是物解析。

數(shù)據(jù)轉(zhuǎn)發(fā)

數(shù)據(jù)轉(zhuǎn)發(fā)實(shí)現(xiàn)了將感知層的數(shù)據(jù)進(jìn)行篩選并轉(zhuǎn)發(fā)至其他設(shè)備或者存儲、大數(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

場景聯(lián)動

聯(lián)動的意思是多類設(shè)備間的相互影響。例如“在辦公區(qū)域,紅外設(shè)備感應(yīng)到有人移動時(shí)開啟所有燈”這個(gè)場景就實(shí)現(xiàn)了紅外傳感器和燈的聯(lián)動。規(guī)則引擎負(fù)責(zé)影響規(guī)則的制定和影響范圍的劃分,也是通過SQL語句和轉(zhuǎn)發(fā)訂閱Topic等方式實(shí)現(xiàn)。

五、總結(jié)

以上是我對物接入、物管理、規(guī)則引擎的理解,不同的平臺根據(jù)自身業(yè)務(wù)特點(diǎn)在實(shí)現(xiàn)時(shí)都有所添加或取舍,網(wǎng)上最全的參考文檔莫過于各開放平臺的操作手冊了,感謝!

放兩張別人家的產(chǎn)品架構(gòu)圖:

物聯(lián)網(wǎng)平臺功能介紹之一:物接入和物管理

百度智能云物聯(lián)網(wǎng)產(chǎn)品架構(gòu)

物聯(lián)網(wǎng)平臺功能介紹之一:物接入和物管理

阿里物聯(lián)網(wǎng)平臺產(chǎn)品架構(gòu)

 

本文由 @娜娜 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 來自廣東 回復(fù)
  2. 剛?cè)胄挟a(chǎn)品技術(shù)崗,我們領(lǐng)導(dǎo)剛好讓我做華為物聯(lián)網(wǎng)平臺的需求分析,看了你的文章,大有裨益,感謝樓主

    來自北京 回復(fù)
  3. 我咋感覺這都是技術(shù)的范圍了…產(chǎn)品需要懂到這個(gè)程度?

    來自福建 回復(fù)
    1. 這個(gè)是最淺顯的理解了,否則沒辦法往下做。

      來自北京 回復(fù)
    2. 你是做硬件,還是軟件應(yīng)用

      來自福建 回復(fù)
    3. 這里面感覺設(shè)計(jì)了很多技術(shù)方案了,總感覺做產(chǎn)品的側(cè)重點(diǎn)不應(yīng)該放在這

      來自福建 回復(fù)
    4. 嗯,怎么說呢,如果公司夠大,資源夠多,那同樣做物聯(lián)網(wǎng)平臺的產(chǎn)品的經(jīng)理可以是偏商業(yè)的,可以是偏運(yùn)營的,可以是偏設(shè)計(jì)的,而我們偏產(chǎn)品研發(fā),和程序員哥哥和測試姐姐的溝通非常頻繁,看對自己怎么定位了。
      很多toB的書籍都談到了技術(shù)問題,有興趣可以了解以下呀~

      來自北京 回復(fù)
  4. 外行看了就懂,非常棒!

    回復(fù)
  5. 設(shè)備影子:當(dāng)設(shè)備離線時(shí),云端給設(shè)備影子發(fā)出的指令是“0”,若長時(shí)間過去設(shè)備需求的指令其實(shí)是“1”,那么這時(shí)候會根據(jù)設(shè)備影子接受到的“0”去改變嗎?

    來自上海 回復(fù)
    1. 分情況討論,如果設(shè)備側(cè)沒有自動執(zhí)行分析的能力,是的,如果在這段時(shí)間內(nèi)沒有更改指令,仍舊會接收到0。如果設(shè)備側(cè)有分析能力,那么上線后會判斷影子的指令和最新需求的時(shí)間順序,然后選擇最新的執(zhí)行。不同的實(shí)現(xiàn)方式成本都是不一樣的,關(guān)鍵是這樣的需求是否值得,我們認(rèn)為這種實(shí)際需求與自動實(shí)現(xiàn)總是存在不一致的情況的,情況無法窮盡~

      來自北京 回復(fù)
  6. 我是一看就懂,一干就廢!尷尬

    來自北京 回復(fù)
  7. 干貨 淺顯易懂 比阿里長長的文檔好理解多了~感謝!

    來自上海 回復(fù)
  8. 現(xiàn)在正陷入一個(gè)瓶頸期,給了我啟發(fā),點(diǎn)贊

    來自北京 回復(fù)
  9. 幫 對我有幫助

    來自湖北 回復(fù)
  10. 最近在做物聯(lián)網(wǎng)產(chǎn)品設(shè)計(jì),看了文章大有裨益

    來自廣東 回復(fù)
  11. 干貨很多,之前我們一直都是做基于tr069協(xié)議接入管理的終端;現(xiàn)在也正在MQTT、COAP協(xié)議接入適配。很有幫助!

    來自上海 回復(fù)
  12. 指標(biāo)

    回復(fù)
  13. 研究了多久呢?總結(jié)的比較全

    來自北京 回復(fù)
    1. 斷斷續(xù)續(xù)的幾個(gè)月吧,其實(shí)還有很多東西沒寫,比如服務(wù)開放、邊緣計(jì)算什么的 ??

      來自北京 回復(fù)
    2. 有相應(yīng)的原型可以參考嘛?

      來自重慶 回復(fù)
  14. 贊一個(gè)

    來自湖北 回復(fù)
    1. 多謝

      回復(fù)