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

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

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

    • 一. 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);} 
}

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

相关内容

热门资讯

夏日寒风余波危中有机,风险释放... (来源:张忆东、周林泓 张忆东策略世界)一、重要数据及市场观点更新(一...
别被这种病盯上,转给爱喝咖啡、... 天天喝咖啡、奶茶小心被这种病盯上俯身捡个东西,腰一下就“闪”了打个喷嚏,却背痛了好几天明明只是轻轻一...
少年自幼失双亲,伯父托起他的大...     7月25日,刘威在打工的餐饮店附近接受记者采访。  湖南省岳阳县毛田镇南冲村,坐落于湘鄂交界...
闲置厂房屋顶变身“阳光电站”     5G产业园一期光伏项目。    受访者 供图  三湘都市报7月26日讯 三伏天工厂车间空调、...
AI算力紧平衡状态未解   7月以来,科技板块有所调整,背后有多重驱动因素:Meta出售闲置算力引发海外市场“资本开支见顶”...