因為工作的需要,最近研究了一些開源和商業的物聯網平台和產品的解決方案和技術架構,發現所有的這些解決方案和技術架構雖然在實現方式和技術棧上各有不同,但是基礎的知識體系和架構基本上一致的,為了對物聯網有一個全面和體系的認識,這里將物聯網的一些知識和基礎架構進行梳理和總結,后面的文章也會在這些總結的知識點上進行逐步的展開和探討,所謂不謀全局者,不足謀一域。這里還要安利一本書叫《圖解物聯網》,無論是從事相關行業的技術人員和產品經理都值得一看,此書對物聯網相關的知識進行了一個體系化的梳理。本文也是基於此書的前2章的文章脈絡和內容進行了一定的擴展。
一、實現物聯網技術要素
要實現物聯網,需要很多技術要素。除了傳感器等電子零件和電子電路以外,還包括Web應用中經常用到的技術,以及數據分析等。
設備
- 物聯網設備從功能上來講有兩個作用,一個是感測作用,通過傳感器搜集周圍的環境信息,例如房間的溫度和濕度,這個是通過設備上的傳感器這種電子零件實現感測的;一個作用是反饋作用,反饋有三種方法分別是可視化、通知以及控制,如圖所示:
- 物聯網設備從構成上來講由微控制器板(一塊控制機器的IC芯片)、輸入設備、輸出設備組成,其構成如圖所示:
其中微控制其板則是由CPU、內存、外圍電路組成,其構成如圖所示:
芯片的四大主流架構,如下圖所示:
- 物聯網設備的開發流程如圖所示:
微控制器主板的選擇標准可以參考下圖表格:
以往的微控制器板和單板計算機如圖所示:
常見的微控制器板和單板計算機如圖所示:
傳感器
傳感器很少被單獨使用,使用方式有兩種:
- 一種是嵌入在各種設備中使用,例如我們經常使用的智能手機,其中就搭載了檢測畫面傾斜度的陀螺儀傳感器和加速度傳感器。
- 一種是傳感器節點,它把傳感器本身置入環境中搜集信息,傳感器節點是集藍牙和 Wi-Fi 等無線通信裝置與電池為一體的傳感器。
具有代表性的傳感器種類如下圖所示:
網路
設備間的網絡連接方式通常來收有兩種:
- 一種是設備與設備之間的網絡連接,如圖所示:
,其中藍牙和 ZigBee 是兩種具有代表性的網絡標准,它們是用無線連接的,利用的通信協議也是固定的。這些協議的特征有采用擅長近離通信的無線連接、低功耗、易於嵌入嵌入式設備等。設備與設備之間的連接有如下幾種情況:
- 一種是設備與服務器的網絡連接,常用的連接協議有HTTP、WebSocket、MQTT、Coap等等。
物聯網常用的網絡通信協議歸納如下圖:
物聯網服務
物聯網服務有兩個作用:
- 從設備接受數據以及向設備發送數據。數據傳輸分為同步和異步,如下圖所示:
- 處理和保存數據。數據處理又分為批處理和流處理,如下圖所示
數據分析
數據分析一般分為兩種:
- 統計分析法。
- 機器學習。
二、物聯網的架構
實現物聯網時,物聯網服務大體上發揮着兩個作用。第一是把從設備收到的數據保存到數據庫,並對采集的數據進行分析。第二是向設備發送指令和信息。
整體結構
物聯網整體結構如下圖所示:
網關
網關指的是能連接多台設備,並具備直接連接到互聯網的功能的機器和軟件,對於那些不能連網的設備,可以通過網關連接到互聯網。一般市面上網關如下圖構成:
服務器結構
物聯網服務大體可以分為三個部分,前端部分(接受數據)、處理部分、數據庫部分,如下圖所示: