概述
买的成品模块,下载程序的时候按一下复位按键,哪一个是复位按键,参考
只下载一个还不够,波特率不要太低,按一下复位引脚
下载哪些bin文件,或者直接在download.config里面查看
上电后如果一直重复打印信息(USB和tx、rx引脚打印相同,都是串口0)
Brownout detector was triggered,八成是供电不足,电脑usb供不动,触发了断电探测器重启
AT指令的话连接串口2,即P16和P17,115200,8N1
返回如下图:
wifi透传模式下不能开蓝牙
关于AT指令配置,复制指令的时候注意把中文符号换成英文
蓝牙和wifi的地址不一样
AT+BLEADDR?
+BLEADDR:a4:cf:12:5d:11:ce
OK
AT+CIPSTAMAC?
+CIPSTAMAC:"a4:cf:12:5d:11:cc"
OK
开机透传模式可以只是连接到wifi,没连到TCP,也可以都连接,开机默认连上次设置wifi,默认蓝牙未初始化
下面是配置wifi连接服务器指令
AT+CWMODE=3 设置wifi模式station
AT+CWJAP="SSID","password" 连接路由
AT+CIPSTART="TCP","192.168.3.116",8080,1 作为客户端连接服务器
AT+CIPSEND=4 发送4字节数据
>test 发test
响应 SEND OK
//注意开启keep-alive功能,
下面是配置手机测试工具可以找到的蓝牙指令
AT+BLEINIT=2 //将esp32设置成蓝牙服务端
AT+BLEADVPARAM=32,64,0,0,7
AT+BLEADVDATA=“02010609094c434b4a5f424c45030302A0”
/* The adv data is
- 02 01 06 //<length>,<type>,<data>
- 09 09 4c434b4a5f424c45 //<length>,<type>,<data> LCKJ__BLE,注意长度和后面数据要对应
- 03 03 02A0 //<length>,<type>,<data>
- 09 10 55AAF008D17C175A //<length>,<type>,<data>
第一列表示长度,第二列表示命令,要将0A改成设置后的长度;
关于广播包type
AT+BLEGATTSSRVCRE //GATTS 创建服务
AT+BLEGATTSSRVSTART //GATTS 开启全部服务。
AT+BLEADVSTART //打开广播 注意每次手机和蓝牙连接再断开后,吗,模块也会关闭蓝牙,需要用需要在打开
测试电脑串口向蓝牙发数据手机收不到,手机向蓝牙发,电脑可以收到
参考1 参考2
手机连接上后,在0000a002 的0000c302特性里面进行向蓝牙发送数据
设置第 1 号服务的第 7 号 characteristic 为写通道,设置第 1 号服务的第 5 号
characteristic 为读通道
AT+BLESPPCFG=1,1,7,1,5
貌似不行
使⽤用 1 号服务的 6 号特征(0000c305)通知⻓长度为 4 的数据
AT+BLEGATTSNTFY=0,1,6,4 手机要点开始通知
如果手机测试工具连接不上,可以查看蓝牙和定位开没开,然后先用手机蓝牙连接一下,再测试工具连
蓝牙数据发送有一个注意事项:手机向蓝牙发两个字节,模块会自动加前缀+WRITE```` ,加起来刚好20个字节(注意换行符也算),然后会触发手机程序里面的GATT_INVALID_ATTR_LEN错误,错误代码参考
上述错误的解决方法是可以换一个发送通道,有的通道不会特别严格,甚至没有错误响应,比如0000c302,现在用的是0000c304
但是只有0000c302报错,用0000c303和0000c304发数据不会返回错误
手机进入接收数据通道,模块返回+WRITE:0,1,6,1,2, 所以如果蓝牙有回馈,要延时一点,否则容易和+WRITE:0,1,6,1,2,混淆
发送完数据后延时几百毫秒再进入接收通道,否则有效数据和+WRITE:0,1,6,1,2,容易粘包
GATT包含若干个Profile,一个Profile包含若干个Services,一个Service包含若干个Characteristics,一个Characteristic包含Properties字段和若干个Descriptor(可选)。
最后
以上就是大力万宝路为你收集整理的乐鑫ESP32-WROOM-32入门蓝牙数据发送有一个注意事项:手机向蓝牙发两个字节,模块会自动加前缀+WRITE```` ,加起来刚好20个字节(注意换行符也算),然后会触发手机程序里面的GATT_INVALID_ATTR_LEN错误,错误代码参考的全部内容,希望文章能够帮你解决乐鑫ESP32-WROOM-32入门蓝牙数据发送有一个注意事项:手机向蓝牙发两个字节,模块会自动加前缀+WRITE```` ,加起来刚好20个字节(注意换行符也算),然后会触发手机程序里面的GATT_INVALID_ATTR_LEN错误,错误代码参考所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复