物聯網的整體結構
物聯網大體上有3個構成要素,一個是設備,另一個是網關,再來就是服務器。下面我們就來一一的給大家介紹。
物聯網的整體結構
物聯網的整體結構-設備
關于物聯網設備的結構可閱讀百恒物聯之前的文章,物聯網設備的基本結構。
物聯網的整體結構-網關
物聯網開發中使用的設備,有3臺設備不能直接連接到互聯網。網關就負責把這些設備轉發到互聯網。
網關指的是能連接多臺設備,并具備直接連接到互聯網的功能的機器和軟件。如今,市面上有很多種網關。在多數情況下,網關憑借Linux操作系統來運行。
選擇網關的標準
選擇網關時有幾項重要的標準,我們來一起看一下。
1、接口
第一重要的是用于連接網關和設備的接口。網關的接口決定了能連接的設備,因此重點在于選擇一個適配設備的接口。
有線連接方式包括串行通信和USB連接。串行通信中經常用的是一種叫作D-SUB9針(pin)的連接器,而USB連接中用到的USB連接器則種類繁多。
無線連接中用的接口是藍牙和Wi-Fi(IEEE 802.11)。此外,還采用920MHz頻段Zigbee標準,以及各制造商們的專屬協議。
2、網絡接口
我們用以太網或是Wi-Fi、3G/LTE來連接外部網絡。網絡接口會影響到網關的設置場所。以太網采用有線連接,通信環境穩定。然而正因為采用的是有線連接,所以必須把LAN電纜布線到網關的設置場所。因此,在設置場所方面就會在某種程度上受到限制。
對于3G/LTE連接而言,設置場所就比較自由了,但通信的質量會受信號強弱影響,所以通信不如有線連接穩定。因此,有時很難再信號不良的大樓和工廠等封閉環境中設置。不過,3G/LTE連接有個好處,即只使用網關就能完成和外部的通信,因此操作起來很簡單。此外,想使用3G/LTE時,需要和電信運營商簽訂協議并獲取SIM卡,這點就跟使用手機一樣。
3、硬件
相對于一般計算機而言,網關再CPU和內存這些硬件的性能方面比較受限。我們需要確定讓網關作哪些事情,也需要考慮到它的硬件性能。
4、軟件
人們主要使用Linux操作系統來運行網關。雖然很多種用于服務器的Linux,不過,網關上搭載的Linux是面向嵌入式的。
此外,還有一個叫作BusyBox的軟件,它運行起來占用內存少,集成了標準的Linux命令工具。它用于在硬件資源匱乏的時候運行網關。除此之外,還要考慮是否有關于控制網關功能的程序庫,以及與這種程序庫對應的語言等。
5、電源
說起來,電源很容易被人們遺忘。網關基本上都是使用AC適配器當電源的,因此需要事先在設置網關的場所準備好電源。如果網關本身搭載有電池,那么就不需要準備電源了,不過需要進行充電等維護工作。
物聯網的整體結構-服務器
在功能方面,物聯網服務大體可分為3個部分,我們稱它們為前端部分、處理部分,以及數據庫部分。
物聯網服務的3個功能
首先,前端部分包括數據接受服務器和數據發送服務器。數據接收服務器接受設備和網關發來的數據,轉交給后續的處理部分。數據發送服務器則剛好相反,它負責把從處理服務器接收到的內容發送給設備。
通常情況下,Web服務的前端部分只接受HTTP協議。而物聯網服務的前端部分則需要根據連接設備的不同來匹配HTTP以外的協議。使用者需要考慮到協議的實時性和通信的輕量化,以及能否以服務器為七點發送數據。
處理部分負責處理從前端部分接收到的數據。這里的“處理”指的是分解數據、存儲數據、分析數據、生成發給設備的通知內容,等等。數據處理包括批處理和流處理等,批處理即把數據存入數據庫之后一并進行處理,而流處理是逐次處理從前端部分收到的數據。使用者需要根據處理內容和數據特性來靈活使用這些“處理”。
最后是數據庫。這里的數據庫不只會用到關系數據庫,還會用到NoSQL數據庫。當然,使用者需要根據想存儲的數據和想使用的方法來選擇數據庫。