ESP32相关知识点

1.vs code代码回退到上一步:
方法1:在Windows中可以使用快捷键“Alt+←”实现
方法2:利用vs code界面操作,Go-Back

Windows 命令行下的 ESP-IDF编译下载工程代码的方法
(1).打开ESP-IDF 4.4 CMD界面窗口
(2).利用命令行进入工程文件目录,例如工程文件:C:\projects\hello_world(目录位置),输入cd C:\projects\hello_world 回车
在这里插入图片描述
(3).命令行
idf.py set-target ESP32 (设置目标ESP32器件)
idf.py menuconfig (配置SDK)
idf.py build (编译工程代码)
idf.py flash -p COM13 (向指定端口下载代码)
idf.py monitor -p COM13 (指定端口打印调试信息)
CTRL+](键盘按键)
idf.py creat-project (工程名) (创建新工程)

在这里插入图片描述

2.设置vs code下ESP-IDF Monitor Device的波特率。
步骤Manage-New Code update available------Command Palette 弹出对话框 搜索或选择:ESP-IDF:SDK Configuration editor(menuconfig) ,点击后弹出配置的界面:找到’idf.py monitor baud rate这一栏,即可设置波特率。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.VS Code头文件下有波浪线,点击进入不了文件。
方法1:进入Command Palette 弹出对话框,搜索或者选择ESP-IDF:Add vscode configuration folder即可。
在这里插入图片描述
方法2:进入Command Palette 弹出对话框,搜索或者选择C/C++:Edit Configurations(JSON)弹出
c_cpp_properties.json文件,在’includePath’下加入头文件实际的存储位置即可。
在这里插入图片描述
4.vs code中嵌入ESP_IDF编译环境编译出现错误,显示No such file or directory解决方法,在对应的.c文件中修改CMakeList.txt文件,添加对应.h文件的.c文件名到idf_component_register中或者是对应.h文件的文件实际存储位置。
在这里插入图片描述
在这里插入图片描述
5.蓝牙Beacom信标广播的原理
UUID定义
在这里插入图片描述
Beacom信标广播中的eddystone传输在LL(链路层)中
在这里插入图片描述
在这里插入图片描述
广播包格式,如图所示
在这里插入图片描述
Adv Data的数据定义
在这里插入图片描述
Adv Data数据类型的定义
在这里插入图片描述
beacom信标广播eddystone接收的主要流程:
注册gap回调函数----gap设置扫描参数----扫描参数设置完成事件(回调)----扫描开始完成事件(回调)—扫描结果事件(回调)----寻找事件类型—查询结果—解析eddystone数据包—UID或URL或TLM/ETLM或EID

beacom信标广播eddystone发送的主要流程:
注册gap回调函数----合成ADV的UID(或URL或TLM等)数据包----将合成的UID数据内容和长度赋值到adv_data结构体中的服务数据变量中-----gap配置adv_data数据参数-----adv_data设置完成事件(回调)----gap开始adv_data广播

6.GATT相关流程
ATT属性和GATT通用属性的概念
在这里插入图片描述
GATT服务端初始化和GATT客户端初始化
在这里插入图片描述
GATT服务端和GATT客户端通信
在这里插入图片描述
GATTS回调流程
在这里插入图片描述
GATTC回调流程
在这里插入图片描述
GAP事件回调客户端
在这里插入图片描述
在这里插入图片描述
服务属性表
在这里插入图片描述
7.SMP安全配对绑定
配对流程
在这里插入图片描述
认证要求
在这里插入图片描述
IO能力
在这里插入图片描述
配对方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
SMP相关初始化
在这里插入图片描述
设置安全配置参数
在这里插入图片描述
SMP服务端GATT回调
在这里插入图片描述
SMP服务端GATT回调流程:
(1).注册APP–设置设备名–开启本地加密–创建属性表
(2).创建属性表–记录属性表句柄–开启服务
(3).等待虚拟连接–(若有虚拟连接)设置安全连接认证要求

SMP服务端GAP回调
在这里插入图片描述
SMP服务端GAP回调流程:
(1).开启本地加密完成–配置广播数据扫描响应数据–设置广播数据设置广播扫描响应–开始广播–开始广播完成–打印
(2).(若客户端连接,则客户端会发送安全请求)–服务端授予安全请求访问权限
(3).客户端和服务端交换认证要求–密钥显示通知或数字比较请求或OOB请求或密钥请求,其中OOB请求和密钥请求是输入六位的数字
(4).认证完成(密钥)–判断认证状态–打印绑定设备地址–密钥分发事件(客户端发来密钥)–打印密钥类型

SMP客户端GATT回调
在这里插入图片描述
SMP客户端GATT回调流程:
(1).注册APP–开启本地加密(跳转到GAP层)–开启本地加密完成–设置扫描参数–设置扫描参数完成–开始扫描
(2).GAP层,开始扫描完成–扫描结果事件–设备名匹配–(若匹配成功)停止广播–发起虚拟连接
(3).发起虚拟连接之后会创建虚拟连接–记录对方设备地址–发送最大传输单元
(4).(最大传输单元传输成功)配置最大传输单元–本地获取服务
(5).服务发现结果–记录开始和结束句柄–服务发现完成–获取特征属性表–注册通知–注册通知完成–写入指定通知的特征描述符

SMP客户端GAP回调
在这里插入图片描述
模拟IO功能
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qizhi321123/article/details/128700846