第 1 篇 物聯(lián)網網關基礎
第 1 章 物聯(lián)網網關簡介 2
1.1 物聯(lián)網實時信息系統(tǒng) 2
1.1.1 物聯(lián)網實時信息系統(tǒng)的組成 2
1.1.2 物聯(lián)網節(jié)點 3
1.1.3 物聯(lián)網網關 5
1.1.4 物聯(lián)網傳輸網絡 5
1.1.5 物聯(lián)網數據服務中心 7
1.1.6 物聯(lián)網服務接入網絡 10
1.1.7 物聯(lián)網服務客戶端 10
1.2 物聯(lián)網網關的概念 10
1.2.1 物聯(lián)網網關的功能 10
1.2.2 物聯(lián)網網關設計內容 11
1.3 物聯(lián)網網關數據收集技術 11
1.4 物聯(lián)網網關的類型 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 單片機的發(fā)展階段 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 嵌入式操作系統(tǒng) 23
2.3 主要嵌入式操作系統(tǒng)簡介 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 篇 無操作系統(tǒng)物聯(lián)網網關
第 3 章 C51 單片機網關 30
3.1 C51 簡介 30
3.2 C51 網關硬件介紹 31
3.3 C51 軟件開發(fā)環(huán)境 31
3.4 C51 數據收集 32
3.5 C51 設備控制 36
3.6 C51 數據上傳 37
3.7 小結 37
思考題 38
案例 38
第 4 章 C51 健康監(jiān)控網關 39
4.1 C51 健康監(jiān)控網關簡介 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 系統(tǒng)程序設計 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 軟件開發(fā)環(huán)境 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 協(xié)議 62
6.4.3 CAN 的位時序 65
6.4.4 STM32 相關 bxCAN 66
6.4.5 STM32 的 CAN 發(fā)送和接收的流程 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 硬件環(huán)境搭建 71
6.5.2 STM32-Wi-Fi 軟件設計 71
6.5.3 STM32-Wi-Fi 運行測試 73
6.6 小結 74
思考題 74
案例 74
第 7 章 STM32 車輛安全監(jiān)測網關 75
7.1 STM32 車輛安全監(jiān)測網關簡介 75
7.2 開發(fā)環(huán)境及硬件介紹 76
7.3 系統(tǒng)需求分析 77
7.4 系統(tǒng)設計 78
7.5 設備設計與制作 80
7.6 功能實現(xiàn) 85
7.7 小結 88
思考題 89
案例 89
第 8 章 Arduino 單片機網關 90
8.1 Arduino 簡介 90
8.2 Arduino 網關硬件介紹 91
8.3 Arduino 軟件開發(fā)環(huán)境 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 系統(tǒng)需求分析 102
9.3 Arduino 氣象服務網關設計與制作 103
9.4 氣象服務網關 Web 服務器設計 107
9.5 氣象服務網關客戶端 App 開發(fā) 109
9.6 小結 110
思考題 110
案例 110
第 10 章 MSP430 單片機網關 111
10.1 MSP430 簡介 111
10.2 MSP430 網關硬件介紹 112
10.3 MSP430 軟件開發(fā)環(huán)境 112
10.4 MSP430 數據收集 115
10.5 MSP430 設備控制 116
10.6 MSP430 數據上傳 116
10.7 MSP430 網關應用實例 117
10.8 小結 117
思考題 117
案例 118
第 3 篇 嵌入式操作系統(tǒng)物聯(lián)網網關
第 11 章 樹莓派單片機網關 120
11.1 樹莓派簡介 120
11.2 樹莓派網關硬件介紹 120
11.3 樹莓派軟件開發(fā)環(huán)境 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 網關系統(tǒng)架構搭建 128
12.2.1 網關操作系統(tǒng)安裝 128
12.2.2 QT 工程建立 130
12.3 樹莓派 Wi-Fi 網關串口數據收發(fā) 134
12.3.1 串口簡介 134
12.3.2 程序設計 135
12.3.3 運行驗證 137
12.4 樹莓派 Wi-Fi 網關數據采集傳輸與控制 139
12.4.1 硬件環(huán)境搭建 139
12.4.2 網絡通信程序設計 140
12.4.3 運行驗證 141
12.5 小結 143
思考題 143
案例 143
第 13 章 樹莓派實驗室安全監(jiān)控網關 144
13.1 樹莓派實驗室安全監(jiān)控網關簡介 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 系統(tǒng)總體設計 147
13.3.3 實驗室管理系統(tǒng)數據庫設計 148
13.4 網關數據收集實現(xiàn) 150
13.4.1 節(jié)點數據收集功能實現(xiàn) 150
13.4.2 ZigBee 通信模塊的實現(xiàn) 152
13.4.3 網關數據的處理與存儲模塊的實現(xiàn) 153
13.5 Web 服務實現(xiàn) 153
13.6 小結 154
思考題 155
案例 155
第 14 章 ARM 單片機網關 156
14.1 ARM 簡介 156
14.2 ARM 網關硬件介紹 157
14.3 ARM 軟件開發(fā)環(huán)境 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 網關應用程序環(huán)境構建 165
15.2.1 ARM 網關開發(fā)簡介 165
15.2.2 主機 Linux 操作系統(tǒng)安裝步驟 165
15.2.3 構建 ARM 交叉開發(fā)環(huán)境 166
15.2.4 QT 應用開發(fā)環(huán)境搭建 167
15.2.5 建立 QT 項目工程 168
15.2.6 QT 項目開發(fā)平臺交叉編譯環(huán)境的設置 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 黃瓜大棚監(jiān)控網關 186
16.1 ARM 黃瓜大棚監(jiān)控網關在現(xiàn)代大棚種植技術中的應用 186
16.2 運行環(huán)境的硬件選取及技術簡介 187
16.2.1 系統(tǒng)開發(fā)環(huán)境 187
16.2.2 硬件選取 188
16.2.3 技術簡介 190
16.3 系統(tǒng)需求分析 190
16.3.1 功能需求分析 190
16.3.2 性能需求分析 191
16.3.3 開發(fā)語言分析 191
16.4 數據庫設計 192
16.5 系統(tǒng)總體設計 193
16.5.1 系統(tǒng)網絡拓撲圖 193
16.5.2 系統(tǒng)功能模塊 193
16.5.3 系統(tǒng)功能流程設計 195
16.6 系統(tǒng)的實現(xiàn) 197
16.6.1 系統(tǒng)開發(fā)軟硬環(huán)境搭建 197
16.6.2 Web 管理系統(tǒng)功能實現(xiàn) 198
16.6.3 客戶端 App 功能實現(xiàn) 200
16.7 小結 201
思考題 201
案例 201
第 17 章 智能手機網關 202
17.1 智能手機簡介 202
17.2 智能手機網關硬件介紹 204
17.3 智能手機軟件開發(fā)環(huán)境 206
17.3.1 Android App 開發(fā)環(huán)境 206
17.3.2 微信小程序開發(fā)環(huán)境 210
17.3.3 微信小程序開發(fā)前期準備 210
17.3.4 微信小程序開發(fā)過程 212
17.3.5 微信小程序發(fā)布過程 216
17.4 智能手機數據收集 218
17.5 智能手機設備控制 218
17.6 智能手機數據上傳 219
17.7 小結 220
思考題 220
案例 220
第 18 章 智能手機移動監(jiān)測網關 221
18.1 智能手機移動監(jiān)測網關的開發(fā)背景及簡介 221
18.2 移動監(jiān)測網關功能設計 222
18.3 移動監(jiān)測網關功能實現(xiàn) 222
18.4 移動監(jiān)測網關數據傳輸 223
18.5 數據中心 Web 管理系統(tǒng) 224
18.6 小結 227
思考題 227
案例 227
第 19 章 工控機網關 228
19.1 工控機簡介 228
19.2 工控機網關硬件介紹 228
19.3 工控機網關軟件開發(fā)環(huán)境 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 網關環(huán)境搭建 236
20.2.1 Debian 操作系統(tǒng)安裝及配置 237
20.2.2 QT 項目環(huán)境搭建 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 工控機養(yǎng)豬場監(jiān)控網關 251
21.1 X86 工控機養(yǎng)豬場監(jiān)控網關簡介 251
21.2 養(yǎng)豬監(jiān)控系統(tǒng)整體設計 252
21.3 養(yǎng)豬監(jiān)控網關數據收集及控制 253
21.4 養(yǎng)豬監(jiān)控 Web 服務實現(xiàn) 256
21.5 養(yǎng)豬監(jiān)控 App 客戶端功能實現(xiàn) 269
21.6 小結 271
思考題 271
案例 271
第 4 篇 復合型物聯(lián)網網關及設計趨勢
第 22 章 復合型網關 274
22.1 復合型網關簡介 274
22.2 復合型網關硬件介紹 278
22.3 復合型網關軟件開發(fā)環(huán)境 278
22.4 復合型網關數據收集 279
22.5 復合型網關設備控制 279
22.6 復合型網關數據上傳 279
22.7 小結 280
思考題 280
案例 280
第 23 章 復合型智能家居網關 281
23.1 復合型智能家居網關的開發(fā)背景 281
23.2 網關設計技術方案 282
23.3 網關具體硬件實現(xiàn) 284
23.4 復合型智能家居網關服務 285
23.5 小結 287
思考題 287
案例 287
第 24 章 物聯(lián)網網關設計趨勢 288
24.1 物聯(lián)網網關面臨的挑戰(zhàn) 288
24.1.1 網關的廣域接入網多協(xié)議難題 288
24.1.2 網關數據收集標準接口難以統(tǒng)一 288
24.1.3 網關數據有效性判斷難題 288
24.1.4 網關滯后數據傳輸問題 289
24.1.5 網關節(jié)點注冊問題 289
24.1.6 網關安全問題 289
24.2 網關面臨問題的解決方案 289
24.3 物聯(lián)網網關中間件 293
24.3.1 中間件簡介 293
24.3.2 物聯(lián)網網關中間件模塊 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 網關/節(jié)點安全及管理模塊 298
24.3.9 自動發(fā)現(xiàn)節(jié)點模塊 300
24.4 小結 301
思考題 301
案例 301
第 25 章 物聯(lián)網網關中間件開發(fā) 303
25.1 物聯(lián)網網關中間件簡介 303
25.2 開發(fā)環(huán)境搭建 304
25.3 物聯(lián)網節(jié)點介紹 306
25.4 數據的采集與存儲 307
25.5 數據傳輸過程 313
25.6 數據顯示過程 314
25.7 小結 316
思考題 317
案例 317
附錄 英文簡稱 318
參考文獻 323