189浏览
查看: 189|回复: 9

[项目] 【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED

[复制链接]
【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED图1

ESP32-CAM 是一款非常小的摄像头模块,配备 ESP32-S 芯片。除了 OV2640 摄像头和几个用于连接外围设备的 GPIO 外,它还具有一个 microSD 卡插槽,可用于存储使用摄像头拍摄的图像或存储文件以提供给客户。包括乐鑫 ESP32-S Wifi + 蓝牙+BLE 芯片、2MP 摄像头模块 OV2640 和带有 CH340 UART 芯片的 USB 编程适配器。

ESP32-Cam 是一款运行在 ESP32-S 芯片上并使用 OV2640 摄像头的小型摄像头模块。ESP32_Cam 也可以 OV7670 摄像头,但 OV2640 更好(更高的分辨率和内置的 JPEG 编码,这消除了 ESP32-S 的处理任务)。

ESP-32 Cam 规格
ESP-32 系列
它支持 Wi-Fi (802.11b/g/n)
支持蓝牙 (4.2 带 BLE)
内置 LED 闪光灯
9 个 IO 端口
支持 UART、SPI、I2C 和 PWM
内置 micro SD 读卡器
输入电源:3.3V / 5V(据报道,5V 供电比 3.3V 更稳定)

OV2640 摄像头
2 百万像素
阵列尺寸:UXGA (1600 x 1200)
镜头尺寸:1/4 英寸(6.35 毫米)
最大图像传输速率:15 帧/秒


【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED图2

驴友花雕  中级技神
 楼主|

发表于 2024-10-23 11:32:49

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED

ESP32-CAM 是一款具有摄像头功能的物联网模块,它支持经典蓝牙通信,以下是关于其经典蓝牙方面的介绍:
1、蓝牙功能支持:
ESP32-CAM 所使用的 ESP32 芯片本身内置了蓝牙功能,这使得 ESP32-CAM 能够与其他支持蓝牙的设备进行通信。经典蓝牙在 ESP32-CAM 中可实现数据的传输、接收以及与其他蓝牙设备的连接和交互。

2、通信距离和稳定性:
通信距离方面,在没有障碍物的理想环境下,ESP32-CAM 的经典蓝牙通信距离一般可以达到 10 米左右,但实际的通信距离可能会受到周围环境中障碍物(如墙壁、金属物体等)的影响而有所减少。
在稳定性上,ESP32-CAM 的经典蓝牙通信相对比较稳定,能够在一定程度上保证数据传输的可靠性。不过,如果在电磁干扰较强的环境中,可能会出现通信不稳定的情况。

3、应用场景:
远程监控与控制:可以与智能手机或其他蓝牙设备配对,实现对 ESP32-CAM 所连接的摄像头的远程监控和控制。例如,用户可以通过手机上的应用程序查看摄像头拍摄的画面,并控制摄像头的拍摄角度、拍照等操作。
数据传输:能够将摄像头拍摄到的数据通过经典蓝牙传输到其他设备上进行存储或进一步处理。比如,将拍摄的照片或视频传输到手机、平板电脑或电脑等设备上。
与其他蓝牙设备联动:可以与其他支持蓝牙的传感器、执行器等设备进行联动,实现更复杂的物联网应用。例如,与蓝牙温湿度传感器连接,将环境数据与摄像头拍摄的画面一起传输和处理。

4、开发与编程:
在开发方面,使用 Arduino IDE 等开发环境对 ESP32-CAM 的经典蓝牙功能进行编程。开发者可以通过调用相关的蓝牙库函数,实现蓝牙设备的搜索、连接、数据传输等操作。
需要注意的是,在编程过程中,要正确配置蓝牙的参数,如蓝牙设备名称、配对密码等,以确保蓝牙通信的正常进行。

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-23 11:34:45

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
  项目实验之二十九:使用BluetoothSerial库测试 ESP32-CAM 经典蓝牙2

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
  4.   项目实验之二十九:使用BluetoothSerial库测试 ESP32-CAM 经典蓝牙2
  5. */
  6. #include "BluetoothSerial.h"
  7. // 如果没有启用蓝牙,则抛出错误提示
  8. #if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
  9. #error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
  10. #endif
  11. BluetoothSerial SerialBT; // 创建一个BluetoothSerial对象
  12. void setup() {
  13.   Serial.begin(115200);  // 初始化串口通信,波特率设置为115200
  14.   SerialBT.begin("ESP32-CAM"); // 初始化蓝牙并设置设备名称为 "ESP32-CAM"
  15.   Serial.println("设备已启动,现在您可以将其与蓝牙配对!"); // 打印启动信息
  16. }
  17. void loop() {
  18.   // 检查串口是否有数据可读,如果有则通过蓝牙发送
  19.   if (Serial.available()) {
  20.     SerialBT.write(Serial.read());
  21.   }
  22.   // 检查蓝牙是否有数据可读,如果有则通过串口发送
  23.   if (SerialBT.available()) {
  24.     Serial.write(SerialBT.read());
  25.   }
  26.   delay(20); // 延时20毫秒,以稳定通信
  27. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-23 11:45:06

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED

在手机端打开《蓝牙串口 SPP》app,连接ESP32,发送信息

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-23 11:47:02

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED

实验串口返回情况

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-23 16:58:40

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
  项目实验之三十:ESP32-CAM使用BluetoothSerial库测试经典蓝牙点亮LED

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
  4.   项目实验之三十:ESP32-CAM使用BluetoothSerial库测试经典蓝牙点亮LED
  5. */
  6. #include "BluetoothSerial.h"
  7. // 如果没有启用蓝牙,则抛出错误提示
  8. #if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
  9. #error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
  10. #endif
  11. BluetoothSerial SerialBT; // 创建一个BluetoothSerial对象
  12. int led = 16; // 将LED连接到引脚16
  13. void setup() {
  14.   Serial.begin(115200);  // 初始化串口通信,波特率设置为115200
  15.   SerialBT.begin("ESP32-CAM01"); // 初始化蓝牙并设置设备名称为 "ESP32-CAM"
  16.   Serial.println("设备已启动,现在您可以将其与蓝牙配对!"); // 打印启动信息
  17.   pinMode(led, OUTPUT); // 设置LED引脚为输出模式
  18. }
  19. void loop() {
  20.   // 检查蓝牙是否有数据可读,如果有则进行处理
  21.   if (SerialBT.available()) {
  22.     char ledSW = SerialBT.read(); // 读取蓝牙发送的字符命令
  23.     if (ledSW == '1') { // 如果收到命令 '1',则点亮LED
  24.       digitalWrite(led, HIGH);
  25.       SerialBT.write(ledSW); // 将命令回传
  26.     }
  27.     if (ledSW == '0') { // 如果收到命令 '0',则熄灭LED
  28.       digitalWrite(led, LOW);
  29.       SerialBT.write(ledSW); // 将命令回传
  30.     }
  31.   }
  32.   delay(20); // 短暂延时以稳定通信
  33. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-23 17:00:54

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED

实验串口返回情况

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-23 17:08:32

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED

手机蓝牙可以发现并连接

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-23 17:11:03

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED

在手机端打开《蓝牙串口 SPP》app,连接ESP32时,出错无法连接

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-23 17:34:03

【花雕学编程】Arduino动手做(230)---ESP32-CAM 蓝牙点亮LED

多次实验,一直出错,待续.......
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail