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

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

相关内容

热门资讯

什么是友谊的定义? 什么是友谊的定义?君子之交淡如水朋友没有定义,和你义气相投的就是你的朋友!
君子兰夏季养护方法 君子兰夏季养护方法 君子兰 夏季养护时,需要将其放在散光充足的环境中,以免强光灼伤叶片,也需...
介绍一下巴萨飞翼阿尔维斯。 介绍一下巴萨飞翼阿尔维斯。一个边前锋。具有边前卫技术的边后卫,在巴萨阵中经常作为边锋使用的边后卫~我...
用名字做一副对联 用名字做一副对联爷爷八十生日,想写副含他名字的对联送给他,请各位大神帮帮忙,爷爷名字是仕仁,希望是比...
请问魔幻手机第二部什么时候开放 请问魔幻手机第二部什么时候开放知道的请告诉下我`我好想看`谢谢`2009年2月份开机,2009年10...
穿越电视剧 宫 的原版小说是什... 穿越电视剧 宫 的原版小说是什么穿越电视剧 宫 的原版小说是什么我的野蛮王妃
如果男人敢背叛感情,多年以后通... 如果男人敢背叛感情,多年以后通常会有哪种结局?多年以后男人结局并不会特别的好,很多时候他们都会后悔的...
有个男人说他从来不看电视,只看... 有个男人说他从来不看电视,只看电影。他是什么性格?以前吵架时,那种无处可去的茫然与痛苦,女人有个自己...
一字之差,劳动关系和劳务关系大... 转自:中国妇女报  □ 吴亚轩  宋涛是通达公司的员工,因其公司不承认与自己存在劳动关系,导致其相应...
稻果飘香两岸情 转自:团结报  □ 张 璐  仲夏时节,走进广东广州从化区太平镇井岗村,鲜红欲滴的井岗红糯荔枝压弯枝...