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