【花雕学编程】Arduino动手做(230)---WIFI无线网络摄像头
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)---WIFI无线网络摄像头
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
项目实验之十:WifiCam: 无线网络摄像头HTTP服务器
下载esp32cam库
链接:https://github.com/yoursunny/esp32cam?tab=readme-ov-file
【花雕学编程】Arduino动手做(230)---WIFI无线网络摄像头
项目实验之十:WifiCam: 无线网络摄像头HTTP服务器实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
项目实验之十:WifiCam: 无线网络摄像头HTTP服务器
*/
// 引入WifiCam库
#include "WifiCam.hpp"
// 引入WiFi库
#include <WiFi.h>
// 定义WiFi的SSID和密码
static const char* WIFI_SSID = "zhz3";
static const char* WIFI_PASS = "z156721";
// 定义初始分辨率
esp32cam::Resolution initialResolution;
// 创建Web服务器,端口号为80
WebServer server(80);
void setup() {
// 初始化串口通信,波特率为115200
Serial.begin(115200);
Serial.println();
delay(1000);
// 设置WiFi模式为STA(Station)
WiFi.persistent(false);
WiFi.mode(WIFI_STA);
// 连接到WiFi网络
WiFi.begin(WIFI_SSID, WIFI_PASS);
// 等待WiFi连接结果
if (WiFi.waitForConnectResult() != WL_CONNECTED) {
Serial.printf("WiFi连接失败 %d\n", WiFi.status());
delay(5000);
ESP.restart();
}
Serial.println("WiFi连接成功");
delay(1000);
{
using namespace esp32cam;
// 设置初始分辨率为1024x768
initialResolution = Resolution::find(1024, 768);
// 配置摄像头参数
Config cfg;
cfg.setPins(pins::AiThinker);// 设置引脚
cfg.setResolution(initialResolution);// 设置分辨率
cfg.setJpeg(80);// 设置JPEG质量
// 初始化摄像头
bool ok = Camera.begin(cfg);
if (!ok) {
Serial.println("摄像头初始化失败");
delay(5000);
ESP.restart();
}
Serial.println("摄像头初始化成功");
}
// 输出摄像头启动信息和设备IP地址
Serial.println("摄像头启动中");
Serial.print("http://");
Serial.println(WiFi.localIP());
// 添加请求处理程序
addRequestHandlers();
// 启动Web服务器
server.begin();
}
void loop() {
// 处理客户端请求
server.handleClient();
}
【花雕学编程】Arduino动手做(230)---WIFI无线网络摄像头
实验串口返回情况【花雕学编程】Arduino动手做(230)---WIFI无线网络摄像头
打开浏览器控制页面:http://192.168.28.223/【花雕学编程】Arduino动手做(230)---WIFI无线网络摄像头
分成照片格式BMP,不同大小规格供选择,打开后直接在浏览器上显示照片【花雕学编程】Arduino动手做(230)---WIFI无线网络摄像头
照片格式还有JPG,也是不同大小规格供选择,打开后直接在浏览器上显示照片(晚上灯光环境,拍虚了)【花雕学编程】Arduino动手做(230)---WIFI无线网络摄像头
第三种是视频流MJPEG格式,这里实验使用800X600格式,可以拍摄21.17fps【【花雕学编程】Arduino动手做(230)---WIFI无线网络摄像头】
https://www.bilibili.com/video/BV1ZTp8eFEaU/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987
https://www.bilibili.com/video/BV1ZTp8eFEaU/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987
页:
[1]