物聯網基礎
物聯網的發展程序
泛在計算
??泛在計算的世界是一個所有的“物”都內置計算機中,隨時可以得到計算機幫助的世界,
??機器對機器的通信是不經人為控制的,機器和機器之間的通信,物聯網則含有給資訊接收者提供服務的含義,它比機器對機器的通信概念范圍更廣,
物聯網的組成
設備
??物聯網中的設備指裝有傳感器,并能與互聯網連接以實作與物聯網服務互動的設備,其作用為感測和反饋,
- 感測:感測指設備搜集本身狀態和周圍環境狀態并通知物聯網系統,
- 反饋:反饋指設備接收從物聯網系統發來的通知,并顯示其資訊或執行指定操作,
物聯網設備的結構
??微控制器是一塊控制器IC(集成電路)芯片,它能夠撰寫程式,并根據描述的處理讀取端子狀態,或者向連接的電路輸出特定信號,微控制器由記憶體,CPU及外圍電路組成,
開發硬體的步驟
- 把微控制器主板嵌入到自制電路中
- 在PC上撰寫用于微控制器的程式
- 從PC端把程式寫入微控制器
- 確認運行情況
微控制器的選擇標準
- 產品規格 介面,記憶體,耗電量
- 成本
- 尺寸
- 開發環境 易于連接電腦
- 資訊的可獲得性 檔案獲得途徑與社區活躍度
連接多種多樣的設備
- 分層化資料處理:在移交主處理器時指定格式,并在上一輪處理中把接收到的資料換成規定的資料格式,
設備安全性(風險分析、多層防御)
- 信任傳遞:接通機器電源后對機器進行確認,確認機器是否按照設想中的狀態運行
- 可以允許已通過認證的網關設備進行連接,對超過一定通行量的網關進行通信限制
- 使用SSL,IPsec
傳感器
??傳感器的作用是把物理現象用電子信號形式輸出,
??傳感器機制
??傳感器的利用程序
??把模擬信號轉換成數字信號
- 采樣:用某個頻率來區分模擬輸入信號,獲取值
- 量化:把采樣后的值近似表現為離散值
- 編碼:把量化后的數值編碼成二進制代碼
??把數字信號轉換成模擬信號
- PWM脈沖寬度機制:通過高速切換輸出高/低電壓來實作近似輸出模擬信號
- 占空比 D = W / T 占空比越高,高電壓時間也就越長,LED就會越明亮
??驅動利用程序
網路
網路的種類有:
- 設備連接到其他設備的網路(傳感器節點到網關的網路)(藍牙)
- 設備連接到物聯網服務的網路(5G)
物聯網服務
物聯網服務的作用
- 從設備接收資料及發送資料給設備
- 處理,分析,保存資料
物聯網服務結構
- 前端部分
- 資料接收服務器:負責接收從設備或網關發送來的資料,
- 資料發送服務器:負責向設備或網關發送資料并控制設備,
- 處理部分
- 負責分解資料,存盤資料,分析資料,保存資料以及生成給設備的通知內容
- 資料庫
設備與物聯網通信的方法
- 同步傳輸:同步傳輸中設備請求服務,服務器收到設備的請求后向設備提供服務,服務器不能主動回應設備,
- 異步傳輸:異步傳輸中服務器可以主動給設備發送資訊,但需要知道設備的IP地址,
使用協議
- WebSocket協議
- WebSocket自身只提供服務器與客戶端的資料交換,需要使用者另外決定在應用層使用的協議,使用WebSocket發送資料時,在設備建立與服務器的連接后就可以雙向傳輸,
- MQTT協議
???訂閱者與MQTT中介總是連接
傳輸使用的資料格式
- XML
- JSON
- MessagePack(可保留二進制資料)
處理和保存資料的方法
批處理
??批處理的特征:對保存的資料進行定期采集和處理,
- Apache Hadoop:采用MapReduce機制的分布式處理框架,Apache Mahout為運行在Map Reduce上實作機器學習的庫
- Apache Spark:對記憶體上的RDD(彈性分布資料集)進行批處理,通過標志在處理前和處理后的RDD建立聯系
流處理
??流處理的特征:將收到的資料依次進行處理,
- Spark Streaming:通過對分割的資料執行小批量的批處理來達到流處理的效果,
- Apache Storm
存盤資料
??資料庫的作用:保存并靈活運用資料,包括從保存的資料中找出與制定條件相符的資料,以及把各個資料庫連接在一起,把它們作為一個資料取出,
資料庫的種類和特征
- 關系型資料庫 Mysql
- 鍵值存盤 Redis
- 檔案型資料庫 MongoDB
- 資料庫需要具備可擴展性、寫入速度以及資料庫模式的通用性,
資料分析方法
??分析目的:基于采集的“可視化“分析,基于統計分析和機器學習等高級分析技術的”發現“分析和”預測“分析,可視化分析指的是對積累的資料進行加工,根據需求通過采集和圖表的形式把資料內容加工成人眼能看懂的形式,發現分析就是在可視化分析的基礎上,再通過統計分析和機器學習等高級方法來發現資料的趨勢、規律、結構等,預測分析即從過去積累的資料中找出資料固有的趨勢和規律,以掌握今后可能發生的情況,采集分析就是把資料加工,
??資料分析的基礎架構:采集,積累,加工,分析
- 統計分析:統計分析是用數學手法通過搜集到大量資料來明確事物的聯系性的方法,
- 機器學習:計算機會按照程式決定的演算法,機械性地學習所給資料之間的聯系性,機器學習的演算法可以分為“監督學習”和“非監督學習”,“監督學習”演算法要學習“正確答案”與“不正確答案”之間存在的差異,“非監督學習”演算法會學習資料的整體傾向,在整體傾向找出傾向不同的資料,將其判斷為“例外值”,機器學習的分析方法有:
- 聚類分析:基于樣本具有的特征,把相似的樣本分為多個組,
- K-means演算法:針對資料的分布來事先指定要把資料分為多少塊,即分為多少個聚類,由此來機械性地生成資料塊的一種演算法,
- 類別分類:用已明確想好了要分類的物件,基于過去的資料來分出物件組和非物件組的場合,
- 維度壓縮:對于大型資料中的大量資料,盡力留下其中的重要資訊并壓縮冗余資訊,借此來縮小資料量的方法,
- 回歸分析:設某資料滿足y=f(x),如果根據實際測量資料求出f(x)中的系數,那么給定新的x值就能預測其y值,
資料表示方法
| 資訊 | 使用圖表 |
|---|
| 體積/比率(比較資料多少) | 柱形圖 |
| 構成比(所占的比例) | 餅圖和堆疊條形圖 |
| 相關性 | 散布圖 |
| 趨勢 | 折線圖和柱形圖 |
| 資料間存在的關系 | 網路圖 |
如何應對資料的增多
- 接收資料放在佇列里回傳回應,之后邊接受邊處理,需要再次訪問才能得到處理結果,
- 可以通過網關整合傳感器資料并發送壓縮過的資料來削減資料的發送量(只適合實時性較弱的系統)
物聯網服務的系統開發
??物聯網服務開發的重點:設備,架構,網路,安全性,應用和維修
網關
??網關是連接多臺設備,并具有直接連接到互聯網功能的機器和軟體,
??網關的作用有:連接設備功能,資料處理功能,向服務器發送資料功能,