首页 esp32cam学习笔记
文章
取消

esp32cam学习笔记

一、硬件介绍

淘宝买的,底板跟了个ch340芯片,接上microusb,就能将Arduino IDE烧录到里面。

二、开发流程

1. 准备

1.1 Arduino IDE的附加开发板管理网址

1
2
3
4
https://www.arduino.cn/package_esp32_index.json
https://dl.espressif.com/dl/package_esp32_index.json
https://arduino.esp8266.com/stable/package_esp8266com_index.json
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

1.2 安装:工具 -> 开发板管理器 -> esp32

1.3 选择开发板:

2. 程序

改动:

3. 烧录和运行

串口会打印摄像头的ip地址。

4. 界面

5. 程序调用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import cv2 as cv
from Config import Config
import requests
class Config:
    def __init__(self, ip_addr="192.168.3.26"):
        self.cam_ip_addr = "http://" + ip_addr
    def get_stream_addr(self):
        return self.cam_ip_addr + ":81/stream"
    def set(self, var: str, val: int):
        content = self.cam_ip_addr + f"/control?var={var}&val={val}"
        r = requests.get(content)
        if not 200 == r.status_code:
            print(f"设置{var}{val}失败。")
c = Config("192.168.3.26")
c.set("framesize", 10)
c.set("brightness", 2)
c.set("contrast", 0)
c.set("quality", 10)
#c.set("face detect", 0)
capture = cv.VideoCapture(c.get_stream_addr())
while(True):
    ret, frame = capture.read()
    if ret:
        cv.imshow('frame', frame)
    if cv.waitKey(1) == ord('q'):
        break