【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);} 
}

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

相关内容

热门资讯

Python|位运算|数组|动... 目录 1、只出现一次的数字(位运算,数组) 示例 选项代...
张岱的人物生平 张岱的人物生平张岱(414年-484年),字景山,吴郡吴县(今江苏苏州)人。南朝齐大臣。祖父张敞,东...
西游西后传演员女人物 西游西后传演员女人物西游西后传演员女人物 孙悟空 六小龄童 唐僧 徐少华 ...
名人故事中贾岛作诗内容简介 名人故事中贾岛作诗内容简介有一次,贾岛骑驴闯了官道.他正琢磨着一句诗,名叫《题李凝幽居》全诗如下:闲...
和男朋友一起优秀的文案? 和男朋友一起优秀的文案?1.希望是惟一所有的人都共同享有的好处;一无所有的人,仍拥有希望。2.生活,...
戴玉手镯的好处 戴玉手镯好还是... 戴玉手镯的好处 戴玉手镯好还是碧玺好 女人戴玉?戴玉好还是碧玺好点佩戴手镯,以和田玉手镯为佳!相嫌滑...
依然什么意思? 依然什么意思?依然(汉语词语)依然,汉语词汇。拼音:yī    rán基本解释:副词,指照往常、依旧...
高尔基的散文诗 高尔基的散文诗《海燕》、《大学》、《母亲》、《童年》这些都是比较出名的一些代表作。
心在飞扬作者简介 心在飞扬作者简介心在飞扬作者简介如下。根据相关公开资料查询,心在飞扬是一位优秀的小说作者,他的小说作...
卡什坦卡的故事赏析? 卡什坦卡的故事赏析?讲了一只小狗的故事, 我也是近来才读到这篇小说. 作家对动物的拟人描写真是惟妙...
林绍涛为简艾拿绿豆糕是哪一集 林绍涛为简艾拿绿豆糕是哪一集第三十二集。 贾宽认为是阎帅间接导致刘映霞住了院,第二天上班,他按捺不...
小爱同学是女生吗小安同学什么意... 小爱同学是女生吗小安同学什么意思 小爱同学,小安同学说你是女生。小安是男的。
内分泌失调导致脸上长斑,怎么调... 内分泌失调导致脸上长斑,怎么调理内分泌失调导致脸上长斑,怎么调理先调理内分泌,去看中医吧,另外用好的...
《魔幻仙境》刺客,骑士人物属性... 《魔幻仙境》刺客,骑士人物属性加点魔幻仙境骑士2功1体质
很喜欢她,该怎么办? 很喜欢她,该怎么办?太冷静了!! 太理智了!爱情是需要冲劲的~不要考虑着考虑那~否则缘...
言情小说作家 言情小说作家我比较喜欢匪我思存的,很虐,很悲,还有梅子黄时雨,笙离,叶萱,还有安宁的《温暖的玄》 小...
两个以名人的名字命名的风景名胜... 两个以名人的名字命名的风景名胜?快太白楼,李白。尚志公园,赵尚志。
幼儿教育的代表人物及其著作 幼儿教育的代表人物及其著作卡尔威特的《卡尔威特的教育》,小卡尔威特,他儿子成了天才后写的《小卡尔威特...
海贼王中为什么说路飞打凯多靠霸... 海贼王中为什么说路飞打凯多靠霸气升级?凯多是靠霸气升级吗?因为之前刚到时确实打不过人家因为路飞的实力...
运气不好拜财神有用吗运气不好拜... 运气不好拜财神有用吗运气不好拜财神有没有用1、运气不好拜财神有用。2、拜财神上香前先点蜡烛,照亮人神...