第 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