374| 12
|
[项目] 【花雕学编程】Arduino动手做(230)---ESP32-Cam 延时摄影 |
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 帧/秒 |
一个 ESP32 CAM 摄像头用于录制延时镜头。它通过 Web 界面进行控制,并将图像存储到 micro SD 卡中。ffmpeg 用于将 Jpeg 图像转换为 mp4 视频。虽然由于固定焦距,宏距摄影效果不佳,但风景摄影看起来不错。 实验开源代码
|
这里详细解释一下这段程序的每个部分及其功能: 1、引入库文件
这些库文件提供了程序所需的功能,例如WiFi连接、文件操作、摄像头控制和时间间隔处理。 2、定义WiFi名称和密码
这里定义了WiFi网络的名称和密码,用于连接到指定的WiFi网络。 3、声明函数
声明了一个函数startCameraServer,该函数将在后面定义并用于启动摄像头服务器。 4、setup函数
Serial.begin(115200):初始化串口通信,设置波特率为115200。 Serial.setDebugOutput(true):启用串口调试输出。 initFileSystem():初始化文件系统,准备文件操作。 initCamera():初始化摄像头,准备摄像头操作。 WiFi.begin(ssid, password):开始连接WiFi网络。 while (WiFi.status() != WL_CONNECTED):等待WiFi连接成功,每500毫秒检查一次连接状态,并打印连接进度。 startCameraServer():启动摄像头服务器,准备视频流传输。 Serial.print(WiFi.localIP()):打印ESP32-CAM的本地IP地址,用户可以通过该地址访问摄像头视频流。 5、loop函数
unsigned long t = millis():获取当前时间(毫秒)。 static unsigned long ot = 0:定义并初始化上一次时间变量。 unsigned long dt = t - ot:计算时间差。 ot = t:更新上一次时间变量。 processLapse(dt):处理时间间隔任务。 6、总结 这段代码的主要功能是: 1、初始化串口通信、文件系统和摄像头。 2、连接到指定的WiFi网络。 3、启动摄像头服务器,使用户可以通过浏览器访问视频流。 4、在主循环中处理时间间隔任务。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed