現在網上討論的有關物聯網的帖子非常之多,但大部分都是介紹理論或者有關硬件,通訊相關的問題,比如物聯網模塊,物聯網通訊協議MQTT、XMPP、NB_IOT等,個人認為這些只是物聯網中一部分,而涉及到物聯網的設備如何管理,用戶如何管理,數據包如何解析,大數據如何展示等也是物聯網模塊中非常重要的部分,所以作者就根據自身工作中總結出來的建構在云端的物聯網平臺開發基本架構分享給大家,并基于此架構如何一步一步來開發一套物聯網云平臺。
物聯網平臺開發,應該是基于現在的互聯網,通訊技術來建構,而不依賴與特定的硬件模塊,用戶可以基于自身的設備技術架構,簡單輕松接入物聯網。下圖是物聯網的核心架構:
1. 四大核心模塊
在物聯網中存在4大核心模塊,那就是設備管理,用戶管理,數據傳輸管理,數據管理,只有具備了這四大核心模塊,才能認為是一個完整的物聯網平臺,而所有其他的功能模塊都是基于此四大功能模塊的延展。
1.1 設備管理
設備類型管理:定義設備的類型,此功能一般由設備的制造商來定義,一種設備類型最重要的是關聯到一套獨有的數據解析方法,數據的存儲方法,已經設備規格等數據,也只有設備的制造商才可以編輯有關設備類型的數據,而設備的使用者只能瀏覽設備類型的相關信息
設備管理:設備管理定義設備相關信息,每個設備必須定義其設備類型,設備類型有使用者屬性,設備在完成銷售,并被使用者激活后設備就屬于設備使用者了,這時候設備使用者對設備有完全的控制權,可以控制設備的哪些數據可以被制造商查看,可以被哪些用戶查看等權限
1.2 用戶管理
組織管理:在物聯網平臺開發中一個很重要的觀念就是組織,所有的設備,用戶,數據都是基于組織的管理的,設備制造商是一個組織,設備的使用者是一個組織,家庭都可以是一個組織。
用戶管理:用戶是基于一個組織下的人員構成,每個組織下面都有管理員角色,管理員可以為其服務的組織添加不通的用戶,并分配每個用戶不同的權限。一個用戶也可以屬于多個不同的組織,并且扮演不同的組織
用戶組:一組用戶,也是基于組織的用戶組管理,同一用戶組的用戶擁有相同的權限
權限管理:同樣是基于組織的權限管理,主要是針對對象級別的權限細分,如設備的瀏覽權限,可以控制每個用戶是否看到這個設備;設備數據瀏覽權限定義是否可以查看設備的運行數據
1.3 數據傳輸管理
1.31 基本格式
數據傳輸管理,定義針對一類型設備的數據傳輸協議,基本格式是:
每一個設備有廠商唯一的序列號,因為每個制造商有自己的編碼格式,固此序列號沒有固定格式。
命令碼,為此條數據的作用,比如是上傳數據,或者服務器下發給設備的命令等,一般采用2位數字編碼00~99
數據,此部分是此條報文,所包含的數據部分,每個協議可以定義不同的解析方式,比如服務器在收到數據包后,會根據預先定義好的解析方式解析數據字段,并按照規則存儲
1.32 數據解析定義
每種設備類型可以定義多條命令,每個命令都有自己不同的解析方式,組織的管理員可以為自己的設備類型定義解析方式
服務器接收到數據后,會自動根據預先定義的解析方式解析數據字段
設備開發者要根據在IOT平臺定義的數據格式,自行開發自己設備的解析代碼
數據字段都按照HEX方式收發
1.33 數據的存儲
存儲要支持分布式架構,可以為每個設備定義不同的存儲位置,在diego iot中數據存儲使用mysql數據庫,實現不同的設備存儲在不同的mysql數據庫中
每條數據定義生命周期,在生命結束后,系統將自動刪除
1.4 數據管理
權限管理,數據的權限在物聯網平臺中是至關重要,數據屬于誰是一個非常重要的概念,只有設備的擁有者才能定義數據可以給誰看
大數據,物聯網數據本身就是海量的數據,我們可以借助一些開源的大數據平臺來實現數據的可視化分析,只有經過分析的數據才是有價值的數據
數據的導出,用戶可以導出數據到本地做分析
2.網絡通訊
現在所有的云端的物聯網開發平臺和設備之間的通訊,本質上都是建構在TCP/IP協議之上的,只是對數據包的再封裝而已,基于此我們可以是用wifi,4g來實現設備和云平臺的通訊,不過設備與設備之間的通訊,可以有wifi,Bluetooth,zigbee等,下面介紹幾種常用的通訊架構
2.1 基于移動3/4G通訊
此架構是最簡單的架構,設備就如同我們的手機,基于移動通訊來上網,其主要需要考慮如下幾點
每個設備都需要一個SIM卡,可以到移動服務器商辦理專門針對物聯網的SIM卡
數據流量問題,這種架構完全是走數據流量,如果有視頻數據,將會產生比較大的流量費用,這都是要考慮的
通訊質量問題,這完全依賴于移動服務商的網絡覆蓋狀況,就如同我們手機一樣,在有些環境下是沒有信號的,也就沒辦法收發數據
2.2 基于wifi局域網
此中架構,適合于所有的物聯網設備都是運行在一個局部環境中,設備通過wifi或者有線連接到路由器,而由路由器統一連接的物聯網服務器,就如同我們家中裝一個wifi路由器上網一樣的架構,需要注意的事項:
局域網內的智能設備,是沒有公網獨立的ip的,只有一個局域網內的ip,帶來的問題就是,設備可以直接給物聯網服務器發送數據包,而物聯網服務器是不能直接給設備發送數據包,就因為設備沒有公網獨立ip
功耗問題,對于使用wifi接入的設備,最好不是電池供電,因為wifi的功耗比較大
干擾問題,如果在大型的廠房部署這種架構,一定要考慮,廠房內是否有強干擾源,如電磁干擾,可以考慮采用工業級的無線路由器,一般抗干擾能力比較強
2.3 基于藍牙通訊
一般的基于藍牙的物聯網,會考慮通過藍牙網關來部署
藍牙由于其點對點的通訊方式,所以要考慮如下問題:
藍牙網關的容量問題,也就是一個藍牙網關能接入幾個藍牙設備,這取決于藍牙網關中使用了多少個藍牙設備
藍牙的配對問題,藍牙設備直接的通訊都首先配對才能通訊,如果實現自動配對,如果不能自動配對,大規模部署,將是一個很麻煩的事情
還有一種場景是針對不需要一直在線的物聯網設備,而只是在某種特殊需求的情況下,需要連上服務器,這中場景下,我們可以通過手機的藍牙功能來讓設備接入物聯網
藍牙手環是這種架構的一種典型應用模式
2.4 基于zigbee
ZigBee也是一種流行的組網模式,zigbee本身設計是針對傳感器之間的聯網,具有非常強的低功耗能力
zigbee接入網絡也依賴于zigbee網關,網關本身也是一個zigbee設備,zigbee設備是自組網的,在使用過程中注意的問題有。
數據量的問題,設備能力和功耗本身是自相矛盾的,由于ZigBee是超低功耗方案,固在通信能力上也是打折扣的,很適合一些傳感器數據的采集,如溫度濕度,但如果對大數據量的視頻類的就不適用了
這里主要介紹了,幾種常用的物聯網部署架構,至于物聯網協議,這里就不多介紹,網上文章非常多。
3.智能設備
設計的初衷是讓智能設備開發者擺脫對特殊模塊的依賴,對于智能設備的開發,只要具備聯網功能即可,沒有特別多的要求。
審核編輯:湯梓紅
-
藍牙
+關注
關注
114文章
5834瀏覽量
170608 -
物聯網
+關注
關注
2909文章
44740瀏覽量
374506 -
ZigBee
+關注
關注
158文章
2270瀏覽量
242953
發布評論請先 登錄
相關推薦
評論