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

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

相关内容

热门资讯

结婚,娘家人去几个合适 结婚,娘家人去几个合适这个不能这样说,我结婚3年了,我父母都没去过.结婚那天是我婶婶/伯母/弟弟/妹...
陈飞宇这两年的资源这么好,是因... 陈飞宇这两年的资源这么好,是因为爸爸是陈凯歌吗?有一部分的原因是因为他爸爸但离不开她自己的努力。陈飞...
87版红楼梦的导演是谁? 87版红楼梦的导演是谁?87(红楼梦)的导演是王扶林先生。
抓不住爱的手 是谁唱的? 求歌... 抓不住爱的手 是谁唱的? 求歌手资料抓不住爱的手作曲:胡寒 英基  作词:小峰   编曲:胡寒 英基...
我追了一个女生很长时间她拒绝我... 我追了一个女生很长时间她拒绝我怎么办若值得.请继续追吧..相信自己总有一天她会感动的...真心喜欢一...
《男生贾里》的好词 《男生贾里》的好词你好:男生贾里好词许多。比如1 . 勤奋:辛勤努力2 . 刻苦:勤奋努力;不怕吃苦...
女朋友总是跟我说你喜欢就好什么... 女朋友总是跟我说你喜欢就好什么意思这样的回答是比较丧气,互动就比较困难 对吧?我碰到过两面看吧,一是...
八字在一年里有食神,有偏财,有... 八字在一年里有食神,有偏财,有七杀运气有好吗?1,八字在一年里有食神,有偏财,有七杀运气有好吗?具体...
介绍几本好看的玄幻小说。 介绍几本好看的玄幻小说。变脸武士恶魔法则猎国斗罗大陆琴帝斗破苍穹《葬徒》啊,不过要有点小耐心,不是那...
回娘家了特别想老公,在老公身边... 回娘家了特别想老公,在老公身边就想父母这是一种很常见的情感冲突,也是人生中常见的挑战之一。当你回娘家...