官术网_书友最值得收藏!

第2章 物聯網的架構

2.1 物聯網的整體結構

實現物聯網時,物聯網服務大體上發揮著兩個作用。

第一是把從設備收到的數據保存到數據庫,并對采集的數據進行分析。

第二是向設備發送指令和信息。

本章將會為大家介紹如何構建物聯網服務,以及用于實現物聯網的重要要素。

2.1.1 整體結構

物聯網大體上有3個構成要素,如圖2.1所示。一個是設備,另一個是網關,再來就是服務器。關于設備的基本結構和使用的技術,我們會在第3章詳細說明。因此本章并不涉及設備。我們來詳細看一下用怎樣的機制才能實現網關和服務器。

圖2.1 物聯網的整體結構

2.1.2 網關

如圖2.1左下所示,物聯網使用的設備中,有3臺設備不能直接連接到互聯網。網關就負責把這些設備轉發到互聯網。

網關指的是能連接多臺設備,并具備直接連接到互聯網的功能的機器和軟件(圖2.2)。如今,市面上有很多種網關。在多數情況下,網關憑借Linux操作系統來運行。

圖2.2 選擇網關的標準

選擇網關時有幾項重要的標準,我們來一起看一下。

接口

第一重要的是用于連接網關和設備的接口。網關的接口決定了能連接的設備,因此重點在于選擇一個適配設備的接口。

有線連接方式包括串行通信和USB連接。串行通信中經常用的是一種叫作D-SUB 9針(pin)的連接器,而USB連接中用到的USB連接器則種類繁多。

無線連接中用的接口是藍牙和Wi-Fi(IEEE 802.11)。此外,還有采用920 MHz頻段的Zigbee標準,以及各制造商們的專屬協議。第3章會詳細講解這些規格各自的特征,重點在于根據設備對應的標準來選擇接口。

網絡接口

我們用以太網或是Wi-Fi、3G/LTE來連接外部網絡。網絡接口會影響到網關的設置場所。以太網采用有線連接,通信環境穩定。然而正因為采用的是有線連接,所以必須把LAN電纜布線到網關的設置場所。因此,在設置場所方面就會在某種程度上受到限制。

對3G/LTE連接而言,設置場所就比較自由了,但通信的質量會受信號強弱影響,所以通信不如有線連接穩定。因此,有時很難在信號不良的大樓和工廠等封閉環境中設置。不過,3G/LTE連接有個好處,即只使用網關就能完成和外部的通信,因此操作起來很簡單。此外,想使用3G/LTE時,需要和電信運營商簽訂協議并獲取SIM卡,這點就跟使用手機一樣。

硬件

相對于一般計算機而言,網關在CPU和內存這些硬件的性能方面比較受限。我們需要確定讓網關做哪些事情,也需要考慮到它的硬件性能。

軟件

人們主要使用Linux操作系統來運行網關。雖然有很多種用于服務器的Linux,不過,網關上搭載的Linux是面向嵌入式的。

此外,還有一個叫作BusyBox的軟件,它運行起來占用內存少,集成了標準的Linux命令工具。它用于在硬件資源匱乏的時候運行網關。除此之外,還要考慮是否有用于控制網關功能的程序庫,以及與這種程序庫對應的語言等。

電源

說起來,電源很容易被人們遺忘。網關基本上都是使用AC適配器當電源的,因此需要事先在設置網關的場所準備好電源。如果網關本身搭載有電池,那么就不需要準備電源了,不過需要進行充電等維護工作。

2.1.3 服務器的結構

在功能方面,物聯網服務大體上可分為3個部分,本書分別稱它們為前端部分、處理部分,以及數據庫部分(圖2.3)。

圖2.3 物聯網服務的3個功能

首先,前端部分包括數據接收服務器和數據發送服務器。數據接收服務器接收設備和網關發來的數據,轉交給后續的處理部分。數據發送服務器則剛好相反,它負責把從處理服務器接收到的內容發送給設備。

通常情況下,Web服務的前端部分只接受HTTP協議。而物聯網服務的前端部分則需要根據連接設備的不同來匹配HTTP以外的協議。使用者需要考慮到協議的實時性和通信的輕量化,以及能否以服務器為起點發送數據。我們會在2.2節重新講解這些協議。

處理部分負責處理從前端部分接收到的數據。這里的“處理”指的是分解數據、存儲數據、分析數據、生成發給設備的通知內容,等等。數據處理包括批處理和流處理等,批處理即把數據存入數據庫之后一并進行處理,而流處理是逐次處理從前端部分收到的數據。使用者需要根據處理內容和數據特性來靈活使用這些“處理”。

最后是數據庫。這里的數據庫不只會用到關系數據庫,還會用到NoSQL數據庫。當然,使用者需要根據想存儲的數據和想使用的方法來選擇數據庫。

主站蜘蛛池模板: 嘉善县| 长武县| 淮滨县| 东至县| 昭苏县| 罗源县| 依兰县| 梓潼县| 二连浩特市| 阳高县| 寿阳县| 河津市| 蓬莱市| 盐池县| 新余市| 梁平县| 克什克腾旗| 平潭县| 上杭县| 称多县| 抚松县| 永川市| 新平| 平阳县| 桂平市| 巩留县| 华安县| 嘉祥县| 黔江区| 长葛市| 奉新县| 滨州市| 溆浦县| 长沙市| 上思县| 响水县| 彰武县| 洛南县| 东乌| 克拉玛依市| 道真|