
作者:AndyKing著
页数:436
出版社:东南大学出版社
出版日期:2024
ISBN:9787576602043
电子书格式:pdf/epub/txt
内容简介
使用本实用指南学习如何进行物联网编程。作者兼教育家安迪?金(Andy King)向你展示了如何设计和构建你自己的全栈、端到端的物联网解决方案——从设备到云。这本实用的书将引导你完成工具使用、开发环境设置、解决方案设计和实现。你将了解典型的物联网生态系统是如何工作的,以及如何应对在实施自己的物联网解决方案时出现的集成挑战。无论你是一名正在学习物联网基础知识的工科学生,一名希望更好地理解物联网技术堆栈细微差别的精通技术的高管,还是一名构建自己的智能家居解决方案的程序员,这本实用指南都将帮助你入门。
作者简介
Andy King,是一位经验丰富的计算机科学家、教育家和技术 ,拥有超过20年的经验,主要专注于设计和构建网络管理工具、远程信息系统和物联网平台。他为 客户提供物联网系统战略、设计和集成方面的建议,并在Northeastern University授课。
本书特色
应对在实施自己的物联网解决方案时出现的集成挑战。无论你是一名正在学习物联网基础知识的工科学生,一名希望 好地理解物联网技术堆栈细微差别的精通技术的高管,还是一名构建自己的智能家居解决方案的程序员,这本实用指南都将帮助你入门。
目录
译者序 ……………………………………………………………… 1
序 ……………………………………………………………………. 3
前言 …………………………………………………………………. 5
部分 新手入门
章 入门 …………………………………………………….. 27
你将在本章学到什么 ……………………………………………………………………………. 27
定义你的系统 ……………………………………………………………………………………… 28
分解问题 ………………………………………………………………………………………. 29
定义相关结果 ………………………………………………………………………………… 30
构建解决方案 ………………………………………………………………………………… 31
设置你的开发和测试环境 …………………………………………………………………….. 36
步:准备你的开发环境 ……………………………………………………………. 38
第二步:定义你的测试策略 ……………………………………………………………. 54
第三步:管理你的设计和开发工作流程 ……………………………………………. 59
关于自动化的思考 …………………………………………………………………………. 66
编程练习 ……………………………………………………………………………………………. 68
测试受限设备应用程序 …………………………………………………………………… 71
测试网关设备应用程序 …………………………………………………………………… 72
本章小结 ……………………………………………………………………………………………. 72
2 章 初始边缘层应用程序 ………………………………… 74
你将在本章学到什么 ……………………………………………………………………………. 74
设计理念 ……………………………………………………………………………………………. 75
跟踪你的需求 ……………………………………………………………………………………… 76
编程练习 ……………………………………………………………………………………………. 77
向受限设备应用程序添加系统性能任务 ……………………………………………. 79
向网关设备应用程序添加系统性能任务 ……………………………………………. 89
附加练习 ………………………………………………………………………………………….. 100
本章小结 ………………………………………………………………………………………….. 100
二部分 连接到物理世界
3 章 数据模拟 ……………………………………………… 107
你将在本章学到什么 ………………………………………………………………………….. 107
模拟传感器和执行器 ………………………………………………………………………….. 108
使用传感数据生成器类生成模拟数据 ……………………………………………… 108
编程练习 ………………………………………………………………………………………….. 111
在应用程序设计中集成传感和驱动模拟器 ………………………………………. 112
在应用程序中表示传感器和执行器数据 ………………………………………….. 114
创建数据容器以支持数据收集和驱动 ……………………………………………… 115
模拟传感器 ………………………………………………………………………………….. 120
模拟执行器 ………………………………………………………………………………….. 126
连接模拟传感器与传感器适配器管理器 ………………………………………….. 133
连接模拟执行器与执行器适配器管理器 ………………………………………….. 142
创建并集成设备数据管理器 ………………………………………………………….. 146
附加练习 ………………………………………………………………………………………….. 155
滞后管理 …………………………………………………………………………………….. 155
本章小结 ………………………………………………………………………………………….. 156
第4 章 数据仿真 ……………………………………………… 157
你将在本章学到什么 ………………………………………………………………………….. 157
仿真传感器和执行器 ………………………………………………………………………….. 159
设置和配置仿真器 ……………………………………………………………………….. 159
Sense-Emu Sense HAT 仿真器 ……………………………………………………….. 159
编程练习 ………………………………………………………………………………………….. 161
在应用程序设计中集成传感和驱动仿真 ………………………………………….. 161
仿真传感器 ………………………………………………………………………………….. 163
仿真执行器 ………………………………………………………………………………….. 165
连接仿真传感器与传感器适配器管理器 ………………………………………….. 169
连接仿真执行器与执行器适配器管理器 ………………………………………….. 173
附加练习 ………………………………………………………………………………………….. 176
阈值管理 …………………………………………………………………………………….. 176
本章小结 ………………………………………………………………………………………….. 176
第5 章 数据管理 ……………………………………………… 177
你将在本章学到什么 ………………………………………………………………………….. 177
数据转换和管理概念 ………………………………………………………………………….. 177
编程练习 ………………………………………………………………………………………….. 178
受限设备应用程序中的数据转换 ……………………………………………………. 180
网关设备应用程序中的数据转换 ……………………………………………………. 185
附加练习 ………………………………………………………………………………………….. 200
主动预防的磁盘利用率管理 ………………………………………………………….. 201
本章小结 ………………………………………………………………………………………….. 201
第三部分 连接到其他事物
第6 章 MQTT 集成——概述和Python 客户端 ……….. 211
你将在本章学到什么 ………………………………………………………………………….. 212
MQTT 介绍 ………………………………………………………………………………………. 212
连接到代理 ………………………………………………………………………………….. 213
传递消息 …………………………………………………………………………………….. 214
控制包和MQTT 消息的结构 …………………………………………………………. 216
将MQTT 添加到你的应用程序 ……………………………………………………………. 220
安装和配置MQTT 代理 ………………………………………………………………… 222
编程练习 ………………………………………………………………………………………….. 222
创建MQTT 连接器抽象模块 …………………………………………………………. 225
添加支持MQTT 事件的回调 …………………………………………………………. 235
添加发布、订阅和退订功能 ………………………………………………………….. 237
将MQTT 连接器集成到你的CDA 中 ……………………………………………… 242
安全性如何? ………………………………………………………………………………. 245
附加练习 ………………………………………………………………………………………….. 245
本章小结 ………………………………………………………………………………………….. 246
第7 章 MQTT 集成——Java 客户端 ……………………. 247
你将在本章学到什么 ………………………………………………………………………….. 247
编程练习 ………………………………………………………………………………………….. 248
创建MQTT 连接器抽象模块 …………………………………………………………. 249
添加支持MQTT 事件的回调 …………………………………………………………. 254
添加发布、订阅和退订功能 ………………………………………………………….. 256
将MQTT 连接器集成到你的GDA 中 …………………………………………….. 260
安全性和整体系统性能如何? ……………………………………………………….. 266
附加练习 ………………………………………………………………………………………….. 266
订阅者回调 ………………………………………………………………………………….. 266
CDA 与GDA 的集成 ……………………………………………………………………. 266
本章小结 ………………………………………………………………………………………….. 267
第8 章 CoAP 服务器实现 …………………………………. 268
你将在本章学到什么 ………………………………………………………………………….. 269
CoAP 介绍 ………………………………………………………………………………………… 269
客户端到服务器的连接 …………………………………………………………………. 269
请求方法 …………………………………………………………………………………….. 270
消息的传递 ………………………………………………………………………………….. 272
数据报包和CoAP 消息的结构 ……………………………………………………….. 275
将它们集中到一起 ……………………………………………………………………….. 277
编程练习 ………………………………………………………………………………………….. 282
向网关设备应用程序添加CoAP 服务器功能 …………………………………… 283
向受限设备应用程序添加CoAP 服务器功能(可选) ………………………. 299
附加练习 ………………………………………………………………………………………….. 302
添加 多资源处理程序 …………………………………………………………………. 302
添加自定义发现服务 …………………………………………………………………….. 303
添加动态资源创建 ……………………………………………………………………….. 303
本章小结 ………………………………………………………………………………………….. 303
第 9 章 CoAP 客户端集成 …………………………………. 304
你将在本章学到什么 ………………………………………………………………………….. 304
概念 …………………………………………………………………………………………………. 305
编程练习 ………………………………………………………………………………………….. 308
向受限设备应用程序添加CoAP 客户端功能 …………………………………… 309
向网关设备应用程序添加CoAP 客户端功能(可选) ………………………. 330
附加练习 …………………………………………………………………………………………. 332
添加强大的OBSERVE 取消功能 ……………………………………………………. 332
添加DELETE 支持和POST 支持 …………………………………………………… 332
本章小结 ………………………………………………………………………………………….. 332
0 章 边缘集成 ……………………………………………. 333
你将在本章学到什么 ………………………………………………………………………….. 333
概念 …………………………………………………………………………………………………. 334
安全性练习 ……………………………………………………………………………………….. 335
向MQTT 代理添加TLS 支持 ………………………………………………………… 335
向网关设备应用程序MQTT 客户端连接器添加安全功能 …………………. 336
向受限设备应用程序MQTT 客户端连接器添加安全功能 …………………. 343
功能练习 ………………………………………………………………………………………….. 346
向网关设备应用程序添加业务逻辑 ………………………………………………… 347
向受限设备应用程序添加业务逻辑 ………………………………………………… 349
性能测试练习 ……………………………………………………………………………………. 352
附加练习 ………………………………………………………………………………………….. 354
向CoAP 客户端和服务器添加DTLS 支持 ………………………………………. 354
本章小结 ………………………………………………………………………………………….. 354
第四部分 连接到云
1 章 与各类云服务集成 ……………………………….. 359
你将在本章学到什么 ………………………………………………………………………….. 360
概念 …………………………………………………………………………………………………. 360
编程练习 ………………………………………………………………………………………….. 362
添加云客户端和其他相关组件 ……………………………………………………….. 363
与物联网云服务提供商(CSP)集成 …………………………………………………… 371
使用 MQTT 的 Ubidots 连接概述 …………………………………………………… 373
使用 MQTT 的 AWS IoT Core 连接概述 ………………………………………….. 380
附加练习 ………………………………………………………………………………………….. 395
分析和处理时间序列性能数据 ……………………………………………………….. 396
本章小结 ………………………………………………………………………………………….. 396
2 章 改良IoT …………………………………………….. 397
你将在本章学到什么 ………………………………………………………………………….. 397
物联网生态系统推动因素 ……………………………………………………………… 397
物联网用例示例 ………………………………………………………………………………… 401
共享的推动因素和共同的概念设计 ………………………………………………… 401
用例1:家庭环境监测和温度调节 …………………………………………………. 403
用例2:花园监测和水量调节 ………………………………………………………… 405
用例3:池塘水质监测 ………………………………………………………………….. 407
本章小结 ………………………………………………………………………………………….. 409
附录 设计路线图 ……………………………………………… 411
参考资料 ……………………………………………………….. 431
序 ……………………………………………………………………. 3
前言 …………………………………………………………………. 5
部分 新手入门
章 入门 …………………………………………………….. 27
你将在本章学到什么 ……………………………………………………………………………. 27
定义你的系统 ……………………………………………………………………………………… 28
分解问题 ………………………………………………………………………………………. 29
定义相关结果 ………………………………………………………………………………… 30
构建解决方案 ………………………………………………………………………………… 31
设置你的开发和测试环境 …………………………………………………………………….. 36
步:准备你的开发环境 ……………………………………………………………. 38
第二步:定义你的测试策略 ……………………………………………………………. 54
第三步:管理你的设计和开发工作流程 ……………………………………………. 59
关于自动化的思考 …………………………………………………………………………. 66
编程练习 ……………………………………………………………………………………………. 68
测试受限设备应用程序 …………………………………………………………………… 71
测试网关设备应用程序 …………………………………………………………………… 72
本章小结 ……………………………………………………………………………………………. 72
2 章 初始边缘层应用程序 ………………………………… 74
你将在本章学到什么 ……………………………………………………………………………. 74
设计理念 ……………………………………………………………………………………………. 75
跟踪你的需求 ……………………………………………………………………………………… 76
编程练习 ……………………………………………………………………………………………. 77
向受限设备应用程序添加系统性能任务 ……………………………………………. 79
向网关设备应用程序添加系统性能任务 ……………………………………………. 89
附加练习 ………………………………………………………………………………………….. 100
本章小结 ………………………………………………………………………………………….. 100
二部分 连接到物理世界
3 章 数据模拟 ……………………………………………… 107
你将在本章学到什么 ………………………………………………………………………….. 107
模拟传感器和执行器 ………………………………………………………………………….. 108
使用传感数据生成器类生成模拟数据 ……………………………………………… 108
编程练习 ………………………………………………………………………………………….. 111
在应用程序设计中集成传感和驱动模拟器 ………………………………………. 112
在应用程序中表示传感器和执行器数据 ………………………………………….. 114
创建数据容器以支持数据收集和驱动 ……………………………………………… 115
模拟传感器 ………………………………………………………………………………….. 120
模拟执行器 ………………………………………………………………………………….. 126
连接模拟传感器与传感器适配器管理器 ………………………………………….. 133
连接模拟执行器与执行器适配器管理器 ………………………………………….. 142
创建并集成设备数据管理器 ………………………………………………………….. 146
附加练习 ………………………………………………………………………………………….. 155
滞后管理 …………………………………………………………………………………….. 155
本章小结 ………………………………………………………………………………………….. 156
第4 章 数据仿真 ……………………………………………… 157
你将在本章学到什么 ………………………………………………………………………….. 157
仿真传感器和执行器 ………………………………………………………………………….. 159
设置和配置仿真器 ……………………………………………………………………….. 159
Sense-Emu Sense HAT 仿真器 ……………………………………………………….. 159
编程练习 ………………………………………………………………………………………….. 161
在应用程序设计中集成传感和驱动仿真 ………………………………………….. 161
仿真传感器 ………………………………………………………………………………….. 163
仿真执行器 ………………………………………………………………………………….. 165
连接仿真传感器与传感器适配器管理器 ………………………………………….. 169
连接仿真执行器与执行器适配器管理器 ………………………………………….. 173
附加练习 ………………………………………………………………………………………….. 176
阈值管理 …………………………………………………………………………………….. 176
本章小结 ………………………………………………………………………………………….. 176
第5 章 数据管理 ……………………………………………… 177
你将在本章学到什么 ………………………………………………………………………….. 177
数据转换和管理概念 ………………………………………………………………………….. 177
编程练习 ………………………………………………………………………………………….. 178
受限设备应用程序中的数据转换 ……………………………………………………. 180
网关设备应用程序中的数据转换 ……………………………………………………. 185
附加练习 ………………………………………………………………………………………….. 200
主动预防的磁盘利用率管理 ………………………………………………………….. 201
本章小结 ………………………………………………………………………………………….. 201
第三部分 连接到其他事物
第6 章 MQTT 集成——概述和Python 客户端 ……….. 211
你将在本章学到什么 ………………………………………………………………………….. 212
MQTT 介绍 ………………………………………………………………………………………. 212
连接到代理 ………………………………………………………………………………….. 213
传递消息 …………………………………………………………………………………….. 214
控制包和MQTT 消息的结构 …………………………………………………………. 216
将MQTT 添加到你的应用程序 ……………………………………………………………. 220
安装和配置MQTT 代理 ………………………………………………………………… 222
编程练习 ………………………………………………………………………………………….. 222
创建MQTT 连接器抽象模块 …………………………………………………………. 225
添加支持MQTT 事件的回调 …………………………………………………………. 235
添加发布、订阅和退订功能 ………………………………………………………….. 237
将MQTT 连接器集成到你的CDA 中 ……………………………………………… 242
安全性如何? ………………………………………………………………………………. 245
附加练习 ………………………………………………………………………………………….. 245
本章小结 ………………………………………………………………………………………….. 246
第7 章 MQTT 集成——Java 客户端 ……………………. 247
你将在本章学到什么 ………………………………………………………………………….. 247
编程练习 ………………………………………………………………………………………….. 248
创建MQTT 连接器抽象模块 …………………………………………………………. 249
添加支持MQTT 事件的回调 …………………………………………………………. 254
添加发布、订阅和退订功能 ………………………………………………………….. 256
将MQTT 连接器集成到你的GDA 中 …………………………………………….. 260
安全性和整体系统性能如何? ……………………………………………………….. 266
附加练习 ………………………………………………………………………………………….. 266
订阅者回调 ………………………………………………………………………………….. 266
CDA 与GDA 的集成 ……………………………………………………………………. 266
本章小结 ………………………………………………………………………………………….. 267
第8 章 CoAP 服务器实现 …………………………………. 268
你将在本章学到什么 ………………………………………………………………………….. 269
CoAP 介绍 ………………………………………………………………………………………… 269
客户端到服务器的连接 …………………………………………………………………. 269
请求方法 …………………………………………………………………………………….. 270
消息的传递 ………………………………………………………………………………….. 272
数据报包和CoAP 消息的结构 ……………………………………………………….. 275
将它们集中到一起 ……………………………………………………………………….. 277
编程练习 ………………………………………………………………………………………….. 282
向网关设备应用程序添加CoAP 服务器功能 …………………………………… 283
向受限设备应用程序添加CoAP 服务器功能(可选) ………………………. 299
附加练习 ………………………………………………………………………………………….. 302
添加 多资源处理程序 …………………………………………………………………. 302
添加自定义发现服务 …………………………………………………………………….. 303
添加动态资源创建 ……………………………………………………………………….. 303
本章小结 ………………………………………………………………………………………….. 303
第 9 章 CoAP 客户端集成 …………………………………. 304
你将在本章学到什么 ………………………………………………………………………….. 304
概念 …………………………………………………………………………………………………. 305
编程练习 ………………………………………………………………………………………….. 308
向受限设备应用程序添加CoAP 客户端功能 …………………………………… 309
向网关设备应用程序添加CoAP 客户端功能(可选) ………………………. 330
附加练习 …………………………………………………………………………………………. 332
添加强大的OBSERVE 取消功能 ……………………………………………………. 332
添加DELETE 支持和POST 支持 …………………………………………………… 332
本章小结 ………………………………………………………………………………………….. 332
0 章 边缘集成 ……………………………………………. 333
你将在本章学到什么 ………………………………………………………………………….. 333
概念 …………………………………………………………………………………………………. 334
安全性练习 ……………………………………………………………………………………….. 335
向MQTT 代理添加TLS 支持 ………………………………………………………… 335
向网关设备应用程序MQTT 客户端连接器添加安全功能 …………………. 336
向受限设备应用程序MQTT 客户端连接器添加安全功能 …………………. 343
功能练习 ………………………………………………………………………………………….. 346
向网关设备应用程序添加业务逻辑 ………………………………………………… 347
向受限设备应用程序添加业务逻辑 ………………………………………………… 349
性能测试练习 ……………………………………………………………………………………. 352
附加练习 ………………………………………………………………………………………….. 354
向CoAP 客户端和服务器添加DTLS 支持 ………………………………………. 354
本章小结 ………………………………………………………………………………………….. 354
第四部分 连接到云
1 章 与各类云服务集成 ……………………………….. 359
你将在本章学到什么 ………………………………………………………………………….. 360
概念 …………………………………………………………………………………………………. 360
编程练习 ………………………………………………………………………………………….. 362
添加云客户端和其他相关组件 ……………………………………………………….. 363
与物联网云服务提供商(CSP)集成 …………………………………………………… 371
使用 MQTT 的 Ubidots 连接概述 …………………………………………………… 373
使用 MQTT 的 AWS IoT Core 连接概述 ………………………………………….. 380
附加练习 ………………………………………………………………………………………….. 395
分析和处理时间序列性能数据 ……………………………………………………….. 396
本章小结 ………………………………………………………………………………………….. 396
2 章 改良IoT …………………………………………….. 397
你将在本章学到什么 ………………………………………………………………………….. 397
物联网生态系统推动因素 ……………………………………………………………… 397
物联网用例示例 ………………………………………………………………………………… 401
共享的推动因素和共同的概念设计 ………………………………………………… 401
用例1:家庭环境监测和温度调节 …………………………………………………. 403
用例2:花园监测和水量调节 ………………………………………………………… 405
用例3:池塘水质监测 ………………………………………………………………….. 407
本章小结 ………………………………………………………………………………………….. 409
附录 设计路线图 ……………………………………………… 411
参考资料 ……………………………………………………….. 431














