为你推荐
内容简介
序言
如何高效地阅读本书
01 准备篇
第1章 浅谈物联网
1.1 物联网的体系结构
1.2 物联网应用之智能家居
第2章 物联网工程项目的介绍和实战
2.1 典型的物联网工程项目介绍
2.1.1 常见物联网设备的基本模块
2.1.2 用户端应用程序基本模块
2.1.3 常见的物联网云平台简介
2.2 实战:智能照明工程
2.2.1 工程框架
2.2.2 工程功能
2.2.3 硬件准备
2.2.4 开发步骤
2.3 本章总结
第3章 ESP RainMaker介绍
3.1 什么是ESP RainMaker
3.2 ESP RainMaker的实现原理
3.2.1 Claiming服务
3.2.2 RainMaker设备侧代理程序
3.2.3 云后端
3.2.4 客户端
3.3 实战:ESP RainMaker开发要点
3.4 ESP RainMaker功能摘要
3.4.1 账户管理功能
3.4.2 对终端用户开放的功能
3.4.3 对管理员用户开放的功能
3.5 本章总结
第4章 开发环境的搭建与详解
4.1 ESP-IDF概述
4.1.1 ESP-IDF版本介绍
4.1.2 ESP-IDF Git工作流程
4.1.3 选择一个合适的版本
4.1.4 ESP-IDF SDK目录总览
4.2 ESP-IDF开发环境安装详解
4.2.1 在Linux系统下安装ESP-IDF开发环境
4.2.2 在Windows系统下安装ESP-IDF开发环境
4.2.3 在Mac系统下安装ESP-IDF开发环境
4.2.4 VS Code代码编辑工具的安装
4.2.5 第三方开发环境简介
4.3 ESP-IDF编译系统详解
4.3.1 编译系统基本概念
4.3.2 工程文件结构
4.3.3 编译系统默认的构建规范
4.3.4 编译脚本详解
4.3.5 常用命令详解
4.4 实战:Blink 示例程序编译
4.4.1 Blink示例程序分析
4.4.2 Blink示例程序的编译过程
4.4.3 Blink示例程序的烧录过程
4.4.4 Blink示例程序的串口Log分析
4.5 本章总结
02 硬件与驱动开发篇
第5章 ESP32-C3的智能照明产品的硬件设计
5.1 智能照明产品的功能及组成
5.2 ESP32-C3最小硬件系统设计
5.2.1 电源
5.2.2 上电时序与复位
5.2.3 SPI Flash
5.2.4 时钟源
5.2.5 射频及天线
5.2.6 Strapping引脚
5.2.7 GPIO和PWM功能
5.3 实战:使用ESP32-C3构建智能照明系统
5.3.1 模组选用
5.3.2 PWM信号的GPIO配置
5.3.3 固件烧录和调试接口
5.3.4 射频设计要求
5.3.5 供电电源设计要求
5.4 本章总结
第6章 驱动开发
6.1 驱动开发过程
6.2 ESP32-C3外设应用
6.3 LED驱动基础
6.3.1 色彩空间
6.3.2 LED驱动器
6.3.3 LED调光
6.3.4 PWM介绍
6.4 LED调光驱动开发
6.4.1 非易失性存储
6.4.2 LED PWM控制器
6.4.3 LED PWM编程
6.5 实战:智能照明工程中的驱动开发
6.5.1 按键驱动
6.5.2 LED调光驱动
6.6 本章总结
03 无线通信与控制篇
第7章 Wi-Fi网络配置和连接
7.1 Wi-Fi基础知识
7.1.1 什么是Wi-Fi
7.1.2 IEEE 802.11的发展历程
7.1.3 Wi-Fi相关术语
7.1.4 Wi-Fi连接的过程
7.2 蓝牙基础知识
7.2.1 什么是蓝牙
7.2.2 蓝牙相关术语
7.2.3 蓝牙连接的过程
7.3 Wi-Fi配网
7.3.1 Wi-Fi配网导读
7.3.2 SoftAP配网
7.3.3 一键配网
7.3.4 蓝牙配网
7.3.5 其他配网方式
7.4 Wi-Fi编程
7.4.1 ESP-IDF中的Wi-Fi组件
7.4.2 牛刀小试:Wi-Fi连接初体验
7.4.3 大显身手:Wi-Fi连接智能化
7.5 实战:智能照明工程中实现Wi-Fi配置
7.5.1 智能照明工程Wi-Fi连接实例
7.5.2 Wi-Fi智能化配置实例
7.6 本章总结
第8章 设备的本地控制
8.1 本地控制的介绍
8.1.1 本地控制的使用条件
8.1.2 本地控制的适用场景
8.1.3 本地控制的优势
8.1.4 通过智能手机发现被控设备
8.1.5 智能手机与被控设备的数据通信
8.2 常见的本地发现方法
8.2.1 广播
8.2.2 组播
8.2.3 广播与组播对比
8.2.4 本地发现之组播应用协议mDNS
8.3 常见的本地数据通信协议
8.3.1 TCP协议
8.3.2 HTTP协议
8.3.3 UDP协议
8.3.4 CoAP协议
8.3.5 蓝牙通信协议
8.3.6 数据通信协议总结
8.4 数据安全性的保证
8.4.1 TLS协议介绍
8.4.2 DTLS协议介绍
8.5 实战:基于ESP-IDF组件快速实现智能灯本地控制模块
8.5.1 创建基于Wi-Fi的本地控制服务器端
8.5.2 使用脚本验证本地控制功能
8.5.3 创建基于蓝牙的本地控制服务器端
8.6 本章总结
第9章 设备的云端控制
9.1 远程控制的介绍
9.2 常见的云端数据通信协议
9.2.1 MQTT协议介绍
9.2.2 MQTT协议原理
9.2.3 MQTT消息格式
9.2.4 协议对比
9.2.5 基于Windows或Linux搭建MQTT Broker
9.2.6 基于ESP-IDF创建MQTT客户端
9.3 保证MQTT数据安全性
9.3.1 证书的含义与作用
9.3.2 本地生成证书
9.3.3 配置MQTT Broker
9.3.4 配置MQTT客户端
9.4 实战:通过ESP RainMaker实现智能照明工程的远程控制
9.4.1 ESP RainMaker的基本概念
9.4.2 节点与云后端通信协议
9.4.3 客户端与云后端通信方法
9.4.4 用户体系
9.4.5 基础服务介绍
9.4.6 智能灯示例
9.4.7 RainMaker App与第三方集成
9.5 本章总结
第10章 智能手机App开发
10.1 智能手机App开发技术介绍
10.1.1 智能手机App开发概述
10.1.2 Android项目的结构
10.1.3 iOS项目的结构
10.1.4 Android Activity的生命周期
10.1.5 iOS ViewController的生命周期
10.2 新建智能手机App项目
10.2.1 Android开发的准备
10.2.2 新建Android项目
10.2.3 添加MyRainmaker项目所需的依赖
10.2.4 Android权限申请
10.2.5 iOS开发的准备
10.2.6 新建iOS项目
10.2.7 添加RainMaker所需的依赖
10.2.8 iOS权限的申请
10.3 App功能需求分析
10.3.1 项目功能需求分析
10.3.2 用户登录注册需求分析
10.3.3 设备配网和绑定需求分析
10.3.4 远程控制需求分析
10.3.5 定时需求分析
10.3.6 用户中心需求分析
10.4 用户登录注册功能的开发
10.4.1 RainMaker项目接口说明
10.4.2 智能手机如何发起通信请求
10.4.3 账号注册
10.4.4 账号登录
10.5 设备配网功能的开发
10.5.1 扫描设备
10.5.2 连接设备
10.5.3 生成私钥
10.5.4 获取设备的节点ID
10.5.5 设备配网
10.6 设备控制功能的开发
10.6.1 云端绑定账号与设备
10.6.2 获取用户的所有设备
10.6.3 获取设备当前状态
10.6.4 修改设备状态
10.7 定时功能和用户中心功能的开发
10.7.1 实现定时功能
10.7.2 实现用户中心功能
10.7.3 更多云端接口
10.8 本章总结
第11章 固件更新与版本管理
11.1 固件更新
11.1.1 分区表概述
11.1.2 固件启动流程
11.1.3 OTA升级原理概述
11.2 固件版本管理
11.2.1 固件标记
11.2.2 回滚与防回滚功能
11.3 实战:OTA升级使用示例
11.3.1 利用本地主机完成固件更新
11.3.2 利用ESP RainMaker完成固件更新
11.4 本章总结
04 优化与量产篇
第12章 电源管理和低功耗优化
12.1 ESP32-C3电源管理
12.1.1 动态调频
12.1.2 电源管理配置
12.2 ESP32-C3低功耗模式
12.2.1 Modem-sleep模式
12.2.2 Light-sleep模式
12.2.3 Deep-sleep模式
12.2.4 不同功耗模式下的功耗
12.3 电源管理和低功耗调试
12.3.1 日志调试
12.3.2 GPIO调试
12.4 实战:在智能照明工程中添加电源管理
12.4.1 配置电源管理功能
12.4.2 使用电源管理锁
12.4.3 验证功耗表现
12.5 本章总结
第13章 增强设备的安全功能
13.1 物联网设备数据安全概述
13.1.1 为什么要保护物联网设备数据的安全
13.1.2 保护物联网设备数据安全的基本要求
13.2 数据完整性保护
13.2.1 完整性校验方法简介
13.2.2 固件数据的完整性校验
13.2.3 示例
13.3 数据机密性保护
13.3.1 数据加密简介
13.3.2 Flash加密方案概述
13.3.3 存储Flash加密方案的密钥
13.3.4 Flash加密的工作模式
13.3.5 Flash加密的一般工作流程
13.3.6 NVS加密方案简介
13.3.7 Flash加密方案和NVS加密方案的示例
13.4 数据合法性的保护
13.4.1 数字签名简介
13.4.2 Secure Boot方案概述
13.4.3 软Secure Boot介绍
13.4.4 硬Secure Boot介绍
13.4.5 示例
13.5 实战:在量产中批量使用安全功能
13.5.1 Flash加密方案与Secure Boot方案的关系
13.5.2 使用量产工具批量使用Flash加密方案与Secure Boot方案
13.5.3 在智能照明系统中使用Flash加密方案与Secure Boot方案
13.6 本章总结
第14章 量产的固件烧录和测试
14.1 量产固件烧录
14.1.1 定义数据区
14.1.2 固件烧录
14.2 量产测试
14.3 实战:智能照明工程中的量产数据
14.4 本章总结
第15章 ESP Insights远程监察平台
15.1 ESP Insights组件的简介
15.2 ESP Insights组件的使用
15.2.1 在esp-insights工程中使用ESP Insights组件
15.2.2 在esp-insights工程中运行示例diagnostics_smoke_test
15.2.3 上报Coredump信息
15.2.4 定制感兴趣的日志
15.2.5 上报设备重启原因
15.2.6 上报自定义的指标值
15.3 实战:基于智能灯示例使用ESP Insights组件
15.4 本章总结
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜