ESP32-Cam 初步使用:网络摄像头示例

本文指导读者如何安装Arduino并配置ESP32-cam,包括下载、汉化、初始化步骤,以及使用CameraWebServer例程、串口调试和项目保存的方法。
摘要由CSDN通过智能技术生成

此片意在教会你如何初步使用ESP32-cam

阅读本文,你将学会:
一. 学会安装Arduino
二. 学会使用相关例程


一、Arduino 的下载安装及汉化

1.下载Arduino(Arduino 软件下载官网

2.Arduino的安装

3.Arduino的汉化:

左上角 File-->Preferences(Ctrl+逗号也能进入)-->Settings-->Language-->中文(简体)-->OK

二、ESP32-cam 的初始化及例程使用

1.在 Arduino 中初始化 ESP32-cam:让 Arduino 认识你的 ESP32-cam;

        如图所示操作:工具--->开发板--->开发版管理器,找到 esp32 by Espressif Systems,选择任意版本下载(主要看你那个能下载成功,我下载的是2.0.10版本);

选择接口及对应开发板(Al Thinker ESP32-CAM)

2.尝试ESP32例程项目 --- CameraWebServer

此时会跳出新页面(CameraWebServer项目);选择该项目;

3.在CameraWebServer项目代码中进行操作

代码中一共有四处需要修改的地方

开始编译认证:

编译无问题后如此显示:

接下来上传(即 将代码烧录到ESP32-cam中)

 上传(烧录)成功后如此显示:

 4、通过串口获取 ESP32-cam 所在的IP

我们打开任意串口监视器(我用的正点原子串口调试助手)

5、进入操作界面

使用一台与ESP32-cam所连WiFi/热点相同的设备(PC/手机都行),在浏览器标题栏中输入所得IP地址,回车进入,出现如下画面


三、项目的保存

在体验了一番 ESP32-cam 摄像头后(然而并没有什么卵用 

我们将项目保存以便下次使用

1.保存方式:按下 Ctrl+S 或 文件 ---> Save;

项目默认保存在 C盘--文档--Arduino 下
我选择将项目保存在 Arduino 的位置下(同在D盘以防C盘报废的情况)
以下是一个简单的 esp32-cam 摄像头使用代码,使用 Arduino IDE 编写: ``` #include "esp_camera.h" #include "WiFi.h" // WiFi 信息 const char* ssid = "YOUR_SSID"; const char* password = "YOUR_PASSWORD"; // Camera 信息 #define CAMERA_MODEL_AI_THINKER #define PWDN_GPIO_NUM 32 #define RESET_GPIO_NUM -1 #define XCLK_GPIO_NUM 0 #define SIOD_GPIO_NUM 26 #define SIOC_GPIO_NUM 27 #define Y9_GPIO_NUM 35 #define Y8_GPIO_NUM 34 #define Y7_GPIO_NUM 39 #define Y6_GPIO_NUM 36 #define Y5_GPIO_NUM 21 #define Y4_GPIO_NUM 19 #define Y3_GPIO_NUM 18 #define Y2_GPIO_NUM 5 #define VSYNC_GPIO_NUM 25 #define HREF_GPIO_NUM 23 #define PCLK_GPIO_NUM 22 void setup() { Serial.begin(115200); // 初始化摄像头 camera_config_t config; config.ledc_channel = LEDC_CHANNEL_0; config.ledc_timer = LEDC_TIMER_0; config.pin_d0 = Y2_GPIO_NUM; config.pin_d1 = Y3_GPIO_NUM; config.pin_d2 = Y4_GPIO_NUM; config.pin_d3 = Y5_GPIO_NUM; config.pin_d4 = Y6_GPIO_NUM; config.pin_d5 = Y7_GPIO_NUM; config.pin_d6 = Y8_GPIO_NUM; config.pin_d7 = Y9_GPIO_NUM; config.pin_xclk = XCLK_GPIO_NUM; config.pin_pclk = PCLK_GPIO_NUM; config.pin_vsync = VSYNC_GPIO_NUM; config.pin_href = HREF_GPIO_NUM; config.pin_sscb_sda = SIOD_GPIO_NUM; config.pin_sscb_scl = SIOC_GPIO_NUM; config.pin_pwdn = PWDN_GPIO_NUM; config.pin_reset = RESET_GPIO_NUM; config.xclk_freq_hz = 20000000; config.pixel_format = PIXFORMAT_JPEG; // 初始化摄像头 esp_err_t err = esp_camera_init(&config); if (err != ESP_OK) { Serial.printf("Camera init failed with error 0x%x", err); return; } // 连接 WiFi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { Serial.println("Connecting to WiFi..."); delay(1000); } Serial.println("WiFi connected"); } void loop() { // 拍摄照片 camera_fb_t* fb = esp_camera_fb_get(); if (!fb) { Serial.println("Camera capture failed"); return; } // 发送照片到串口 Serial.write(fb->buf, fb->len); // 释放照片内存 esp_camera_fb_return(fb); // 暂停 5 秒 delay(5000); } ``` 在这个代码中,我们首先定义了 WiFi 的 SSID 和密码,然后定义了 esp32-cam 摄像头的引脚配置。在 `setup()` 函数中,我们初始化了摄像头和 WiFi,并在 `loop()` 函数中不断地拍摄照片并发送到串口,最后暂停 5 秒。请注意,这个代码只是一个简单的示例,实际应用中可能需要更复杂的逻辑和处理。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值