19浏览
查看: 19|回复: 6

[项目] 【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙

[复制链接]
【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙图2

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙图1

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙图3

驴友花雕  中级技神
 楼主|

发表于 昨天 13:52

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙

ESP32 SPP(Serial Port Profile)是一种基于蓝牙的经典蓝牙串口通信协议,它允许设备之间通过蓝牙进行串口数据传输。在ESP32中,SPP功能可以通过软件协议栈实现,使得ESP32可以作为一个蓝牙串口服务器或客户端与其他蓝牙设备进行通信。

1、Arduino
Arduino 是一种开源硬件和软件平台,用于制作电子项目和物联网(IoT)设备。它包括一个开发板和一套编程环境,使用户可以通过简单的代码来控制各种电子元件。

2、ESP32
ESP32 是由 Espressif Systems 设计的一款单片机(SoC),集成了 Wi-Fi 和蓝牙功能。它广泛应用于移动设备、可穿戴设备和物联网(IoT)应用。ESP32 提供丰富的外设接口和高性能,非常适合开发各种嵌入式系统。

3、SPP(Serial Port Profile)
SPP(Serial Port Profile) 是蓝牙协议中的一种,它模拟了传统的 RS-232(UART)串行连接。通过 SPP,ESP32 可以通过蓝牙与其他设备进行数据传输,就像通过串行端口一样。

4、Arduino ESP32 SPP
Arduino ESP32 SPP 指的是使用 Arduino 开发环境在 ESP32 上实现蓝牙串行端口协议(SPP)。通过这种方式,你可以编写代码来控制 ESP32 的蓝牙功能,使其能够与其他蓝牙设备进行通信。

5、全面详细的科学解释
1)Arduino 开发环境:Arduino 提供了一套开发环境,包括编译器、IDE(集成开发环境)和各种库,使用户可以通过简单的代码来控制硬件。
2)ESP32 硬件:ESP32 是一款集成了 Wi-Fi 和蓝牙的单片机,具有多个 GPIO 引脚、ADC、DAC、PWM 等功能,适用于各种嵌入式系统开发。
3)SPP 协议:SPP 是蓝牙协议中的一种,通过模拟 RS-232 串行连接,实现无线数据传输。SPP 通常用于替代传统的串行端口,使设备可以通过蓝牙进行通信。
4)Arduino ESP32 SPP 应用:通过 Arduino 开发环境在 ESP32 上实现 SPP,可以编写代码来初始化蓝牙、发现服务、建立连接、发送和接收数据。这种应用广泛用于物联网设备、远程控制和数据传输等场景。

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 14:01

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百四十一:ESP32 Dev Board CH340 - USB-C口 ESP-WROOM-32 开发板
  {花雕动手做}项目之二:使用经典蓝牙SPP控制板载LED

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百四十一:ESP32 Dev Board CH340 - USB-C口 ESP-WROOM-32 开发板
  4.   {花雕动手做}项目之二:使用经典蓝牙SPP控制板载LED
  5. */
  6. #include <Arduino.h>
  7. #include <BluetoothSerial.h>
  8. BluetoothSerial SerialBT;
  9. const int ledPin = 2; // LED连接的引脚
  10. void setup() {
  11.     Serial.begin(115200);
  12.     SerialBT.begin("ESP32_LED"); // 蓝牙设备名称
  13.     pinMode(ledPin, OUTPUT);
  14.     Serial.println("蓝牙已初始化,可以通过蓝牙控制LED");
  15. }
  16. void loop() {
  17.     if (SerialBT.available()) {
  18.         char command = SerialBT.read(); // 读取蓝牙数据
  19.         if (command == '1') {
  20.             digitalWrite(ledPin, LOW); // 点亮LED
  21.             SerialBT.println("LED已点亮"); // 反馈信息
  22.         } else if (command == '0') {
  23.             digitalWrite(ledPin, HIGH); // 熄灭LED
  24.             SerialBT.println("LED已熄灭"); // 反馈信息
  25.         }
  26.     }
  27. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 14:02

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙

实验串口返回情况

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 14:16

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙

在手机端打开蓝牙,连接ESP32_ELD

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 14:18

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙

在手机端打开《蓝牙串口 SPP》app,连接ESP32_ELD,在键盘上按键发送信息,控制LED并在终端取得动态反馈

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙图2

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 14:23

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙

实验场景图

【花雕学编程】Arduino动手做(241)--ESP32 Dev之SPP经典蓝牙图1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail