[套装书]物联网系统架构设计与边缘计算(原书第2版)+物联网系统开发:从0到1构建IoT平台(2册)

作者
佩里·利 付强
丛书名
物联网核心技术丛书
出版社
机械工业出版社
ISBN
9782107091444
简要
简介
内容简介书籍计算机书籍 ---------------------------8082128 - 物联网系统架构设计与边缘计算(原书第2版)--------------------------- 本书涵盖从物联网传感器到云计算的整个物联网解决方案谱系。首先研究现代传感器系统、通信理论,然后探讨局域网和广域网中基于IP的通信,包括802.11ah、5G LTE蜂窝、Sigfox和LoRaWAN,讲解边缘计算、路由和网关及其在雾计算中的作用,以及MQTT 5.0和CoAP的消息传递协议。本书以统计分析、复杂事件处理和深度学习模型的应用来总结,还提供了物联网安全、密码学和shell安全的整体观点。 ---------------------------8071765 - 物联网系统开发:从0到1构建IoT平台--------------------------- 内容简介 这是一本从技术原理、工程实践、设计模式和最佳实践4个维度讲解物联网系统开发的著作,是作者10余年实践经验的总结。首先,通过代码实例循序渐进、深入浅出地介绍了物联网协议的原理与实践;然后,以一个功能完备的综合性物联网平台的搭建过程为例,讲解了如何从0到1搭建一个物联网平台,同时总结了物联网平台开发中常用的设计模式和最佳实践。 全书一共12章,逻辑上可分为3大部分: 第一部分(第1-2章) 物联网基础 对物联网的一些关键常识和各种协议进行了详细的介绍。 第二部分(第3-5章) 物联网协议 通过大量实例代码详细分析和讲解了MQTT协议的规范、特性、原理和应用。 . 第三部分(第6-12章)物联网平台开发 详细讲解了如何使用开源组件和云服务从0到1搭建一个具备完备功能的物联网平台。
目录
[套装书具体书目]
8071765 - 物联网系统开发:从0到1构建IoT平台 - 9787111662402 - 机械工业出版社 - 定价 79
8082128 - 物联网系统架构设计与边缘计算(原书第2版) - 9787111684732 - 机械工业出版社 - 定价 149



---------------------------8082128 - 物联网系统架构设计与边缘计算(原书第2版)---------------------------


推荐序
译者序
前言
关于作者
关于审校者
第1章 物联网和边缘计算的定义及用例 …… 1
1.1 物联网的历史 …… 3
1.2 物联网的潜力 …… 5
1.3 物联网的定义 …… 7
1.3.1 工业和制造业 …… 8
1.3.2 消费者 …… 10
1.3.3 零售、金融和营销 …… 10
1.3.4 医疗保健 …… 11
1.3.5 运输业和物流业 …… 11
1.3.6 农业和环境 …… 12
1.3.7 能源产业 …… 13
1.3.8 智慧城市 …… 13
1.3.9 军事和政府 …… 14
1.4 使用案例和部署示意 …… 14
1.4.1 案例研究——远程和缓医疗 …… 15
1.4.2 用例回顾 …… 22
1.5 小结 …… 23
第2章 物联网架构和核心物联网模块 …… 24
2.1 相连的生态系统 …… 24
2.1.1 物联网、机器对机器与SCADA …… 26
2.1.2 网络的价值、梅特卡夫定律和贝克斯特伦定律 …… 27
2.1.3 物联网和边缘架构 …… 29
2.1.4 架构师的作用 …… 30
2.2 第一部分——传感和电源 …… 31
2.3 第二部分——数据通信 …… 31
2.4 第三部分——边缘计算 …… 32
2.5 第四部分——计算、分析和机器学习 …… 33
2.6 第五部分——物联网中的威胁与安全 …… 34
2.7 小结 …… 34
第3章 传感器、终端和电力系统 …… 35
3.1 传感设备 …… 35
3.1.1 热电偶和温度传感器 …… 35
3.1.2 霍尔效应传感器和电流传感器 …… 38
3.1.3 光电传感器 …… 38
3.1.4 PIR传感器 …… 39
3.1.5 激光雷达和主动传感系统 …… 40
3.1.6 MEMS传感器 …… 41
3.2 高性能物联网终端 …… 44
3.2.1 视觉系统 …… 45
3.2.2 传感器融合 …… 47
3.2.3 输出设备 …… 47
3.3 功能示例(整合在一起) …… 48
3.3.1 功能示例——TI SensorTag CC2650 …… 48
3.3.2 传感器到控制器 …… 49
3.4 能源和电源管理 …… 51
3.4.1 电源管理 …… 51
3.4.2 能量收集 …… 52
3.4.3 储能 …… 56
3.5 小结 …… 60
第4章 通信和信息论 …… 61
4.1 通信理论 …… 62
4.1.1 射频能量和理论范围 …… 62
4.1.2 射频干扰 …… 65
4.2 信息论 …… 66
4.2.1 比特率限制和香农-哈特利定理 …… 66
4.2.2 误码率 …… 70
4.2.3 窄带通信与宽带通信 …… 71
4.3 无线电频谱 …… 74
4.4 小结 …… 77
第5章 基于WPAN的非IP协议 …… 78
5.1 802.15标准 …… 79
5.2 蓝牙 …… 80
5.2.1 蓝牙的历史 …… 80
5.2.2 蓝牙5通信进程和拓扑 …… 81
5.2.3 蓝牙5栈 …… 82
5.2.4 BR/EDR操作 …… 87
5.2.5 低功耗蓝牙技术角色 …… 89
5.2.6 BLE运算 …… 90
5.2.7 蓝牙配置文件 …… 91
5.2.8 BR/EDR安全 …… 94
5.2.9 信标 …… 95
5.2.10 蓝牙5的范围和速度增强 …… 100
5.2.11 蓝牙网状网 …… 101
5.2.12 蓝牙5.1技术 …… 107
5.3 IEEE 802.15.4 …… 115
5.3.1 IEEE 802.15.4架构 …… 115
5.3.2 IEEE 802.15.4 拓扑结构 …… 119
5.3.3 IEEE 802.15.4 地址模式和数据包结构 …… 120
5.3.4 IEEE 802.15.4 启动序列 …… 120
5.3.5 IEEE 802.15.4 安全性 …… 121
5.4 Zigbee …… 122
5.4.1 Zigbee的历史 …… 122
5.4.2 Zigbee概述 …… 122
5.4.3 Zigbee PHY和MAC(与IEEE 802.15.4的区别) …… 124
5.4.4 Zigbee 协议栈 …… 124
5.4.5 Zigbee寻址和数据包结构 …… 125
5.4.6 Zigbee网状路由 …… 126
5.4.7 Zigbee安全性 …… 127
5.5 Z-Wave …… 128
5.5.1 Z-Wave概述 …… 129
5.5.2 Z-Wave协议栈 …… 130
5.5.3 Z-Wave寻址 …… 131
5.5.4 Z-Wave拓扑和路由 …… 132
5.6 小结 …… 133
第6章 基于IP的WPAN和WLAN …… 134
6.1 TCP/IP …… 134
6.2 具有IP的WPAN—— 6LoWPAN …… 136
6.3 IEEE 802.11协议和WLAN …… 136
6.3.1 IEEE 802.11 协议集及比较 …… 137
6.3.2 IEEE 802.11架构 …… 138
6.3.3 IEEE 802.11频谱分配 …… 140
6.3.4 IEEE 802.11调制和编码技术 …… 141
6.3.5 IEEE 802.11 MIMO …… 145
6.3.6 IEEE 802.11数据包结构 …… 147
6.3.7 IEEE 802.11操作 …… 149
6.3.8 IEEE 802.11安全性 …… 150
6.3.9 IEEE 802.11ac …… 151
6.3.10 IEEE 802.11p车联网 …… 152
6.3.11 IEEE 802.11ah …… 155
6.3.12 6LoWPAN拓扑 …… 158
6.3.13 6LoWPAN协议栈 …… 160
6.3.14 网状网寻址和路由 …… 161
6.3.15 报头压缩和分段 …… 163
6.3.16 邻居发现 …… 165
6.3.17 6LoWPAN安全性 …… 166
6.4 具有IP的WPAN——Thread …… 166
6.4.1 Thread架构及拓扑 …… 167
6.4.2 Thread协议栈 …… 168
6.4.3 Thread路由 …… 168
6.4.4 Thread寻址 …… 169
6.4.5 邻居发现 …… 169
6.5 小结 …… 170
第7章 远程通信系统和协议 …… 171
7.1 蜂窝连接 …… 171
7.1.1 管理模式和标准 …… 172
7.1.2 蜂窝接入技术 …… 174
7.1.3 3GPP用户设备类别 …… 175
7.1.4 4G LTE频谱分配和频段 …… 176
7.1.5 4G LTE拓扑和架构 …… 181
7.1.6 4G LTE E-UTRAN协议栈 …… 185
7.1.7 4G LTE地理区域、数据流和切换过程 …… 186
7.1.8 4G LTE数据包结构 …… 188
7.1.9 Cat-0、Cat-1、Cat-M1和NB-IoT …… 189
7.1.10 Multefire、CBRS和蜂窝网络频谱共享 …… 194
7.1.11 5G …… 196
7.2 LoRa和LoRaWAN …… 210
7.2.1 LoRa物理层 …… 210
7.2.2 LoRaWAN MAC层 …… 212
7.2.3 LoRaWAN拓扑结构 …… 213
7.2.4 LoRaWAN总结 …… 214
7.3 Sigfox …… 215
7.3.1 Sigfox物理层 …… 215
7.3.2 Sigfox MAC层 …… 217
7.3.3 Sigfox协议栈 …… 217
7.3.4 Sigfox拓扑结构 …… 218
7.4 小结 …… 219
第8章 边缘计算 …… 221
8.1 边缘的用途和定义 …… 221
8.2 边缘用例 …… 223
8.3 边缘硬件架构 …… 225
8.3.1 处理器 …… 226
8.3.2 动态随机存取内存和易失性内存 …… 234
8.3.3 存储和非易失性内存 …… 235
8.3.4 低速I/O …… 240
8.3.5 高速I/O …… 241
8.3.6 硬件辅助和协同处理 …… 242
8.3.7 引导和安全模块 …… 243
8.3.8 边缘计算硬件示例 …… 243
8.3.9 防护等级 …… 244
8.4 操作系统 …… 245
8.4.1 操作系统选择要点 …… 246
8.4.2 典型引导过程 …… 246
8.4.3 操作系统调优 …… 247
8.5 边缘平台 …… 248
8.5.1 虚拟化 …… 248
8.5.2 容器 …… 249
8.6 边缘计算用例 …… 254
8.6.1 环境计算 …… 254
8.6.2 合成传感 …… 255
8.7 小结 …… 256
第9章 边缘路由和网络 …… 257
9.1 边缘的TCP/IP网络功能 …… 257
9.1.1 路由功能 …… 257
9.1.2 PAN到WAN的桥接 …… 261
9.1.3 故障切换和带外管理 …… 264
9.2 边缘级的网络安全 …… 265
9.2.1 VLAN …… 266
9.2.2 VPN …… 267
9.2.3 流量整形和QoS …… 268
9.2.4 安全功能 …… 270
9.2.5 指标和分析 …… 271
9.3 软件定义网络 …… 271
9.3.1 SDN架构 …… 272
9.3.2 传统的网络连接 …… 273
9.3.3 SDN的好处 …… 274
9.4 小结 …… 275
第10章 边缘–云协议 …… 276
10.1 协议 …… 276
10.2 MQTT …… 278
10.2.1 MQTT发布–订阅 …… 279
10.2.2 MQTT架构细节 …… 282
10.2.3 MQTT状态转换 …… 284
10.2.4 MQTT数据包结构 …… 285
10.2.5 MQTT数据类型 …… 287
10.2.6 MQTT通信格式 …… 288
10.2.7 MQTT 3.1.1工作示例 …… 291
10.3 MQTT-SN …… 293
10.3.1 MQTT-SN架构和拓扑结构 …… 294
10.3.2 透明网关和聚合网关 …… 294
10.3.3 网关广播和发现 …… 295
10.3.4 MQTT和MQTT-SN的区别 …… 295
10.3.5 选择MQTT代理 …… 296
10.4 约束应用协议 …… 297
10.4.1 CoAP架构细节 …… 297
10.4.2 CoAP消息格式 …… 300
10.4.3 CoAP使用示例 …… 303
10.5 其他协议 …… 305
10.5.1 STOMP …… 305
10.5.2 AMQP …… 305
10.6 协议总结与比较 …… 308
10.7 小结 …… 308
第11章 云和雾拓扑 …… 309
11.1 云服务模型 …… 309
11.1.1 NaaS …… 310
11.1.2 SaaS …… 311
11.1.3 PaaS …… 311
11.1.4 IaaS …… 311
11.2 公有云、私有云和混合云 …… 311
11.2.1 私有云 …… 312
11.2.2 公有云 …… 312
11.2.3 混合云 …… 312
11.3 OpenStack云架构 …… 313
11.3.1 Keystone:身份和服务管理 …… 313
11.3.2 Glance:镜像服务 …… 313
11.3.3 Nova计算 …… 315
11.3.4 Swift:对象存储 …… 317
11.3.5 Neutron:网络服务 …… 317
11.3.6 Cinder:块存储 …… 317
11.3.7 Horizon …… 317
11.3.8 Heat:编排(选读) …… 318
11.3.9 Ceilometer:计量监控(选读) …… 318
11.4 物联网云架构的限制 …… 318
11.5 雾计算 …… 321
11.5.1 用于雾计算的Hadoop原理 …… 321
11.5.2 雾、边缘、云和薄雾计算比较 …… 322
11.5.3 OpenFog参考架构 …… 323
11.5.4 EdgeX …… 327
11.5.5 Amazon Greengrass和Lambda …… 329
11.5.6 雾拓扑 …… 331
11.6 小结 …… 334
第12章 云和边缘中的数据分析与机器学习 …… 335
12.1 物联网基础数据分析 …… 335
12.1.1 顶层云管道 …… 337
12.1.2 规则引擎 …… 339
12.1.3 数据获取—流、处理和数据湖 …… 341
12.1.4 复杂事件处理 …… 344
12.1.5 Lambda架构 …… 345
12.1.6 行业用例 …… 345
12.2 物联网中的机器学习 …… 347
12.2.1 人工智能和机器学习里程碑简史 …… 347
12.2.2 机器学习模型 …… 349
12.2.3 分类 …… 350
12.2.4 回归 …… 352
12.2.5 随机森林 …… 353
12.2.6 贝叶斯模型 …… 355
12.2.7 卷积神经网络 …… 357
12.2.8 循环神经网络 …… 365
12.2.9 物联网的训练与推理 …… 370
12.3 物联网数据分析和机器学习比较与评估 …… 371
12.4 小结 …… 372
第13章 物联网与边缘网络安全 …… 373
13.1 网络安全术语 …… 373
13.1.1 攻击和威胁术语 …… 373
13.1.2 防范术语 …… 375
13.2 物联网网络攻击分析 …… 377
13.2.1 Mirai …… 377
13.2.2 震网病毒 …… 379
13.2.3 连锁反应 …… 379
13.3 物理及硬件安全 …… 381
13.3.1 RoT …… 381
13.3.2 密钥管理和可信平台模块 …… 382
13.3.3 处理器和内存空间 …… 382
13.3.4 存储安全 …… 383
13.3.5 物理安全 …… 384
13.4 shell安全性 …… 385
13.5 密码使用 …… 385
13.5.1 对称加密 …… 387
13.5.2 非对称加密 …… 390
13.5.3 散列加密法(身份验证和签名) …… 392
13.5.4 公钥基础设施 …… 393
13.5.5 网络堆栈——传输层安全性 …… 395
13.6 软件定义边界 …… 396
13.7 物联网中的区块链和加密货币 …… 398
13.7.1 比特币(基于区块链) …… 399
13.7.2 IOTA和有向无环图信任模型 …… 403
13.8 政府法规及干预 …… 404
13.8.1 美国国会法案——2017年物联网网络安全改进法案 …… 404
13.8.2 其他政府机构 …… 405
13.9 物联网安全最佳实践 …… 406
13.9.1 全面的安全 …… 406
13.9.2 安全检查清单 …… 406
13.10 小结 …… 408
第14章 联盟和协会 …… 409
14.1 PAN协会 …… 409
14.1.1 蓝牙技术联盟 …… 409
14.1.2 Thread联盟 …… 410
14.1.3 Zigbee联盟 …… 410
14.1.4 其他 …… 410
14.2 协议协会 …… 411
14.2.1 开放连接基金会和Allseen联盟 …… 411
14.2.2 绿洲协会 …… 411
14.2.3 对象管理组 …… 412
14.2.4 OMA规范工程联盟 …… 413
14.2.5 其他 …… 413
14.3 WAN联盟 …… 413
14.3.1 Weightless技术联盟 …… 413
14.3.2 LoRa联盟 …… 414
14.3.3 互联网工程任务组 …… 414
14.3.4 Wi-Fi联盟 …… 414
14.4 雾及边缘计算协会 …… 415
14.4.1 OpenFog组织 …… 415
14.4.2 Eclipse基金会和EdgeX Foundry …… 415
14.5 伞式组织 …… 416
14.5.1 工业互联网协会 …… 416
14.5.2 IEEE物联网 …… 416
14.5.3 其他 …… 417
14.6 美国政府物联网和安全实体 …… 417
14.7 工商业物联网与边缘计算 …… 417
14.7.1 工商业传感器和MEMS厂商 …… 418
14.7.2 硅片、微处理器和器件厂家 …… 418
14.7.3 PAN网络通信公司 …… 419
14.7.4 WAN技术公司 …… 419
14.7.5 边缘计算及解决方案公司 …… 420
14.7.6 操作系统、中间件和软件公司 …… 420
14.7.7 云提供商 …… 420
14.8 小结 …… 421



---------------------------8071765 - 物联网系统开发:从0到1构建IoT平台---------------------------


前言
第一部分?物联网基础
第1章?什么是物联网 2
1.1 物联网和人工智能 3
1.2 物联网的现状与前景 4
第2章?常见的物联网协议 6
2.1 MQTT协议 6
2.2 MQTT-SN协议 7
2.3 CoAP协议 8
2.4 LwM2M协议 9
2.5 HTTP协议 9
2.6 LoRaWAN协议 9
2.7 NB-IoT协议 10
2.8 本章小结 10
第二部分?MQTT协议详解与实战
第3章?MQTT协议基础 13
3.1 MQTT协议的通信模型 13
3.2 MQTT Client 14
3.3 MQTT Broker 15
3.4 MQTT协议数据包格式 17
3.5 本章小结 19
第4章?MQTT协议详解 20
4.1 建立到Broker的连接 20
4.1.1 CONNECT数据包 20
4.1.2 CONNACK数据包 23
4.1.3 关闭连接 25
4.1.4 代码实践 26
4.2 订阅与发布 28
4.2.1 PUBLISH数据包 30
4.2.2 代码实践:发布消息 31
4.2.3 订阅一个主题 32
4.2.4 代码实践:订阅主题 35
4.2.5 取消订阅 36
4.3 QoS及其最佳实践 39
4.3.1 MQTT协议中的QoS等级 39
4.3.2 QoS0 40
4.3.3 QoS1 40
4.3.4 QoS2 42
4.3.5 代码实践:使用不同的QoS发布消息 44
4.3.6 实际的Subscribe QoS 48
4.3.7 QoS的最佳实践 48
4.4 Retained消息和LWT 49
4.4.1 Retained消息 49
4.4.2 代码实践:发布和接收Retained消息 50
4.4.3 LWT 51
4.4.4 代码实践:监控Client连接状态 52
4.5 Keepalive与连接保活 54
4.5.1 Keepalive 54
4.5.2 代码实践 55
4.5.3 连接保活 57
4.6 MQTT 5.0的新特性 58
4.6.1 用户属性 59
4.6.2 共享订阅 59
4.6.3 消息过期 60
4.6.4 重复主题 60
4.6.5 Broker能力查询 60
4.6.6 双向DISCONNECT 61
4.7 本章小结 61
第5章?MQTT协议实战 62
5.1 “AI+IoT”项目实战 62
5.1.1 用TensorFlow在Android系统上进行物体识别 62
5.1.2 如何在MQTT协议里传输大文件 63
5.1.3 消息去重 64
5.1.4 最终的消息数据格式 64
5.1.5 代码实践:上传识别结果 64
5.1.6 在浏览器中运行MQTT Client 66
5.1.7 代码实践:接收识别结果 67
5.1.8 搭建私有MQTT Broker 68
5.1.9 传输层安全 69
5.2 MQTT常见问题解答 70
5.3 开发物联网应用,学会MQTT协议就够了吗 71
5.4 本章小结 72
第三部分?实战:从0搭建一个IoT平台
第6章?准备工作台 75
6.1 安装需要的组件 75
6.2 Maque IotHub的组成部分 76
6.3 项目结构 76
6.3.1 IotHub Server 77
6.3.2 IotHub DeviceSDK 77
6.4 本章小结 79
第7章?设备生命周期管理 80
7.1 设备注册 80
7.1.1 设备三元组 80
7.1.2 EMQ X的认证方式 81
7.1.3 设备接入流程 84
7.1.4 Server API:设备注册 84
7.1.5 调整EMQ X配置 87
7.1.6 修改DeviceSDK 87
7.1.7 Server API:设备信息查询 88
7.1.8 Server API:获取接入IotHub的一次性密码(JWT) 89
7.1.9 完善细节 91
7.2 设备连接状态管理 93
7.2.1 Poor man’s Solution 93
7.2.2 使用EMQ X的解决方案 94
7.2.3 管理设备的连接状态 97
7.3 设备的禁用与删除 101
7.3.1 禁用设备 101
7.3.2 删除设备 105
7.4 设备权限管理 106
7.4.1 为什么要控制Publish和Subscribe 106
7.4.2 EMQ X的ACL功能 106
7.4.3 集成EMQ X ACL 110
7.5 给IotHub加一点扩展性 111
7.5.1 EMQ X的纵向扩展 112
7.5.2 EMQ X的横向扩展 113
7.6 本章小结 114
第8章?上行数据处理 115
8.1 选择一个可扩展的方案 115
8.1.1 完全基于MQTT协议的方案 116
8.1.2 基于Hook的方案 117
8.1.3 数据格式 118
8.1.4 主题名规划 118
8.1.5 上行数据存储 118
8.1.6 通知业务系统 119
8.1.7 上行数据查询 119
8.1.8 上行数据处理流程 120
8.2 实现上行数据处理功能 120
8.2.1 DeviceSDK的功能实现 121
8.2.2 IotHub Server的功能实现 122
8.2.3 代码联调 125
8.2.4 通知业务系统 127
8.2.5 Server API历史消息查询 129
8.3 设备状态上报 130
8.3.1 设备状态 130
8.3.2 DeviceSDK的实现 131
8.3.3 IotHub Server 的实现 131
8.3.4 Server API:查询设备状态 134
8.3.5 代码联调 134
8.3.6 为何不用Retained Message 135
8.4 时序数据库 135
8.4.1 时序数据 136
8.4.2 时序数据库 136
8.4.3 收集设备连接状态变化的数据 137
8.5 本章小结 140
第9章?下行数据处理 141
9.1 选择一个可扩展的方案 142
9.1.1 完全基于 MQTT协议的方案 142
9.1.2 基于 EMQ X RESTful API的方案 143
9.1.3 下行数据格式 143
9.1.4 主题名规划 144
9.1.5 如何订阅主题 145
9.1.6 设备端消息去重 145
9.1.7 指令回复 146
9.2 DeviceSDK端的实现 146
9.2.1 消息去重 146
9.2.2 提取元数据 147
9.2.3 处理指令 148
9.2.4 回复指令 149
9.3 服务端的实现 150
9.3.1 更新ACL 列表 150
9.3.2 EMQ X发布功能 150
9.3.3 Server API:发送指令 151
9.3.4 服务器订阅 152
9.3.5 通知业务系统 154
9.3.6 代码联调 155
9.4 本章小结 158
第10章?IotHub的高级功能 159
10.1 RPC式调用 159
10.1.1 主题规划 160
10.1.2 等待指令回复 161
10.1.3 服务端实现 161
10.1.4 Server API: 发送RPC指令 163
10.1.5 更新设备ACL列表 164
10.1.6 更新服务器订阅列表 164
10.1.7 DeviceSDK端实现 165
10.1.8 代码联调 166
10.2 设备数据请求 167
10.2.1 更新设备ACL列表 168
10.2.2 服务端实现 168
10.2.3 DeviceSDK端实现 169
10.2.4 代码联调 170
10.3 NTP服务 171
10.3.1 IotHub 的 NTP 服务 172
10.3.2 DeviceSDK端实现 172
10.3.3 服务端实现 173
10.3.4 代码联调 174
10.4 设备分组 175
10.4.1 功能设计 175
10.4.2 服务端实现 177
10.4.3 DeviceSDK端实现180
10.4.4 代码联调 183
10.5 M2M设备间通信 185
10.5.1 主题名规划 185
10.5.2 服务端实现 186
10.5.3 DeviceSDK端实现 186
10.5.4 代码联调 187
10.6 OTA升级 188
10.6.1 功能设计 189
10.6.2 服务端实现 191
10.6.3 DeviceSDK端实现 194
10.6.4 代码联调 196
10.7 设备影子 199
10.7.1 什么是设备影子 199
10.7.2 设备影子的数据结构 200
10.7.3 设备影子的数据流向 200
10.7.4 服务端实现 202
10.7.5 DeviceSDK端实现 208
10.7.6 代码联调 209
10.8 IotHub 的状态监控 211
10.8.1 使用RESTful API 211
10.8.2 使用系统主题 212
10.8.3 EMQ X 的 Listener Zone 213
10.8.4 代码演示 214
10.9 本章小结 215
第11章?扩展EMQ X Broker 216
11.1 EMQ X的插件系统 217
11.1.1 Erlang语言 217
11.1.2 安装Erlang 编译工具 218
11.2 我们会用到的Erlang特性 218
11.2.1 Erlang简介 218
11.2.2 变量和赋值 219
11.2.3 特殊的 Erlang 数据类型 220
11.2.4 模式匹配 221
11.2.5 模块与函数 221
11.2.6 宏定义 222
11.2.7 OTP 222
11.3 搭建开发和编译环境 222
11.3.1 下载和编译 EMQ X222
11.3.2 使用插件模板 223
11.3.3 插件的代码结构 224
11.3.4 修改模板插件 226
11.4 实现基于RabbitMQ的Hook插件:emqx-rabbitmq-hook 227
11.4.1 代码结构 227
11.4.2 建立RabbitMQ连接和连接池 227
11.4.3 处理client.connected事件 228
11.4.4 处理client.disconnected事件 230
11.4.5 处理message.publish事件 230
11.4.6 编译插件 231
11.4.7 插件的配置文件 233
11.4.8 应用配置项 235
11.5 使用emqx-rabbitmq-hook 236
11.5.1 发布emqx-rabbitmq-hook插件 236
11.5.2 集成emqx-rabbitmq-hook 238
11.5.3 IotHub 的全新架构 239
11.6 本章小结 240
第12章?集成CoAP协议 241
12.1 CoAP协议简介 241
12.1.1 CoAP协议的消息模型 242
12.1.2 CoAP协议的请求/应答机制 243
12.1.3 CoAP OBSERVE 244
12.1.4 CoAP HTTP Gateway 244
12.2 集成CoAP协议 245
12.2.1 EMQ X的CoAP插件 245
12.2.2 CoAP 设备端代码 246
12.2.3 代码联调 247
12.2.4 CoAP协议的连接状态 247
12.3 本章小结 248
结语?我们学到了什么 249
附录?如何运行Maque IotHub 253

推荐

车牌查询
桂ICP备20004708号-3