物聯網網關設計與實現
內容描述
物聯網(Internet of Things,IoT)應用涉及智能交通、環境保護、政府工作、公共安全、平安家居、智能消防、工業監測、老人護理、個人健康等多個領域。物聯網的各種應用依賴於所建立的高性能的物聯網實時信息系統。在物聯網實時信息系統中,物聯網網關是一個非常重要的設備,在各種實時數據的收集與傳輸及設備控制過程中起著至關重要的作用。一方面,物聯網網關從與其相連接的物聯網節點中獲取各種數據,並將這些數據進行初步處理後,發送到物聯網數據服務中心;另一方面,物聯網網關也從數據服務中心接收各種控制指令,通過執行器或者繼電器來完成這些指令的操作,如打開或關閉空調等。 《物聯網網關設計與實現》包括物聯網網關簡介、單片機網關簡介、C51 單片機網關、意法半導體 32 位處理器(STMicroelectronics 32-bit Processor,STM32)單片機網關、Arduino 單片機網關、混合信號處理器 430(Mixed Signal Processor 430,MSP430)單片機網關、樹莓派單片機網關、進階精簡指令集機器(Advanced RISC Machine,ARM)單片機網關、智能手機網關、工控機網關、復合型網關、物聯網網關設計趨勢等內容。 《物聯網網關設計與實現》適合應用型本科學校網絡工程、物聯網工程、傳感網工程、人工智能、智能科學與技術、數據科學與大數據技術、電子信息與通信、信息與計算科學等專業的本科生、研究生以及相關專業的研究人員使用。
目錄大綱
目錄
第 1 篇 物聯網網關基礎
第 1 章 物聯網網關簡介 2
1.1 物聯網實時信息系統 2
1.1.1 物聯網實時信息系統的組成 2
1.1.2 物聯網節點 3
1.1.3 物聯網網關 5
1.1.4 物聯網傳輸網絡 5
1.1.5 物聯網數據服務中心 7
1.1.6 物聯網服務接入網絡 10
1.1.7 物聯網服務客戶端 10
1.2 物聯網網關的概念 10
1.2.1 物聯網網關的功能 10
1.2.2 物聯網網關設計內容 11
1.3 物聯網網關數據收集技術 11
1.4 物聯網網關的類型 12
1.4.1 單片機網關 12
1.4.2 智能手機網關 13
1.4.3 X86 工控機網關 13
1.4.4 復合型網關 15
1.5 小結 16
思考題 16
案例 17
第 2 章 單片機網關簡介 18
2.1 單片機概述 18
2.1.1 單片機簡介 18
2.1.2 單片機的組成結構 18
2.1.3 單片機的發展階段 20
2.1.4 單片機的特點 21
2.1.5 8 位單片機 22
2.1.6 16 位單片機 22
2.1.7 32 位單片機 22
2.1.8 64 位單片機 22
2.2 嵌入式操作系統 23
2.3 主要嵌入式操作系統簡介 23
2.3.1 PSoS 24
2.3.2 VRTX 24
2.3.3 QNX 24
2.3.4 VxWorks . 24
2.3.5 μC/OS 24
2.3.6 RTLinux 25
2.3.7 Windows CE 25
2.3.8 Android 25
2.3.9 iOS 26
2.3.10 Windows 10 IoT 26
2.3.11 Google Brillo 27
2.3.12 華為 LiteOS 27
2.3.13 Harmony OS 27
2.3.14 Raspbian 27
2.4 小結 28
思考題 28
案例 28
第 2 篇 無操作系統物聯網網關
第 3 章 C51 單片機網關 30
3.1 C51 簡介 30
3.2 C51 網關硬件介紹 31
3.3 C51 軟件開發環境 31
3.4 C51 數據收集 32
3.5 C51 設備控制 36
3.6 C51 數據上傳 37
3.7 小結 37
思考題 38
案例 38
第 4 章 C51 健康監控網關 39
4.1 C51 健康監控網關簡介 39
4.2 智能設備設計 39
4.2.1 簡介 39
4.2.2 設備組成 40
4.3 硬件設計與製作 41
4.3.1 原理設計圖 41
4.3.2 PCB 製作 44
4.4 系統程序設計 44
4.4.1 血壓值代碼 44
4.4.2 體重數據的部分代碼 45
4.4.3 身高測量代碼 45
4.4.4 網關連接藍牙主要代碼 45
4.5 健康網關 App 客戶端 45
4.6 健康網關 Web 服務端 46
4.7 小結 46
思考題 46
案例 47
第 5 章 STM32 單片機網關 48
5.1 STM32 簡介 48
5.2 STM32 芯片介紹 48
5.3 STM32 軟件開發環境 49
5.4 STM32 數據收集 50
5.5 STM32 設備控制 51
5.6 STM32 數據上傳 51
5.7 小結 52
思考題 52
案例 52
第 6 章 STM32 網關實驗 54
6.1 STM32-Wi-Fi 網關概述 54
6.1.1 核心板資源 54
6.1.2 STM32-Wi-Fi 底板資源 55
6.2 無線通信實驗 55
6.2.1 STM32 串口簡介 56
6.2.2 硬件設計 56
6.2.3 程序設計 56
6.2.4 硬件資源介紹 57
6.3 485 通信實驗 58
6.3.1 485 簡介 59
6.3.2 RSM3485 硬件設計 60
6.3.3 RSM3485 軟件設計 60
6.3.4 下載驗證 61
6.4 CAN 通信實驗 61
6.4.1 CAN 簡介 62
6.4.2 CAN 協議 62
6.4.3 CAN 的位時序 65
6.4.4 STM32 相關 bxCAN 66
6.4.5 STM32 的 CAN 發送和接收的流程 67
6.4.6 CAN 配置過程及相關固件庫函數 68
6.4.7 CAN 硬件設計 69
6.4.8 CAN 軟件設計 69
6.4.9 CAN 通信測試 70
6.5 STM32-Wi-Fi 網關數據採集與控制 71
6.5.1 硬件環境搭建 71
6.5.2 STM32-Wi-Fi 軟件設計 71
6.5.3 STM32-Wi-Fi 運行測試 73
6.6 小結 74
思考題 74
案例 74
第 7 章 STM32 車輛安全監測網關 75
7.1 STM32 車輛安全監測網關簡介 75
7.2 開發環境及硬件介紹 76
7.3 系統需求分析 77
7.4 系統設計 78
7.5 設備設計與製作 80
7.6 功能實現 85
7.7 小結 88
思考題 89
案例 89
第 8 章 Arduino 單片機網關 90
8.1 Arduino 簡介 90
8.2 Arduino 網關硬件介紹 91
8.3 Arduino 軟件開發環境 94
8.4 Arduino 數據收集 99
8.5 Arduino 設備控制 99
8.6 Arduino 數據上傳 100
8.7 小結 100
思考題 101
案例 101
9 章 Arduino 氣象服務網關 102
9.1 Arduino 氣象服務網關簡介 102
9.2 系統需求分析 102
9.3 Arduino 氣象服務網關設計與製作 103
9.4 氣象服務網關 Web 服務器設計 107
9.5 氣象服務網關客戶端 App 開發 109
9.6 小結 110
思考題 110
案例 110
第 10 章 MSP430 單片機網關 111
10.1 MSP430 簡介 111
10.2 MSP430 網關硬件介紹 112
10.3 MSP430 軟件開發環境 112
10.4 MSP430 數據收集 115
10.5 MSP430 設備控制 116
10.6 MSP430 數據上傳 116
10.7 MSP430 網關應用實例 117
10.8 小結 117
思考題 117
案例 118
第 3 篇 嵌入式操作系統物聯網網關
第 11 章 樹莓派單片機網關 120
11.1 樹莓派簡介 120
11.2 樹莓派網關硬件介紹 120
11.3 樹莓派軟件開發環境 121
11.4 樹莓派數據收集 124
11.5 樹莓派設備控制 124
11.6 樹莓派數據上傳 125
11.7 小結 126
思考題 126
案例 126
第 12 章 樹莓派網關實驗 127
12.1 樹莓派 Wi-Fi 網關概述 127
12.2 樹莓派 Wi-Fi 網關系統架構搭建 128
12.2.1 網關操作系統安裝 128
12.2.2 QT 工程建立 130
12.3 樹莓派 Wi-Fi 網關串口數據收發 134
12.3.1 串口簡介 134
12.3.2 程序設計 135
12.3.3 運行驗證 137
12.4 樹莓派 Wi-Fi 網關數據採集傳輸與控制 139
12.4.1 硬件環境搭建 139
12.4.2 網絡通信程序設計 140
12.4.3 運行驗證 141
12.5 小結 143
思考題 143
案例 143
第 13 章 樹莓派實驗室安全監控網關 144
13.1 樹莓派實驗室安全監控網關簡介 144
13.2 相 關 技 術 145
13.2.1 Arduino Uno 單片機 145
13.2.2 傳感器 145
13.2.3 ZigBee 通信 146
13.3 需求分析及總體設計 147
13.3.1 需求分析概述 147
13.3.2 系統總體設計 147
13.3.3 實驗室管理系統數據庫設計 148
13.4 網關數據收集實現 150
13.4.1 節點數據收集功能實現 150
13.4.2 ZigBee 通信模塊的實現 152
13.4.3 網關數據的處理與存儲模塊的實現 153
13.5 Web 服務實現 153
13.6 小結 154
思考題 155
案例 155
第 14 章 ARM 單片機網關 156
14.1 ARM 簡介 156
14.2 ARM 網關硬件介紹 157
14.3 ARM 軟件開發環境 159
14.4 ARM 數據收集 160
14.5 ARM 設備控制 161
14.6 ARM 數據上傳 162
14.7 小結 163
思考題 163
案例 163
第 15 章 ARM 工控網關實驗 164
15.1 ARM 工控網關概述 164
15.2 ARM 網關應用程序環境構建 165
15.2.1 ARM 網關開發簡介 165
15.2.2 主機 Linux 操作系統安裝步驟 165
15.2.3 構建 ARM 交叉開發環境 166
15.2.4 QT 應用開發環境搭建 167
15.2.5 建立 QT 項目工程 168
15.2.6 QT 項目開發平臺交叉編譯環境的設置 172
15.3 ARM 網關串口實驗 174
15.3.1 ARM 網關接口編程實驗軟件設計 174
15.3.2 ARM 網關接口編程下載驗證 176
15.4 ARM 網關 Linux 驅動及內核實驗部分 178
15.4.1 ARM 網關硬件介紹 178
15.4.2 ARM 網關硬件驅動軟件設計 179
15.4.3 ARM 網關 RS485 硬件驅動下載驗證 180
15.5 ARM 網關數據收集 Wi-Fi 傳輸與控制 182
15.5.1 程序設計 182
15.5.2 ARM 網關數據收集與傳輸實驗 183
15.6 小結 185
思考題 185
案例 185
第 16 章 ARM 黃瓜大棚監控網關 186
16.1 ARM 黃瓜大棚監控網關在現代大棚種植技術中的應用 186
16.2 運行環境的硬件選取及技術簡介 187
16.2.1 系統開發環境 187
16.2.2 硬件選取 188
16.2.3 技術簡介 190
16.3 系統需求分析 190
16.3.1 功能需求分析 190
16.3.2 性能需求分析 191
16.3.3 開發語言分析 191
16.4 數據庫設計 192
16.5 系統總體設計 193
16.5.1 系統網絡拓撲圖 193
16.5.2 系統功能模塊 193
16.5.3 系統功能流程設計 195
16.6 系統的實現 197
16.6.1 系統開發軟硬環境搭建 197
16.6.2 Web 管理系統功能實現 198
16.6.3 客戶端 App 功能實現 200
16.7 小結 201
思考題 201
案例 201
第 17 章 智能手機網關 202
17.1 智能手機簡介 202
17.2 智能手機網關硬件介紹 204
17.3 智能手機軟件開發環境 206
17.3.1 Android App 開發環境 206
17.3.2 微信小程序開發環境 210
17.3.3 微信小程序開發前期準備 210
17.3.4 微信小程序開發過程 212
17.3.5 微信小程序發布過程 216
17.4 智能手機數據收集 218
17.5 智能手機設備控制 218
17.6 智能手機數據上傳 219
17.7 小結 220
思考題 220
案例 220
第 18 章 智能手機移動監測網關 221
18.1 智能手機移動監測網關的開發背景及簡介 221
18.2 移動監測網關功能設計 222
18.3 移動監測網關功能實現 222
18.4 移動監測網關數據傳輸 223
18.5 數據中心 Web 管理系統 224
18.6 小結 227
思考題 227
案例 227
第 19 章 工控機網關 228
19.1 工控機簡介 228
19.2 工控機網關硬件介紹 228
19.3 工控機網關軟件開發環境 230
19.4 工控機網關數據收集 231
19.5 工控機網關設備控制 232
19.6 工控機網關數據上傳 233
19.7 小結 233
思考題 233
案例 234
第 20 章 X86 工控機網關實驗 235
20.1 X86 工控機 Wi-Fi 網關概述 235
20.1.1 X86 工控機介紹 235
20.1.2 硬件資源說明 236
20.2 X86 工控機 Wi-Fi 網關環境搭建 236
20.2.1 Debian 操作系統安裝及配置 237
20.2.2 QT 項目環境搭建 240
20.2.3 建立 X86 工控機 QT 項目 241
20.3 X86 工控機串口實驗 242
20.3.1 X86 工控機串口實驗簡介 242
20.3.2 X86 工控機-串口程序設計 243
20.3.3 X86 工控機串口實驗運行驗證 244
20.4 X86 工控機網關數據收集 Wi-Fi 傳輸與控制 245
20.4.1 數據收集 Wi-Fi 傳輸實驗簡介 245
20.4.2 數據收集 Wi-Fi 傳輸程序設計 245
20.4.3 數據收集 Wi-Fi 傳輸運行驗證 246
20.5 小結 249
思考題 249
案例 250
第 21 章 X86 工控機養豬場監控網關 251
21.1 X86 工控機養豬場監控網關簡介 251
21.2 養豬監控系統整體設計 252
21.3 養豬監控網關數據收集及控制 253
21.4 養豬監控 Web 服務實現 256
21.5 養豬監控 App 客戶端功能實現 269
21.6 小結 271
思考題 271
案例 271
第 4 篇 復合型物聯網網關及設計趨勢
第 22 章 復合型網關 274
22.1 復合型網關簡介 274
22.2 復合型網關硬件介紹 278
22.3 復合型網關軟件開發環境 278
22.4 復合型網關數據收集 279
22.5 復合型網關設備控制 279
22.6 復合型網關數據上傳 279
22.7 小結 280
思考題 280
案例 280
第 23 章 復合型智能家居網關 281
23.1 復合型智能家居網關的開發背景 281
23.2 網關設計技術方案 282
23.3 網關具體硬件實現 284
23.4 復合型智能家居網關服務 285
23.5 小結 287
思考題 287
案例 287
第 24 章 物聯網網關設計趨勢 288
24.1 物聯網網關面臨的挑戰 288
24.1.1 網關的廣域接入網多協議難題 288
24.1.2 網關數據收集標準接口難以統一 288
24.1.3 網關數據有效性判斷難題 288
24.1.4 網關滯後數據傳輸問題 289
24.1.5 網關節點註冊問題 289
24.1.6 網關安全問題 289
24.2 網關面臨問題的解決方案 289
24.3 物聯網網關中間件 293
24.3.1 中間件簡介 293
24.3.2 物聯網網關中間件模塊 293
24.3.3 Web 服務模塊 294
24.3.4 數據收集模塊 296
24.3.5 數據檢驗模塊 297
24.3.6 數據傳輸模塊 297
24.3.7 嵌入式數據庫模塊 297
24.3.8 網關/節點安全及管理模塊 298
24.3.9 自動發現節點模塊 300
24.4 小結 301
思考題 301
案例 301
第 25 章 物聯網網關中間件開發 303
25.1 物聯網網關中間件簡介 303
25.2 開發環境搭建 304
25.3 物聯網節點介紹 306
25.4 數據的採集與存儲 307
25.5 數據傳輸過程 313
25.6 數據顯示過程 314
25.7 小結 316
思考題 317
案例 317
附錄 英文簡稱 318
參考文獻 323