【Arduino框架】ESP32中蓝牙快速上手使用~

这篇具有很好参考价值的文章主要介绍了【Arduino框架】ESP32中蓝牙快速上手使用~。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

自带蓝牙是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.h>
BluetoothSerial SerialBT;

//ESP32 Bluetooth initialization and data transmission

//Initialize the Bluetooth module
 void setup(){ 
 Serial.begin(9600); 
 SerialBT.begin("ESP32"); //Set your ESP32 device name here
 Serial.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 <Arduino.h>
#include <BluetoothSerial.h>
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 here
 Serial.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);
   
        } 
}

本人持续分享更多关于电子通信专业内容以及嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~文章来源地址https://www.toymoban.com/news/detail-446067.html

到了这里,关于【Arduino框架】ESP32中蓝牙快速上手使用~的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 快速入门ESP32——开发环境配置Arduino IDE

     最近这段时间刚好在捣鼓ESP32,遇到了挺多大大小小的坑,所以我将自己的配置过程和注意要点写出来分享给大家,希望对你们有帮助。  ESP32系列单片机可以用 MicroPython 和 C ++进行编程,在这里我主要介绍C++编程语言下的两种常用的开发环境: Arduino IDE :Arduino 相信很多

    2024年02月03日
    浏览(51)
  • Arduino下如何快速安装esp32库,一分钟搞定!!

            对于很多要使用esp32的新手来说,都需要在自己的编辑器的环境下安装esp32库,网上对于在Arduino下的安装esp32库主要有三种:        第一种:添加库地址下载,这种最简单,但需要科学上网,对于大多数人来说是很不方便的。        第二种:离线式下载,将安装包

    2024年02月11日
    浏览(44)
  • ESP32 Arduino框架入门(二)外部中断和TouchPad(电容触摸引脚)

    接ESP32 Arduino框架入门(一)介绍和工程创建(8条消息) ESP32 Arduino框架入门(一)介绍和工程创建_长谷深风灯盏的博客-CSDN博客_arduino的esp32软件系统架构        接下来继续介绍ESP32-Wroom-32E的外部引脚、中断、定时器等部分内容         ESP32的外部引脚功能有ADC,GPIO,

    2024年02月10日
    浏览(44)
  • ESP32与Xbox手柄的UART通信测试,基于Arduino框架和pyserial+pygame

    这个项目的目标是实现使用手柄来控制ESP32。最近正在进行无人机项目,但是由于没有适合的遥控器来控制四轴,画板子也有些占用时间,所以比较有效的方法就是基于手头有的Xbox手柄来进行一个DIY,在手柄与ESP32之间建立串口通信。此处使用PC作为中继,可能速度有些慢,但

    2023年04月08日
    浏览(47)
  • 【ESP32】arduino中的ESP32实时系统FreeRTOS使用教程(一)

    简单的本节略过,详细的可以看视频:单片机ESP32上的FREERTOS这个作者讲的挺好的,通俗易懂 FreeRTOS中的任务有运行态、就绪态、阻塞态、挂起态四种状态,在任何时候都只处于其中一种状态。任务状态之间的转换如下图所示: 每一个任务都会有一个任务优先级,其范围为

    2023年04月15日
    浏览(43)
  • 【ESP32之旅】ESP32C3 Arduino库使用方法

    目前官方已经支持了ESP32C3 的部分功能,可以在其官方wiki中看到: 官方提供了两个版本的安装连接,release和Dev。其中Release为稳定发布版本,Dev版本则支持更多的新特性。 Stable release link: Development release link: 安装方法也非常简单,打开Arduino IDE 然后在 文件 - 首选项 : 在附加

    2024年02月02日
    浏览(51)
  • ESP32 Arduino(十二)lvgl移植使用

    LVGL全程LittleVGL,是一个轻量化的,开源的,用于嵌入式GUI设计的图形库。并且配合LVGL模拟器,可以在电脑对界面进行编辑显示,测试通过后再移植进嵌入式设备中,实现高效的项目开发。 SquareLine Studio 是LVGL官方推荐的UI设计平台,可以便捷地设计界面并一键生成代码导出。

    2024年02月12日
    浏览(53)
  • 4、Arduino_esp32 ADC使用

    3、基于Arduino框架esp32的GPIO使用介绍:基于Arduino框架esp32的GPIO使用介绍 注: 本文章内容是基于arduino框架进行esp32的开发。 开发环境搭建可以参考上一篇文章:2、搭建ESP32开发环境 ADC(模数转换器)是非常常见的外围设备之一,用于将模拟电压信号转换为数字形式。在监控大

    2024年02月14日
    浏览(46)
  • ESP32+Arduino 第二串口使用(串口通信)

    使用原因:使用GPS的时候需要ESP32从串口接收GPS模块的串口数据 第二串口位置:(标记为TX2与RX2的地方) 代码: 同理,如果想给其他模块输出数据可以用: 最后附上Arduino的在线模拟平台 https://wokwi.com/

    2024年02月13日
    浏览(39)
  • ESP32使用Arduino驱动180 360度舵机

    180度舵机 360度舵机

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包