ESP32之经典蓝牙库BluetoothSerial介绍和实例演示

2024-09-01 04:36

本文主要是介绍ESP32之经典蓝牙库BluetoothSerial介绍和实例演示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ESP32是一款功能强大的微控制器,它集成了Wi-Fi和蓝牙功能。在蓝牙应用中,ESP32可以使用经典蓝牙(也称为蓝牙低功耗BLE)进行数据传输。在Arduino IDE中,可以使用BluetoothSerial库来简化蓝牙通信的实现。本文将介绍BluetoothSerial库的使用方法,并提供一个实例演示。

1. BluetoothSerial库简介

BluetoothSerial库是Arduino环境下用于ESP32的一个库,它提供了一个简单的接口来实现经典蓝牙的串行通信。通过这个库,ESP32可以作为蓝牙设备或服务器与其他蓝牙设备进行通信。

2. 准备工作

2.1 硬件需求

  • 1个ESP32开发板
  • 1台支持蓝牙的设备(如智能手机)

2.2 软件需求

  • Arduino IDE(已安装ESP32板管理器)

3. 安装BluetoothSerial库

在Arduino IDE中,可以通过库管理器安装BluetoothSerial库:

  1. 打开Arduino IDE。
  2. 点击“工具”菜单中的“管理库…”。
  3. 在库管理器的搜索框中输入“BluetoothSerial”。
  4. 找到库后,点击“安装”。

4. 编写代码

4.1 ESP32作为蓝牙设备

以下是一个示例代码,展示如何使ESP32作为蓝牙设备,接收来自其他蓝牙设备的数据。

#include "BluetoothSerial.h"BluetoothSerial ESP_BT;void setup() {Serial.begin(115200);ESP_BT.begin("ESP32Test"); // 初始化蓝牙设备,设置设备名为"ESP32Test"Serial.println("The device started, now you can pair it with bluetooth!");
}void loop() {if (ESP_BT.available()) {String received = ESP_BT.readString(); // 读取数据Serial.print("Received: ");Serial.println(received);}
}

4.2 ESP32作为蓝牙服务器

以下是一个示例代码,展示如何使ESP32作为蓝牙服务器,发送数据到其他蓝牙设备。

#include "BluetoothSerial.h"BluetoothSerial ESP_BT;void setup() {Serial.begin(115200);ESP_BT.begin("ESP32Server"); // 初始化蓝牙服务器,设置设备名为"ESP32Server"Serial.println("The server started, now you can connect to it!");
}void loop() {if (ESP_BT.available()) {String received = ESP_BT.readString();Serial.print("Received: ");Serial.println(received);}// 每隔一秒发送一次数据static unsigned long lastTime = 0;if (millis() - lastTime > 1000) {lastTime = millis();ESP_BT.println("Hello from ESP32!");Serial.println("Sent: Hello from ESP32!");}
}

5. 测试

5.1 配对设备

使用智能手机或其他蓝牙设备搜索蓝牙设备,找到名为“ESP32Test”或“ESP32Server”的设备,并进行配对。

5.2 接收和发送数据

  • 对于作为设备的示例,打开智能手机上的蓝牙串口通信应用(如“蓝牙串口客户端”),连接到ESP32。
  • 对于作为服务器的示例,确保智能手机已经连接到ESP32。
  • 在智能手机的蓝牙串口通信应用中输入文本,并观察ESP32是否能够接收并显示。
  • 在ESP32的串口监视器中查看发送的数据是否正确显示在智能手机上。

6. 结论

通过使用BluetoothSerial库,ESP32可以轻松实现经典蓝牙的通信功能。无论是作为蓝牙设备还是服务器,ESP32都能够与其他蓝牙设备进行数据交换。本文提供的示例代码可以帮助你快速开始使用ESP32进行蓝牙通信。

请注意,实际应用中可能需要根据具体的硬件和需求进行调整。希望这些信息能帮助你更好地开发基于ESP32的蓝牙应用。

✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进

❤欢迎关注我的知乎:对error视而不见

代码获取、问题探讨及文章转载可私信。

☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。

🍎获取更多嵌入式资料可点击链接进群领取,谢谢支持!👇

点击领取更多详细资料

这篇关于ESP32之经典蓝牙库BluetoothSerial介绍和实例演示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125956

相关文章

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP