书籍详情

从零开始学ESP32物联网应用开发

从零开始学ESP32物联网应用开发

作者:康玮剑

出版社:清华大学出版社

出版时间:2025-03-01

ISBN:9787302681519

定价:¥89.80

购买这本书可以去
内容简介
  《从零开始学ESP32物联网应用开发》结合50个实践案例和2个综合实战项目,详细介绍ESP32从入门到进阶提升的全方位知识,涵盖ESP32物联网应用开发的基础知识、通信技术和网络编程等相关内容。《从零开始学ESP32物联网应用开发》免费提供程序源代码、100分钟配套教学视频、教学PPT和开发工具等超值学习资源,以方便读者学习和实践。《从零开始学ESP32物联网应用开发》共11章,分为4篇。第1篇基础知识,主要介绍ESP32硬件基础知识、ESP-IDF开发环境搭建、ESP32外设驱动控制、FreeRTOS实时操作系统等;第2篇通信技术,主要介绍Wi-Fi编程(基础知识、Wi-Fi扫描、Wi-Fi Station模式、Wi-Fi Soft-AP模式、ESP-NOW通信)、Wi-Fi配网(Smart Config配网、Soft-AP配网、BluFi配网、配网失败的解决方法)、蓝牙通信(基础知识、蓝牙广播、蓝牙扫描、GAP通用访问控制、GATT通用属性控制);第3篇网络编程,主要介绍网络传输(网络接口、IP地址、TCP通信、UDP通信)、网络应用(HTTP/HTTPS客户端应用、MQTT客户端应用、OTA应用);第4篇项目实战,主要介绍基于Wi-Fi技术的智能灯泡和基于蓝牙技术的指纹密码锁两个综合项目的实现。《从零开始学ESP32物联网应用开发》内容丰富,讲解循序渐进,操作步骤详细,源码解析透彻,适合ESP32物联网应用开发的入门与进阶读者阅读,也适合相关从业人员参考,还适合培训机构和高等院校的相关专业作为教材。
作者简介
  康玮剑, 某知名科技公司软件总监,CSDN博客专家。全网粉丝超过10万。有10多年的软硬件开发经验。先后担任联发科技股份有限公司系统工程师、厦门斯坦道科学仪器股份有限公司嵌入式主管与物联网研究院副院长、厦门历思科技服务有限公司软件总监。长期从事嵌入式、物联网和云计算等领域的研发工作。工作期间技术成果丰硕,申请了多个发明专利,拥有多项软件著作权。目前致力于智能科学仪器的升级与赋能,以及物联网领域的知识探索与分享。
目录
 
第1篇  基础知识
第1章  ESP32硬件概述 2
1.1  ESP32系列对比 2
1.2  ESP32-C3简介 3
1.3  ESP32-C3开发板简介 4
第2章  搭建开发环境 7
2.1  开发方式对比 7
2.2  搭建ESP-IDF开发环境 8
2.2.1  安装Visual Studio Code 9
2.2.2  安装Espressif IDF 9
2.2.3  配置ESP-IDF 10
2.2.4  安装ESP-IDF 10
2.3  Hello World示例程序 12
2.3.1  创建工程 12
2.3.2  配置工程 13
2.3.3  编译源码 15
2.3.4  下载固件 16
2.3.5  日志分析 18
2.3.6  快捷按钮 20
第3章  外设驱动控制 21
3.1  GPIO应用 21
3.1.1  GPIO简介 21
3.1.2  GPIO的常用函数 22
3.1.3  实践:通过GPIO监听按键 23
3.1.4  实践:通过GPIO控制LED亮灭 25
3.2  ADC应用 28
3.2.1  ADC简介 28
3.2.2  ADC的常用函数 29
3.2.3  实践:通过ADC读取实现光线强度检测 30
3.3  RTC应用 33
3.3.1  RTC简介 33
3.3.2  RTC的常用函数 33
3.3.3  实践:设置和获取RTC时间 34
3.4  UART通信 37
3.4.1  UART简介 37
3.4.2  UART的常用函数 37
3.4.3  实践:通过UART串口与计算机通信 38
3.5  I2C通信 41
3.5.1  I2C简介 42
3.5.2  I2C的常用函数 42
3.5.3  实践:通过I2C接口实现温度和湿度检测 43
3.6  SPI通信 46
3.6.1  SPI简介 46
3.6.2  SPI的常用函数 46
3.6.3  实践:通过SPI接口实现外部存储模块的读写 47
3.7  RMT应用 54
3.7.1  RMT简介 54
3.7.2  RMT的常用函数 54
3.7.3  实践:通过RMT接口实现RGB LED灯带控制 55
3.8  NVS应用 58
3.8.1  NVS简介 58
3.8.2  NVS的常用函数 58
3.8.3  实践:从NVS中读写8位有符号的整数 59
3.8.4  实践:从NVS中读写自定义结构体 62
第4章  RTOS入门 64
4.1  FreeRTOS概述 64
4.1.1  FreeRTOS简介 64
4.1.2  ESP-IDF版本的FreeRTOS 65
4.2  任务管理 65
4.2.1  任务管理简介 65
4.2.2  任务状态简介 66
4.2.3  任务管理的常用函数 66
4.2.4  实践:任务挂起和恢复 67
4.3  任务的优先级和调度 70
4.3.1  任务的优先级简介 70
4.3.2  任务的调度策略简介 70
4.3.3  实践:高优先级任务抢占低优先级任务 71
4.4  队列 76
4.4.1  队列简介 76
4.4.2  队列的常用函数 76
4.4.3  实践:基于队列的中断与任务间的通信 77
4.5  信号量 79
4.5.1  信号量简介 80
4.5.2  信号量的常用函数 80
4.5.3  实践:基于信号量实现同步功能 80
4.5.4  实践:基于互斥锁的资源操作保护 83
4.5.5  实践:通过信号量实现互斥功能导致优先级反转 86
4.5.6  实践:通过互斥锁优先级继承机制解决优先级反转 90
4.6  软件定时器 92
4.6.1  软件定时器简介 92
4.6.2  软件定时器的常用函数 93
4.6.3  实践:单次触发和自动重载定时器 93
第2篇  通信技术
第5章  Wi-Fi编程 98
5.1  Wi-Fi基础知识 99
5.1.1  Wi-Fi的相关术语 99
5.1.2  基于ESP32的Wi-Fi功能 99
5.1.3  基于ESP32的Wi-Fi模式 100
5.1.4  基于ESP32的Wi-Fi编程流程 101
5.1.5  基于ESP32的Wi-Fi初始化流程 102
5.1.6  基于ESP32的Wi-Fi初始化常用函数 103
5.2  Wi-Fi扫描 103
5.2.1  Wi-Fi扫描简介 103
5.2.2  Wi-Fi扫描的常用函数 103
5.2.3  实践:异步扫描所有的Wi-Fi AP接入点 105
5.2.4  实践:同步扫描指定的Wi-Fi AP接入点 108
5.3  Wi-Fi Station模式 108
5.3.1  Wi-Fi Station模式简介 108
5.3.2  Wi-Fi Station模式的常用函数 109
5.3.3  实践:以Wi-Fi Station模式连接AP接入点 109
5.4  Wi-Fi Soft-AP模式 114
5.4.1  Wi-Fi Soft-AP模式简介 114
5.4.2  Wi-Fi Soft-AP模式的常用函数 114
5.4.3  实践:以Wi-Fi Soft-AP模式开启AP接入点 114
5.5  ESP-NOW通信 119
5.5.1  ESP-NOW简介 119
5.5.2  ESP-NOW的常用函数 119
5.5.3  实践:基于ESP-NOW实现两个ESP32互相通信 120
第6章  Wi-Fi配网 126
6.1  Smart Config配网 126
6.1.1  Smart Config简介 126
6.1.2  Smart Config的常用函数 127
6.1.3  实践:基于Smart Config技术的EspTouch V2类型的Wi-Fi配网 128
6.1.4  实践:基于Smart Config技术的Airkiss类型的Wi-Fi配网 133
6.2  Soft-AP配网 135
6.2.1  Soft-AP配网简介 135
6.2.2  Soft-AP配网的常用函数 136
6.2.3  实践:基于Soft-AP的Wi-Fi配网 136
6.3  BluFi配网 143
6.3.1  BluFi配网简介 143
6.3.2  BluFi的常用函数 144
6.3.3  实践:基于BluFi的Wi-Fi配网 144
6.4  Wi-Fi配网失败的常见问题与解决办法 153
6.4.1  Wi-Fi配网失败的常见问题 154
6.4.2  实践:Wi-Fi连接失败的解决办法 155
6.4.3  实践:距离Wi-Fi接入点太远的解决办法 157
6.4.4  实践:不支持5GHz的解决办法 159
6.4.5  实践:找不到Wi-Fi接入点的解决办法 160
6.4.6  实践:Wi-Fi密码错误的解决办法 162
第7章  蓝牙通信 165
7.1  蓝牙基础知识 165
7.1.1  ESP Bluetooth架构 165
7.1.2  ESP Bluetooth Controller简介 165
7.1.3  ESP Bluetooth Hosts简介 166
7.1.4  ESP Bluetooth Profiles简介 167
7.1.5  ESP Bluetooth Application简介 167
7.1.6  ESP Bluetooth初始化流程 167
7.2  信标 168
7.2.1  信标箱简介 168
7.2.2  蓝牙广播和扫描的常用函数 169
7.2.3  实践:基于Beacon技术实现室内定位功能 169
7.2.4  实践:基于Beacon技术实现电子围栏功能 171
7.3  GAP通用访问控制 175
7.3.1  GAP简介 175
7.3.2  GAP的常用函数 176
7.3.3  实践:基于GAP实现蓝牙请求配对连接 176
7.4  GATT通用属性控制 182
7.4.1  GATT简介 182
7.4.2  GATT的常用函数 183
7.4.3  实践:基于GATT实现蓝牙通信 183
第3篇  网络编程
第8章  网络传输 194
8.1  网络接口简介 194
8.1.1  Socket简介 194
8.1.2  Sockets API的常用函数 194
8.2  IP地址 196
8.2.1  IP地址简介 197
8.2.2  ESP-NETIF的常用函数 197
8.2.3  实践:通过IP事件处理程序获取IP地址 199
8.2.4  实践:通过ESP-NETIF接口获取IP地址 199
8.2.5  实践:在Station模式下通过ESP-NETIF接口设置IP地址 200
8.2.6  实践:在Soft-AP模式下通过ESP-NETIF接口设置IP地址 203
8.2.7  实践:修改Soft-AP模式下默认的IP地址 206
8.3  TCP通信 208
8.3.1  TCP简介 208
8.3.2  TCP Sockets的常用函数 209
8.3.3  实践:ESP32作为TCP客户端与服务端通信 210
8.3.4  实践:ESP32作为TCP服务端与客户端通信 215
8.4  UDP通信 220
8.4.1  UDP简介 220
8.4.2  UDP Sockets的常用函数 220
8.4.3  实践:基于ESP32实现UDP通信和数据传输 221
第9章  网络应用 226
9.1  HTTP/HTTPS客户端应用 226
9.1.1  HTTP/HTTPS简介 226
9.1.2  HTTP/HTTPS客户端的常用函数 227
9.1.3  实践:基于esp_http_client实现HTTP客户端请求 228
9.1.4  实践:基于esp_http_client实现HTTPS客户端请求 234
9.2  MQTT客户端应用 234
9.2.1  MQTT简介 234
9.2.2  MQTT客户端的常用函数 235
9.2.3  实践:基于ESP32实现MQTT客户端连接MQTT代理服务器 236
9.3  OTA应用 243
9.3.1  OTA简介 243
9.3.2  HTTPS OTA的常用函数 243
9.3.3  实践:基于esp_https_ota实现远程固件升级 245
9.3.4  实践:基于esp_https_ota和HTTP/HTTPS实现设备主动升级 248
9.3.5  实践:基于esp_https_ota和MQTT实现云端触发升级 252
第4篇  项目实战
第10章  基于Wi-Fi技术的智能灯泡项目实战 258
10.1  智能灯泡的实现步骤 259
10.1.1  阿里云物联网平台准备工作 259
10.1.2  ESP32固件烧录并运行程序 263
10.2  智能灯泡功能演示 264
10.2.1  BluFi配网演示 264
10.2.2  在阿里云物联网平台上在线调试设备演示 265
10.2.3  通过微信小程序调试设备演示 267
10.2.4  其他功能演示 269
10.3  智能灯泡的ESP32程序源码解析 269
10.3.1  智能灯泡的系统架构 270
10.3.2  阿里云物联网设备身份安全认证 270
10.3.3  使用MQTT接入阿里云物联网平台 271
10.3.4  属性上报云端 273
10.3.5  云端远程控制 274
10.3.6  彩色灯泡控制与断电记忆 275
10.3.7  按键的长按和短按 276
10.3.8  其他功能源码解析 277
10.4  企业项目管理与量产 277
10.4.1  企业项目管理 277
10.4.2  开发调试环节的固件烧录 278
10.4.3  小批量内测环节的固件烧录 279
10.4.4  大批量生产环节的固件烧录 279
第11章  基于蓝牙技术的指纹密码锁项目实战 281
11.1  指纹密码锁实现步骤 282
11.1.1  硬件原理和接线方式 282
11.1.2  指纹密码锁的使用说明 284
11.1.3  ESP32固件烧录并运行程序 286
11.2  指纹密码锁功能演示 286
11.2.1  键盘功能演示 286
11.2.2  指纹功能演示 289
11.2.3  微信小程序功能演示 289
11.2.4  其他功能演示 291
11.3  指纹密码锁的ESP32程序源码解析 291
11.3.1  系统架构 291
11.3.2  矩阵键盘扫描 292
11.3.3  指纹模块管理 294
11.3.4  场景切换处理 300
11.3.5  蓝牙钥匙功能 301
11.3.6  其他功能解析 303
 
猜您喜欢

读书导航