ESP32实现蓝牙主从机连接-BluetoothSerial蓝牙库_第1页
ESP32实现蓝牙主从机连接-BluetoothSerial蓝牙库_第2页
ESP32实现蓝牙主从机连接-BluetoothSerial蓝牙库_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ESP3-BluetoothSeria蓝⽛库⼀、概述因为需要使⽤ESP32的蓝⽛功能,就看了下ESP32的BluetoothSerial蓝⽛库,例程⾥是ESP32作为从机,使⽤⼿机或者其他设备连接ESP32进⾏数据传输。但我⼜需要使⽤ESP32互连,⼀个作为主机,⼀个作为从机,就根据库敲了⼀下ESP32做主机主动连接从机的代码,就像HC05或06蓝⽛似的,实现两个蓝⽛进⾏配对,上电⾃动连接,很⽅便。使⽤的是BluetoothSerial这个蓝⽛库,函数少且简单,看相关函数名字也能知道是实现什么功能,⽽且也不需要进⾏⼴播啥的,能实现点对点连接就可以,但是库简单的同时功能也少,没有扫描函数,但问题不⼤。为什么写博客呢,因为我看⽹上没有这个库的相关介绍,弄好了就记录⼀下,万⼀以后需要⽤却找不到了,就不太好,就在这记录分享⼀下。⼆、测试代码#include<Arduino.h>#includeBluetoothSerialSerialBT;#defineMaster1 主从机模式选择1主机0从机voidBluetooth_Event(esp_spp_cb_event_tevent,esp_spp_cb_param_t*param); 蓝⽛事件回调函数uint8_taddress[6]={0x30,0x83,0x98,0xC3,0x50,0xDA};从机MAC地址不同的蓝⽛地址不同需要⾃⼰修改voidsetup(){Serial.begin(115200);SerialBT.register_callback(Bluetooth_Event);设置事件回调函数连接断开发送接收if(Master){SerialBT.begin( ,true);开启蓝⽛名称为 主机Serial.printf( );SerialBT.connect(address);Serial.printf( );}else{SerialBT.begin();开启蓝⽛名称为从机Serial.printf();}}voidloop(){if(Master)SerialBT.write('A');delay(300);}voidBluetooth_Event(esp_spp_cb_event_tevent,esp_spp_cb_param_t*param) 蓝⽛事件回调函数{||eventESP_SPP_SRV_OPEN_EVT) 蓝⽛连接成功标志{ 蓝⽛主机和从机模式对应的标志不同,前⾯的是主机模式的,后⾯是从机模式Serial.write( );}elseif(eventESP_SPP_CLOSE_EVT) 蓝⽛断开连接标志{Serial.write( );}elseif(eventESP_SPP_DATA_IND_EVT) 数据接收标志{while(SerialBT.available()){Serial.write(SerialBT.read());}Serial.write( );}elseif(eventESP_SPP_WRITE_EVT) 数据发送标志{Serial.write( );}}上⾯就是基本的代码了,可以修改Master宏定义来选择主从机模式,使⽤register_callback()函数为蓝⽛事件添加了回调函数,当连接成功、断开连接、接收数据和发送数据等事件发⽣时,会触发⾃定义的Bluetooth_Event()函数,根据事件枚举标志位来判断当前是哪种事件,使⽤串⼝打印出相关字符。代码⾥没有写连接失败后重复连接的代码,因为我发现,每次连接时间好像不太固定,差

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论