实验器材
ESP32-CAM模块*1
ESP32-CAM模块(烧录底座或者USB转TTL模块)*1
烧录线*1
电脑端,需要下载有Arduino(官网下载即可点灯科技 (diandeng.tech),推荐使用1.8.19版本,最稳定,且更新的版本烧录代码有时会报错,若有报错,推荐使用KIMI或者GPT进行错误分析,非常快速高效)
公共操作---
1.arduino配置
文件-首选项-附加开发板管理地址中添加https://dl.espressif.com/dl/package_esp32_index.json
或者https://www.arduino.cn/package_esp32_index.json
2.下载esp32库
开发板管理器中找到esp32 by Espressif Systems库还有blinker库进行安装
开发板下载容易报错,因为是国外的资源,建议使用点灯科技的离线安装包,按照步骤操作即可。CSDN有手动输入报错地址与GitHub下载库的教程,需要请自行搜索(最近发现如果挂梯子的话,也是能很顺畅的下载下来的,推荐一波~)
功能实现1 将视频流url嵌入到“点灯科技”APP中
参考视频B站:【esp32cam Arduino blinker手机APP远程查看最便宜的摄像头】 https://www.bilibili.com/video/BV11e411w7Do/?share_source=copy_web&vd_source=278c50d31e74b73c5c0c039391257e00
参考文章CSDN:【ESP32CAM+ArduinoIde接入点灯科技APP手机实时看视频,保姆级教程简单实用】_esp32 app-CSDN博客
一、Arduino烧录到ESP32
1.选择文件--示例--Blinker---Blinker_ESP32_CAM
2.修改代码为自己的信息
注释掉一键配网
//#define BLINKER_ESP_SMARTCONFIG
将此处改为Blinker APP的密钥(见二、Blinker APP端配置)
char auth[] = "e79717272eee";
自己的wifi名字密码加进去,
char ssid[]="JohnnyYong";//WiFi名称
char pswd[]="xxxx";//wifi密码
把Blinker.begin(auth);
改成
Blinker.begin(auth,ssid,pswd);
3.完整版代码
#define BLINKER_WIFI //#define BLINKER_ESP_SMARTCONFIG #include <Blinker.h> #include "ESP32_CAM_SERVER.h" char auth[] = "e79717272eee"; char ssid[]="JohnnyYong";//WiFi名称 char pswd[]="xxxx";//wifi密码 bool setup_camera = false; void dataRead(const String & data) { BLINKER_LOG("Blinker readString: ", data); Blinker.vibrate(); uint32_t BlinkerTime = millis(); Blinker.print("millis", BlinkerTime); } void setup() { Serial.begin(115200); BLINKER_DEBUG.stream(Serial); pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); Blinker.begin(auth,ssid,pswd); Blinker.attachData(dataRead); } void loop() { Blinker.run(); if (Blinker.connected() && !setup_camera) { setupCamera(); setup_camera = true; Blinker.printObject("video", "{\"str\":\"mjpg\",\"url\":\"http://"+ WiFi.localIP().toString() + "\"}"); } }
4.编译并上传
依次点击下面两个图标
5.查看ESP32的IP地址
方法1:烧录成功后,打开右上角串口监视器,按下底板的RST键,显示ip地址
方法2:若使用安卓手机打开热点供ESP32连接,可以在已连接热点的设备查看
苹果手机暂时没找到如何查看IP地址
二、Blinker APP端配置
1.下载APP
官网下载点灯科技 (diandeng.tech),ios和Android都支持(APP Store里搜索Blinker也可以下载)
2.编辑APP
添加设备---独立设备
此处密钥即char auth[] = "e79717272eee";引号内的密码
在APP中点“编辑”的图标,添加“视频”(video),URL为ESP32的IP地址,视频流选择mjpg,背景设置按需选择。
三、网页端输入IP地址也能查看视频界面(同一局域网下)
功能实现2 通过网页端进行视频的实时查看
参考文章CSDN:
ESP32cam系列教程001:使用webcam摄像头实时查看视频_esp32 cam使用教程-CSDN博客
一、Arduino烧录到ESP32
1.打开示例代码
选择 文件>示例>ESP32>Camera>CameraWebServer ,进入示例代码界面
2.修改代码为自己的信息
默认摄像头注释掉,修改示例代码中的摄像头类型为 CAMERA_MODEL_AI_THINKER
。
// =================== // Select camera model // =================== //#define CAMERA_MODEL_WROVER_KIT // Has PSRAM //#define CAMERA_MODEL_ESP_EYE // Has PSRAM //#define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM //#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM //#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM //#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM //#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM //#define CAMERA_MODEL_M5STACK_UNITCAM // No PSRAM #define CAMERA_MODEL_AI_THINKER // Has PSRAM //#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM //#define CAMERA_MODEL_XIAO_ESP32S3 // Has PSRAM // ** Espressif Internal Boards ** //#define CAMERA_MODEL_ESP32_CAM_BOARD //#define CAMERA_MODEL_ESP32S2_CAM_BOARD //#define CAMERA_MODEL_ESP32S3_CAM_LCD
修改示例代码中的 wifi 和密码的名称。
const char* ssid = "佩奇的手机"; const char* password = "04191245";
将摄像头型号由原来的3660改为2640
if (s->id.PID == OV2640_PID) {
二、网页端查看视频
同样,代码烧录完成之后,打开串口监视器,复制IP地址并输入到网页打开,可以进行开关数据流与参数配置
附录:
不想动脑选型的可以参考我的,便宜好用,无广
【淘宝】限时官方立减0.66元 https://m.tb.cn/h.gnQDGqAiXj5ogBe?tk=L0Au3fBT5FN CZ8908 「ESP32-CAM开发板测试板WiFi+蓝牙模块ESP32串口转 摄像头模块模组」
点击链接直接打开 或者 淘宝搜索直接打开
优点:
1.ESP32-CAM模块为较为便宜好用的摄像头模块
2.使用Arduino的自带示例代码进行稍微的修改即可在网页端查看视频流
可改进之处:
只能在局域网下进行显示(查看视频的电脑或者手机需要与ESP32-CAM连接在同一网络下),下一步实现为内网透传,实现公共网络即可访问