ESP32实现蓝牙主从机连接-BluetoothSerial蓝牙库.docx
-
资源ID:93889829
资源大小:10.99KB
全文页数:3页
- 资源格式: DOCX
下载积分:5金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
ESP32实现蓝牙主从机连接-BluetoothSerial蓝牙库.docx
ESP32实现蓝主从机连接-Blu etoothSerial蓝库、概述因为需要使ESP32的蓝功能,就看了下ESP32的BluetoothSerial蓝库,例程是ESP32作为从机,使机或者其他设备连接ESP32进数据传输。但我需要使ESP32互连,个作为主机,个作为从机,就根据库敲了下ESP32做主机主动连接从机的代 码,就像HC05或06蓝似的,实现两个蓝进配对,上电动连接,很便。使的是BluetoothSerial这个蓝库,函数少且简单,看相关函数名字也能知道是实现什么功能,且也不需要进播啥的,能实现点对点连接就可以,但是库简单的同时功能也少,没有扫描函数,但问题不。为什么写博客呢,因为我看上没有这个库的相关介绍,弄好了就记录下,万以后需要却找不到了,就不太好,就在这记录分享下。、测试代码#include <Arduino.h> #includeBluetoothSerial SerialBT;#define Master 1主 从 机 模 式 选 择 1主 机 0从 机 void Bluetooth_Event(esp_spp_cb_event_t event, esp_spp_cb_param_t *param);蓝事件回调函数uint8_t address6=0x30,0x83,0x98,0xC3,0x50,0xDA; 从 机 MAC地址不同的蓝地址不同需要修改void setup() Serial.begin(115200);SerialBT.register_callback(Bluetooth_Event); 设置事件回调函数连接 断开发送接收if(Master)SerialBT.begin(,true); 开启蓝名称为主 机 Serial.printf();SerialBT.connect(address); Serial.printf();elseSerialBT.begin();开启蓝名称为从 机 Serial.printf();void loop()if(Master) SerialBT.write('A');delay(300);void Bluetooth_Event(esp_spp_cb_event_t event, esp_spp_cb_param_t *param)蓝事件回调函数if(event = ESP_SPP_OPEN_EVT | event = ESP_SPP_SRV_OPEN_EVT)蓝连接成功标志蓝主 机 和从 机 模 式 对应的标志不同,前的是主 机 模 式 的,后是从 机 模 式 Serial.write();else if(event = ESP_SPP_CLOSE_EVT)蓝断开连接标志Serial.write();else if(event = ESP_SPP_DATA_IND_EVT)数据接收标志while(SerialBT.available()Serial.write(SerialBT.read();Serial.write();else if(event = ESP_SPP_WRITE_EVT)数据发送标志Serial.write();上就是基本的代码了,可以修改Master宏定义来选择主从机模式,使register_callback()函数为蓝事件添加了回调函数,当连 接成功、断开连接、接收数据和发送数据等事件发时,会触发定义的Bluetooth_Event()函数,根据事件枚举标志位来判断当前是哪种 事件,使串打印出相关字符。代码没有写连接失败后重复连接的代码,因为我发现,每次连接时间好像不太固定,差的有点多,后再改进。所以前这代码最好先给从机通电,再给主机通电,避免连接失败。三、总结连接从机需要从机的MAC地址,这个可以使机上的蓝串软 件查 看 。