【Arduino框架】ESP32中蓝牙快速上手使用~
创始人
2024-06-02 20:32:00
0

💥💥💞💞欢迎来到本博客❤️❤️💥💥
本人持续分享更多关于电子通信专业内容以及嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~

📋📋📋本文目录如下:🎁🎁🎁

    • 一. BluetoothSerial库以及内部常见函数介绍
    • 二. 代码示例

自带蓝牙是ESP32一大特点之一,本文就介绍一下如何快速通过Arduino框架使用ESP32的蓝牙功能

一. BluetoothSerial库以及内部常见函数介绍

BluetoothSerial.h是ESP32 Arduino中的蓝牙串口库,可以通过蓝牙串口与其他设备进行通信。常用的函数如下:

  1. begin:初始化蓝牙串口,必须在其他函数之前调用。
void begin(String localName = "ESP32");
  1. end:停止蓝牙串口,释放资源。
void end();
  1. available:检查是否有数据可读。
int available();
  1. read:读取一个字节的数据。
int read();
  1. write:向蓝牙串口写入一个字节的数据。
size_t write(uint8_t byte);
  1. print:向蓝牙串口写入字符串。
size_t print(const String &s);
size_t print(const char str[]);
size_t print(char c);
size_t print(unsigned char c, int base = DEC);
size_t print(int n, int base = DEC);
size_t print(unsigned int n, int base = DEC);
size_t print(double n, int digits = 2);
  1. println:向蓝牙串口写入字符串并换行。
size_t println(const String &s);
size_t println(const char str[]);
size_t println(char c);
size_t println(unsigned char c, int base = DEC);
size_t println(int n, int base = DEC);
size_t println(unsigned int n, int base = DEC);
size_t println(double n, int digits = 2);
size_t println(void);

这些函数可以帮助开发者实现蓝牙串口通信的相关操作。同时,Arduino开发环境中也提供了丰富的示例代码,可以帮助开发者快速上手使用蓝牙串口功能。

二. 代码示例

  1. 实现了 通过蓝牙一直发送hello world!
#include 
BluetoothSerial SerialBT;//ESP32 Bluetooth initialization and data transmission//Initialize the Bluetooth modulevoid setup(){ Serial.begin(9600); SerialBT.begin("ESP32"); //Set your ESP32 device name hereSerial.println("Bluetooth is ready"); }
//Sending data 
void loop(){ 
SerialBT.print("Hello World!"); 
//Send data over Bluetooth 
Serial.println("Data sent"); 
delay(1000); 
}
  1. 通过蓝牙控制一个LED的亮灭
#include 
#include 
BluetoothSerial SerialBT;//ESP32 Bluetooth initialization and data transmission//Initialize the Bluetooth module
String BTData;void setup(){ 
pinMode(2,OUTPUT); // 对应led的管脚Serial.begin(9600); SerialBT.begin("ESP32"); //Set your ESP32 device name hereSerial.println("Bluetooth is ready"); digitalWrite(2,LOW);}
//Sending data 
void CallBTData(String Data );
void loop(){ if (SerialBT.available()) {BTData = SerialBT.readStringUntil('\xff');SerialBT.println(BTData);CallBTData(BTData);  // 蓝牙事件的处理//Serial.write(SerialBT.read());}}void CallBTData(String Data ){if(Data.substring(0,3) == "OON"){Serial.println("蓝牙事件:打开LED") ;digitalWrite(2,LOW);}else if(Data.substring(0,3) == "OFF"){Serial.println("蓝牙事件:关闭LED");digitalWrite(2,HIGH);} 
}

本人持续分享更多关于电子通信专业内容以及嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...