• Stars
    star
    163
  • Rank 231,141 (Top 5 %)
  • Language
    C
  • Created over 6 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ESP-Cam是一款基于ESP32芯片的开源WIFI摄像头, 本仓库存放关于ESP-Cam的使用教程与相关开发资料. 同时本教程还提供了Ubuntu下配置ESP-IDF开发环境的教程,以及ESP-CAM源码修改与固件编译烧录的教程.

ESP-CAM使用教程

作者: 阿凯 (QQ 244561792)

1Z实验室(1zlab)出品 : make things easy

ESP-CAM 简介

ESP-CAM采用ESP32作为主控, 感光芯片为OV2640. 可以实现WIFI传图的功能. Github开源项目地址 ESP-CAM开启热点, 电脑连接ESP-CAM的热点, 然后在浏览器中输入对应的URL就可以获取到摄像头拍摄的画面/视频流. ESP-CAM ESP-CAM(M5CAMERA)的生产商为M5Stack, 他们在原有的开源项目基础上对硬件进行了改进, 感谢M5Stack所做的贡献.

文档

阿凯编写了相关的文档教程, 方便大家使用ESP-CAM.

固件

固件文件见 ./固件

bootloader.bin
esp32-cam-demo.bin
flash.sh
partitions_singleapp.bin

使用教程见: Ubuntu下ESP-CAM固件烧录指南-1Z实验室

硬件资料

硬件资料包括M5Stack出品的ESP-CAM的硬件原理图, ESP32与OV2640的数据手册.

见文件夹 ./硬件资料

├── 数据手册
│   ├── esp32_datasheet_cn.pdf
│   └── OV2640DS.pdf
└── 原理图
    └── M5CAM-ESP32-A1-POWER.pdf

源代码

工程结构介绍

main/app_main.c 这里是整个工程的主函数, 这里你可以设定像素格式, 分辨率等. 也可以自行修改功能.

camera下存放的是跟摄像头相关的代码, 主要是感光芯片采集图像部分.

http_server 是esp32作为服务器,进行http通信所依赖的库.

├── components
│   ├── camera
│   │   ├── bitmap.c
│   │   ├── camera.c
│   │   ├── camera_common.h
│   │   ├── component.mk
│   │   ├── include
│   │   │   ├── bitmap.h
│   │   │   └── camera.h
│   │   ├── Kconfig
│   │   ├── ov2640.c
│   │   ├── ov2640.h
│   │   ├── ov2640_regs.h
│   │   ├── ov7725.c
│   │   ├── ov7725.h
│   │   ├── ov7725_regs.h
│   │   ├── sccb.c
│   │   ├── sccb.h
│   │   ├── sensor.h
│   │   ├── twi.c
│   │   ├── twi.h
│   │   ├── wiring.c
│   │   ├── wiring.h
│   │   ├── xclk.c
│   │   └── xclk.h
│   └── http_server
│       ├── component.mk
│       ├── http_server.c
│       ├── http_server.h
│       ├── LICENSE
│       └── README.md
├── LICENSE
├── main
│   ├── app_main.c
│   ├── component.mk
│   └── Kconfig.projbuild


1Z实验室(1zlab)

1zlab

More Repositories

1

1ZLAB_Face_Track_Robot

二自由度云台实现人脸追踪。 首先是使用一款名字叫做IP摄像头的APP 采集手机摄像头的图像,在手机上建立一个视频流服务器。在局域网下,PC通过IP还有端口号获取图像。使用OpenCV的人脸检测的API获取人脸在画面中的位置,根据人脸位置距离画面中心的x轴与y轴的偏移量(offset) ,通过P比例控制(PID控制中最简单的一种)控制二自由度云台上臂与下臂的旋转角度,将角度信息通过串口通信UART发送给ESP32单片机(不限于ESP32,STM32,Arduino都可以)解析执行对应的操作,从而使得人脸尽可能处在画面的正中间。
Python
184
star
2

1ZLAB_MicroPython_ESP32_Tutorial

MicroPython ESP32 从入门到差不多系列课程, 1Z实验室出品
Python
104
star
3

1ZLAB_OpenCV_Tutorial

为了让更多的学生可以更方便的入门OpenCV, 1Z学院 秉承make things easy的理念, 编写了这套OpenCV基础入门公开课-1Z学院. 而且课件与OpenCV源码均放置在Github上面开源, 大家可以及时下载与更新, 1Z学院会持续更新, 并录制视频教程. 教程源文件(.md后缀文件, markdown) 可以在github实时的浏览, 也可以使用软件typora打开, 离线也正常浏览课程配图.
93
star
4

1ZLAB_Color_Block_Finder

使用OpenCV实现色块追踪 为了方便大家入门OpenCV以及使用OpenCV实现颜色识别, 阿凯编写了相关的上位机脚本, 同时也有. 刚开始的时候, 你的精力可以放在算法流程上面, 没必要在前期过于关注代码的细节. 脚本的代码阿凯也是逐行注释的, 也可以作为你的项目参考 .
Python
90
star
5

1ZLAB_PyEspCar

1ZLab在准备挑选合适的小车来研发计算机视觉的教程时候 , 发现习惯了Python语法的我们, 在市面上找不到合适小车, 后来我们选了ESP32作为小车的控制主板, 可以使用Python对其进行交互式编程, 极大的提升了开发效率.
Python
90
star
6

1ZLAB_OpenCV_Handwriting

OpenCV手写字体识别专题教程主要侧重的是对手写数字样本的采集与预处理部分, 主要包括图像透视变换,二值化,联通阈检索,字符分割。
Jupyter Notebook
78
star
7

1ZLAB_OpenCV_Face_Detection

opencv实现人脸检测, 识别视频流中人脸的位置,并且画出人脸所在的矩形区域。
Python
41
star
8

1ZLAB_Linux_Tutorial

其实Linux没有大家想得那么难,只要你掌握一些Linux的基本常识就可以算是入门Linux了。 有时候就是因为缺乏一些背景知识,导致你在学习Linux,学习命令行的时候会感觉自己一脸茫然。 1Z实验室,推出了**Linux快速入门**教程,就是给你提供必要的背景知识,不单单讲命令行,让你可以比较块的速度掌握Linux的基本操作。
33
star
9

EMP

EMP (Easy MicroPython) is upy modules to make things easy on MicroPython.
Python
21
star
10

1ZLAB-PyQT-Healthy-Work

生活不止有屏幕上的代码,还有诗和远方.
Python
18
star
11

1ZLAB_PID_GUI_Tool

PID可视化调参工具
Python
13
star
12

1ZLAB-EasyEsp

这是为ESP32 micropython 开发的一款通过wifi进行热更新代码的工具,旨在为各位MicroPython爱好者带来更好的开发体验和开发效率.
Python
12
star
13

1ZLAB-Source-Code

1Z实验室教程源代码仓库
12
star
14

1ZLAB_OpenCV_Laser_Cross

OpenCV激光十字识别, 识别端点还有交叉点。
Jupyter Notebook
12
star
15

1ZLAB

1
star