注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络网络与数据通信ESP32-C3物联网工程开发实战

ESP32-C3物联网工程开发实战

ESP32-C3物联网工程开发实战

定 价:¥98.00

作 者: 乐鑫科技 著
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787121442971 出版时间: 2022-09-01 包装: 平装
开本: 16开 页数: 388 字数:  

内容简介

  ESP32-C3是搭载了开源指令集RISC-V的32位低功耗、低成本、安全的物联网芯片,本书也是该芯片原厂乐鑫科技的官方作品。本书从物联网工程开发的必备知识入手,循序渐进地介绍了硬件设计、外设驱动、ESP-IDF开发环境搭建、Wi-Fi网络配置、本地和云端控制、OTA升级原理、电源管理、低功耗优化、设备安全功能、固件版本管理和量产测试等方面的内容。物联网工程开发涉及的知识点很多,本书根据所涉及的知识点将全书分为4篇,分别是准备篇(第1~4章)、硬件与驱动开发篇(第5~6章)、无线通信与控制篇(第7~11章)、优化与量产篇(第12~15章),可帮助读者更好地掌握相关的知识点。

作者简介

  乐鑫科技是一家全球化的无晶圆厂半导体公司,成立于 2008 年,在中国、捷克、印度、新加坡和巴西均设有办公地,团队来自约 30 个国家和地区。乐鑫多年来深耕 AIoT 领域软硬件产品的研发与设计,专注于研发高集成、低功耗、性能卓越、安全稳定、高***的无线通信 SoC,现已发布 ESP8266、ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列芯片、模组和开发板,成为物联网应用的理想选择。我们致力于提供安全、稳定、节能的 AIoT 解决方案。同时,我们坚持技术开源,助力开发者们用乐鑫的方案开发智能产品,打造万物互联的智能世界。

图书目录

目  录
第1篇 准备篇
第1章 浅谈物联网 2
1.1 物联网的体系结构 2
1.2 物联网应用之智能家居 4
第2章 物联网工程项目的介绍和实战 6
2.1 典型的物联网工程项目介绍 6
2.1.1 常见物联网设备的基本模块 6
2.1.2 用户端应用程序基本模块 7
2.1.3 常见的物联网云平台简介 7
2.2 实战:智能照明工程 8
2.2.1 工程框架 9
2.2.2 工程功能 9
2.2.3 硬件准备 10
2.2.4 开发步骤 11
2.3 本章总结 11
第3章 ESP RainMaker介绍 12
3.1 什么是ESP RainMaker 12
3.2 ESP RainMaker的实现原理 13
3.2.1 Claiming服务 14
3.2.2 RainMaker设备侧代理程序 15
3.2.3 云后端 16
3.2.4 客户端 16
3.3 实战:ESP RainMaker开发要点 18
3.4 ESP RainMaker功能摘要 19
3.4.1 账户管理功能 19
3.4.2 对终端用户开放的功能 19
3.4.3 对管理员用户开放的功能 20
3.5 本章总结 20
第4章 开发环境的搭建与详解 21
4.1 ESP-IDF概述 21
4.1.1 ESP-IDF版本介绍 21
4.1.2 ESP-IDF Git工作流程 22
4.1.3 选择一个合适的版本 23
4.1.4 ESP-IDF SDK目录总览 23
4.2 ESP-IDF开发环境安装详解 26
4.2.1 在Linux系统下安装ESP-IDF开发环境 27
4.2.2 在Windows系统下安装ESP-IDF开发环境 29
4.2.3 在Mac系统下安装ESP-IDF开发环境 34
4.2.4 VS Code代码编辑工具的安装 35
4.2.5 第三方开发环境简介 35
4.3 ESP-IDF编译系统详解 36
4.3.1 编译系统基本概念 36
4.3.2 工程文件结构 36
4.3.3 编译系统默认的构建规范 38
4.3.4 编译脚本详解 38
4.3.5 常用命令详解 39
4.4 实战:Blink示例程序编译 40
4.4.1 Blink示例程序分析 40
4.4.2 Blink示例程序的编译过程 42
4.4.3 Blink示例程序的烧录过程 46
4.4.4 Blink示例程序的串口Log分析 46
4.5 本章总结 49
第2篇 硬件与驱动开发篇
第5章 ESP32-C3的智能照明产品的硬件设计 52
5.1 智能照明产品的功能及组成 52
5.2 ESP32-C3最小硬件系统设计 55
5.2.1 电源 58
5.2.2 上电时序与复位 58
5.2.3 SPI Flash 59
5.2.4 时钟源 59
5.2.5 射频及天线 60
5.2.6 Strapping引脚 62
5.2.7 GPIO和PWM功能 62
5.3 实战:使用ESP32-C3构建智能照明系统 63
5.3.1 模组选用 63
5.3.2 PWM信号的GPIO配置 63
5.3.3 固件烧录和调试接口 65
5.3.4 射频设计要求 67
5.3.5 供电电源设计要求 68
5.4 本章总结 68
第6章 驱动开发 70
6.1 驱动开发过程 70
6.2 ESP32-C3外设应用 71
6.3 LED驱动基础 72
6.3.1 色彩空间 72
6.3.2 LED驱动器 76
6.3.3 LED调光 76
6.3.4 PWM介绍 77
6.4 LED调光驱动开发 78
6.4.1 非易失性存储 78
6.4.2 LED PWM控制器 79
6.4.3 LED PWM编程 81
6.5 实战:智能照明工程中的驱动开发 84
6.5.1 按键驱动 84
6.5.2 LED调光驱动 85
6.6 本章总结 89
第3篇 无线通信与控制篇
第7章 Wi-Fi网络配置和连接 92
7.1 Wi-Fi基础知识 92
7.1.1 什么是Wi-Fi 92
7.1.2 IEEE 802.11的发展历程 92
7.1.3 Wi-Fi相关术语 93
7.1.4 Wi-Fi连接的过程 95
7.2 蓝牙基础知识 102
7.2.1 什么是蓝牙 102
7.2.2 蓝牙相关术语 103
7.2.3 蓝牙连接的过程 105
7.3 Wi-Fi配网 108
7.3.1 Wi-Fi配网导读 109
7.3.2 SoftAP配网 109
7.3.3 一键配网 111
7.3.4 蓝牙配网 112
7.3.5 其他配网方式 114
7.4 Wi-Fi编程 116
7.4.1 ESP-IDF中的Wi-Fi组件 116
7.4.2 牛刀小试:Wi-Fi连接初体验 117
7.4.3 大显身手:Wi-Fi连接智能化 121
7.5 实战:智能照明工程中实现Wi-Fi配置 131
7.5.1 智能照明工程Wi-Fi连接实例 132
7.5.2 Wi-Fi智能化配置实例 133
7.6 本章总结 134
第8章 设备的本地控制 135
8.1 本地控制的介绍 135
8.1.1 本地控制的使用条件 136
8.1.2 本地控制的适用场景 137
8.1.3 本地控制的优势 137
8.1.4 通过智能手机发现被控设备 137
8.1.5 智能手机与被控设备的数据通信 138
8.2 常见的本地发现方法 138
8.2.1 广播 139
8.2.2 组播 144
8.2.3 广播与组播对比 150
8.2.4 本地发现之组播应用协议mDNS 150
8.3 常见的本地数据通信协议 153
8.3.1 TCP协议 153
8.3.2 HTTP协议 158
8.3.3 UDP协议 162
8.3.4 CoAP协议 165
8.3.5 蓝牙通信协议 170
8.3.6 数据通信协议总结 175
8.4 数据安全性的保证 176
8.4.1 TLS协议介绍 178
8.4.2 DTLS协议介绍 183
8.5 实战:基于ESP-IDF组件快速实现智能灯本地控制模块 186
8.5.1 创建基于Wi-Fi的本地控制服务器端 186
8.5.2 使用脚本验证本地控制功能 190
8.5.3 创建基于蓝牙的本地控制服务器端 191
8.6 本章总结 193
第9章 设备的云端控制 194
9.1 远程控制的介绍 194
9.2 常见的云端数据通信协议 195
9.2.1 MQTT协议介绍 195
9.2.2 MQTT协议原理 195
9.2.3 MQTT消息格式 197
9.2.4 协议对比 200
9.2.5 基于Windows或Linux搭建MQTT Broker 201
9.2.6 基于ESP-IDF创建MQTT客户端 202
9.3 保证MQTT数据安全性 204
9.3.1 证书的含义与作用 205
9.3.2 本地生成证书 206
9.3.3 配置MQTT Broker 209
9.3.4 配置MQTT客户端 209
9.4 实战:通过ESP RainMaker实现智能照明工程的远程控制 211
9.4.1 ESP RainMaker的基本概念 211
9.4.2 节点与云后端通信协议 212
9.4.3 客户端与云后端通信方法 216
9.4.4 用户体系 219
9.4.5 基础服务介绍 220
9.4.6 智能灯示例 222
9.4.7 RainMaker App与第三方集成 228
9.5 本章总结 233
第10章 智能手机App开发 234
10.1 智能手机App开发技术介绍 234
10.1.1 智能手机App开发概述 234
10.1.2 Android项目的结构 235
10.1.3 iOS项目的结构 236
10.1.4 Android Activity的生命周期 237
10.1.5 iOS ViewController的生命周期 238
10.2 新建智能手机App项目 239
10.2.1 Android开发的准备 239
10.2.2 新建Android项目 239
10.2.3 添加MyRainmaker项目所需的依赖 241
10.2.4 Android权限申请 241
10.2.5 iOS开发的准备 242
10.2.6 新建iOS项目 242
10.2.7 添加RainMaker所需的依赖 243
10.2.8 iOS权限的申请 245
10.3 App功能需求分析 245
10.3.1 项目功能需求分析 245
10.3.2 用户登录注册需求分析 245
10.3.3 设备配网和绑定需求分析 247
10.3.4 远程控制需求分析 248
10.3.5 定时需求分析 248
10.3.6 用户中心需求分析 249
10.4 用户登录注册功能的开发 249
10.4.1 RainMaker项目接口说明 250
10.4.2 智能手机如何发起通信请求 250
10.4.3 账号注册 250
10.4.4 账号登录 253
10.5 设备配网功能的开发 256
10.5.1 扫描设备 257
10.5.2 连接设备 258
10.5.3 生成私钥 261
10.5.4 获取设备的节点ID 261
10.5.5 设备配网 264
10.6 设备控制功能的开发 266
10.6.1 云端绑定账号与设备 266
10.6.2 获取用户的所有设备 268
10.6.3 获取设备当前状态 271
10.6.4 修改设备状态 273
10.7 定时功能和用户中心功能的开发 275
10.7.1 实现定时功能 275
10.7.2 实现用户中心功能 278
10.7.3 更多云端接口 280
10.8 本章总结 282
第11章 固件更新与版本管理 283
11.1 固件更新 283
11.1.1 分区表概述 284
11.1.2 固件启动流程 285
11.1.3 OTA升级原理概述 287
11.2 固件版本管理 290
11.2.1 固件标记 290
11.2.2 回滚与防回滚功能 291
11.3 实战:OTA升级使用示例 292
11.3.1 利用本地主机完成固件更新 292
11.3.2 利用ESP RainMaker完成固件更新 295
11.4 本章总结 302
第4篇 优化与量产篇
第12章 电源管理和低功耗优化 304
12.1 ESP32-C3电源管理 304
12.1.1 动态调频 305
12.1.2 电源管理配置 306
12.2 ESP32-C3低功耗模式 306
12.2.1 Modem-sleep模式 307
12.2.2 Light-sleep模式 309
12.2.3 Deep-sleep模式 314
12.2.4 不同功耗模式下的功耗 315
12.3 电源管理和低功耗调试 316
12.3.1 日志调试 316
12.3.2 GPIO调试 318
12.4 实战:在智能照明工程中添加电源管理 319
12.4.1 配置电源管理功能 320
12.4.2 使用电源管理锁 321
12.4.3 验证功耗表现 322
12.5 本章总结 322
第13章 增强设备的安全功能 323
13.1 物联网设备数据安全概述 323
13.1.1 为什么要保护物联网设备数据的安全 324
13.1.2 保护物联网设备数据安全的基本要求 325
13.2 数据完整性保护 325
13.2.1 完整性校验方法简介 325
13.2.2 固件数据的完整性校验 326
13.2.3 示例 327
13.3 数据机密性保护 327
13.3.1 数据加密简介 327
13.3.2 Flash加密方案概述 329
13.3.3 存储Flash加密方案的密钥 331
13.3.4 Flash加密的工作模式 332
13.3.5 Flash加密的一般工作流程 333
13.3.6 NVS加密方案简介 334
13.3.7 Flash加密方案和NVS加密方案的示例 335
13.4 数据合法性的保护 338
13.4.1 数字签名简介 338
13.4.2 Secure Boot方案概述 339
13.4.3 软Secure Boot介绍 339
13.4.4 硬Secure Boot介绍 341
13.4.5 示例 344
13.5 实战:在量产中批量使用安全功能 346
13.5.1 Flash加密方案与Secure Boot方案的关系 346
13.5.2 使用量产工具批量使用Flash加密方案与Secure Boot方案 347
13.5.3 在智能照明系统中使用Flash加密方案与Secure Boot方案 348
13.6 本章总结 348
第14章 量产的固件烧录和测试 349
14.1 量产固件烧录 349
14.1.1 定义数据区 349
14.1.2 固件烧录 351
14.2 量产测试 352
14.3 实战:智能照明工程中的量产数据 353
14.4 本章总结 354
第15章 ESP Insights远程监察平台 355
15.1 ESP Insights组件的简介 355
15.2 ESP Insights组件的使用 358
15.2.1 在esp-insights工程中使用ESP Insights组件 358
15.2.2 在esp-insights工程中运行示例diagnostics_smoke_test 360
15.2.3 上报Coredump信息 361
15.2.4 定制感兴趣的日志 361
15.2.5 上报设备重启原因 362
15.2.6 上报自定义的指标值 362
15.3 实战:基于智能灯示例使用ESP Insights组件 365
15.4 本章总结 366
参考文献 367

本目录推荐