第一章 ESP32开发指南介绍
1.ESP32开发指南主要分为
2.ESP32开发指南采用了教程+源码的学习方式
3.总结
第二章 开发板硬件介绍
1.功能特色
2.ESP32模块引脚功能分布
3.硬件开发连接
第三章 开发准备
1.硬件准备
2.软件准备
3.ESP32开发框架示意图
第四章 Windows搭建ESP32开发环境(vscode)
1.乐鑫开发框架esp-idf介绍
2.乐鑫编译工具链介绍
3.
4.搭建环境步骤
4.1.如何下载
4.2.如何安装使用
4.3.更多make指令
4.4.搭建环境总结
第五章 Ubuntu搭建ESP32开发环境(vscode)
1.Vscode安装
2.编译链操作
2.1.下载
2.2.解压
3.ESP-IDF操作
4.设置 ESP-IDF路径
5.测试以上操作是否正常完美
5.1.复制ESP-IDF中的工程到esp目录下,
5.2.配置,主要是修改串口号
5.3.编译,make all,无错误说明环境正常。
5.4.make flash下载前需要make menuconfig配置下载串口号
6.Vscode操作
6.1.打开vscode软件,打开刚才的helloworld文件夹。
6.2.Ctrl+`打开终端,输入make all编译,make flash下载。太简单了
6.3.串口监测,运行正常,ctrl+]退出串口监测
6.4.异常说明
6.5.ubuntu搭建ESP32环境(vscode)总结
第六章 新建工程
1.新建工程和编译设置
2.使用VScode编译工程
3.通过串口下载程序
4.串口监测ESP32运行情况
5.新建ESP32项目总结
第七章 编译开源一小步等ESP32源码
1.下载串口测试代码到电脑
2.配置工程
3.使用vs code打开“hx-uart”文件夹
4.编译工程
5.通过串口下载程序并监测ESP32运行情况
6.串口收发运行情况
第八章 程序下载
1.方法一:官方工具
2.方法二:IDE终端下载
3.方法三:官方编译工具链软件mingw32.exe下载
4.下载方法总结
第九章 驱动LED灯
1.学习目的及目标
2.硬件设计及原理
3.软件设计
3.1.代码逻辑
3.2.ESP32的GPIO接口介绍
3.3.代码编写
3.4.硬件连接
3.5.效果展示
4.驱动LED灯总结
第十章 ESP32的启动过程
1.目标
2.ESP32启动总流程(
3.ESP32启动详细过程(可以不看了)
3.1.第一阶段
3.2.第二阶段
3.3.第三阶段
4.ESP32启动总结
第十一章 GPIO输入按键操作
1.学习目的及目标
2.硬件设计及原理
3.软件设计
3.1.代码逻辑
3.2.ESP32的GPIO接口介绍
3.3.按键按下后松手在灯切换源码编写
3.4.按键按下红灯切换,松手绿灯切换源码编写
3.5.硬件连接
3.6.效果展示
4.按键总结
第十二章 ESP32定时器控LED灯
1.学习目的及目标
2.硬件设计及原理
3.软件设计
3.1.代码逻辑
3.2.ESP32的软定时器接口介绍
3.3.代码编写
3.4.硬件连接
3.5.效果展示
4.定时器总结
第十三章 PWM全彩LED灯显示
1.学习目的及目标
2.全彩 LED 灯简介
3.全彩 LED 灯控制原理
4.硬件设计及原理
5.软件设计
5.1.代码逻辑
5.2.ESP32的PWM(ledc)接口介绍
5.3.渐变RGB彩灯源码编写
5.4.硬件连接
5.5.效果展示
6.PWM(ledc)总结
第十四章 两个UART实验
1.学习目的及目标
2.串口通讯协议简介
2.1.物理层
2.2.协议层
3.硬件设计及原理
4.软件设计
4.1.代码逻辑
4.2.ESP32的UART接口介绍
4.3.串口收发代码编写
4.4.硬件连接
4.5.效果展示
5.UART总结
第十五章 I2C-读取温湿度
1.学习目的及目标
2.I2C通讯协议简介
2.1.协议层
3.SHT30温湿度传感器参数介绍
4.硬件设计及原理
5.软件设计
5.1.代码逻辑
5.2.ESP32的I2C master接口介绍
5.3.SHT30温度采集代码编写
5.4.硬件连接
5.5.效果展示
6.温湿度传感器总结
第十六章 I2C-OLED显示
1.学习目的及目标
2.I2C通讯协议简介
3.OLED参数介绍
4.硬件设计及原理
5.软件设计
5.1.代码逻辑
5.2.ESP32的I2C master接口介绍
5.3.OLED显示代码编写
5.4.硬件连接
5.5.效果展示
6.OLED显示总结
第十七章 ESP32的NVS测试
1.学习目的及目标
2.乐鑫NVS简介(
2.1.NVS可以保存的类型
2.2.NVS的命名空间
2.3.存储结构
3.NVS 优势(
3.1.接口更加安全
3.2.接口使用接近用户习惯
3.3.擦写均衡, 使 flash 寿命更长
4.软件设计
4.1.NVS使用逻辑
4.2.ESP32 NVS接口介绍
5.代码编写
6.效果展示
7.NVS总结
第十八章 FreeRTOS简介
1.学习目的及目标
2.FreeRTOS简介
2.1.移植容易
2.2.上手简单
2.3.资源丰富
3.FreeRTOS任务操作
3.1.创建任务函数xTaskCreate();
3.2.删除任务函数vTaskDelete();
3.3.延迟函数vTaskDelay();
3.4.返回&设置任务优先级
3.5.返回任务的状态:eTaskGetState();
3.6.任务挂起与恢复:vTaskSuspend();
3.7.挂起与恢复全部任务:vTaskSuspendAll();
3.8.获取tick计数:xTaskGetTickCount();
3.9.获取任务总数:uxTaskGetNumberOfTasks();
3.10.获取CPU空闲任务句柄:xTaskGetIdleTaskHandle();
3.11.任务通知的发送:xTaskNotify();
3.12.任务通知等待:xTaskNotifyWait();
4.FreeRTOS事件标志组
4.1.事件标志组常用API函数
5.FreeRTOS定时器组
6.FreeRTOS消息队列
6.1.消息队列常用API函数
7.FreeRTOS总结
第十九章 新建一个WIFI热点
1.学习目的及目标
2.ESP32的WiFi特点
3.软件设计
3.1.代码逻辑(
3.2.ESP32的I2C master接口介绍(
3.3.ESP32的WIFI状态机总结
3.4.状态机解析
3.5.WiFi初始化API介绍
3.6.WiFi初始化编写
3.7.作为AP的回调函数解析
4.效果展示
5.WiFi总结
第二十章 SmartConfig一键配置
1.学习目的及目标
2.WIFI设备配网方法
3.SmartConfig特点
3.1.SmartConfig实际应用场景
4.软件设计
4.1.ESP32的SmartConfig主逻辑
4.2.ESP32的SmartConfig详细过程逻辑
4.3.ESP32的SmartConfig接口介绍
4.4.ESP32的SmartConfig总结
4.5.SmartConfig任务编写
4.6.SmartConfig的回调函数解析
4.7.WiFi连接的回调函数解析
5.效果展示
6.SmartConfig总结
第二十一章 ESP32的TCP连接
1.学习目的及目标
2.TCP科普(来自百度百科)
2.1.连接建立
2.2.连接终止
3.TCP特点和流程
3.1.TCP特点:
3.2.TCP流程: (
4.TCP和UDP(下一章讲)互怼
5.软件设计
5.1.ESP32的TCP Client(Server类似)主逻辑
5.2.TCP Client的新建任务和接收任务详细过程逻辑
5.3.ESP32的TCP接口介绍
5.4.ESP32的TCP总结
5.5.TCP新建任务编写
5.6.TCP接收任务代码
5.7.TCP异常处理
6.测试流程和效果展示
6.1.测试流程
6.2.效果展示
7.TCP总结
第二十二章 ESP32的UDP广播
1.学习目的及目标
2.UDP科普(来自百度百科)
3.UDP特点和流程
3.1.UDP特点:
3.2.UDP流程: (
4.TCP团伙和UDP团伙
5.软件设计
5.1.ESP32的UDP详细过程
5.2.ESP32的UDP Client接口介绍
5.3.ESP32的UDP总结
5.4.UDP新建任务编写
5.5.UDP接收任务代码
6.测试流程和效果展示
6.1.测试流程
6.2.效果展示
7.UDP总结
第二十三章 ESP32的WebSocket服务器
1.学习目的及目标
2.WebSocket原理
2.1.为什么需要 WebSocket ?
2.2.Websocket特点
2.3.请求握手包
2.4.接收请求包
3.Websocket和HTTP连接过程
4.Websocket工作流程
5.软件设计
5.1.ESP32的Websocket详细流程
5.2.ESP32的Websocket接口介绍
5.3.Websocket新建任务编写
5.4.Websocket连接过程代码
5.5.Websocket发送代码
6.测试流程和效果展示
6.1.测试流程
6.2.效果展示
7.WebSocket总结
第二十四章 HTTP获取城市温度
1.学习目的及目标
2.HTTP原理
2.1.HTTP请求格式
2.2.HTTP 应答格式
2.3.HTTP报文格式(
3.JSON解析
4.软件设计
4.1.HTTP获取城市温度的主逻辑
4.2.ESP32的HTTP详细过程逻辑
4.3.ESP32的HTTP接口介绍
4.4.ESP32的HTTP总结
4.5.HTTP任务编写
4.6.温度数据JSON解析
5.效果展示
5.1.测试流程
5.2.效果展示
6.HTTP总结
第二十五章 ESP32的空中升级(OTA)
1.学习目的及目标
2.OTA工作过程讲解
2.1.ESP32的OTA简介(
2.2.ESP32 的 OTA 升级有三种方式:
2.3.ESP32 Flash空间分区配置
2.4.OTA 升级策略(HTTP)
2.5.保密性 Security
3.ESP32 OTA Demo升级流程和说明
3.1.升级流程
3.2.ESP32的OTA详细过程逻辑
3.3.ESP32 OTA 接口简略说明
4.软件设计
4.1.ESP32的HTTP接口介绍,同TCP接口
4.2.OTA任务编写
5.效果展示
5.1.测试流程(
5.2.效果展示
6.OTA总结
第二十六章 物联网最常用的MQTT
1.学习目的及目标
2.MQTT原理和工作过程讲解
2.1.MQTT特点
2.2.实现方式
3.Win7搭建本地MQTT服务器(
3.1.下载MQTT服务器压缩包
3.2.解压到电脑
3.3.打开终端
3.4.进入目录运行MQTT服务
3.5.测试MQTT服务器
3.6.连接MQTT服务器。
4.ESP32的MQTT软件设计
4.1.ESP32的MQTT详细过程逻辑
4.2.MQTT接口介绍
4.3.基于TCP的MQTT源码编写
5.测试效果
5.1.测试流程
5.2.效果展示
6.MQTT总结
第二十七章 MQTT自点灯
1.目标
2.乐鑫源码
3.MQTT自点灯设计
3.1.MQTT原理
3.2.ESP32的MQTT自点灯逻辑
3.3.MQTT接口介绍
3.4.基于TCP的MQTT源码编写
4.效果展示
5.MQTT总结
第二十八章 获取天气预报(https+mbedtls+json)
1.综合演练目标
2.项目知识点
2.1.免费天气预报API的选择
2.2.HTTP VS HTTPS
2.3.GET请求
2.4.加密库选择:乐鑫的库还是第三方的库
3.项目实战
3.1.
3.2.
3.3.
3.4.天气预报接口
3.5.天气预报数据解析
4.效果展示
5.HTTPS获取天气总结
第二十九章 天猫精灵控制ESP32(tcp+mbedtls+json)
1.综合演练目标
2.项目简介
2.1.开发平台及环境
2.2.服务器选择
2.3.通讯加密
2.4.语音识别选择
3.天猫精灵控制开发板对接流程
4.软件设计
4.1.ESP32 TCP连接贝壳云
4.2.源码编写
5.效果展示
5.1.测试流程
5.2.测试效果
6.天猫控制ESP32开发板总结