关于 ESP32-CAM
ESP32-CAM 是一个嵌入式模块,具有摄像头、微控制器和无线接口。 它可用于多种应用,例如安全、监控和图像处理。 它集成了 Wi-Fi 和蓝牙技术,可以随时随地轻松连接和控制。 它还支持图像数据传输、视频流、音频流和其他通信协议。
ESP32 CAM 的特点
- 相机接口(高达 24MP)
- Wi-Fi 和蓝牙连接
- ESP32-D0WDQ6 双核处理器
- 520KB 静态内存
- 4MB 闪存
- OV2640 2MP 摄像头模块
- 支持 JPEG 和 BMP 格式
- USB C型接口
- 锂聚合物电池连接器
- 32位CPU,最高240MHz
- 集成 802.11b/g/n HT40 Wi-Fi 收发器
- 集成双模蓝牙(经典和 BLE)
- 集成PCB天线
- 集成 8MByte PSRAM
- 车载摄像头
- 相机外部连接器
- 5个可编程 GPIO
- 2个 UART、2个 SPI、I2C、I2S、IRDA、PWM、GPIO
ESP32 CAM 引脚
ESP32 Cam项目开发
环境搭建
硬件
- ESP32-CAM模组
- OV2640摄像头
- USB转串口板(USB-TTL)
- 杜邦线
- 5V 2A电源
系统环境
设置下载服务器
运行“Software & Updates”,点击“Ubuntu Software”选项卡上的“Download from”下拉框,选择“Other...”,找到“China”选择任意服务器,点击“Choose Server”,然后输入密码来确认。关闭时会提示更新信息,点击“重新加载”即可更新。
安装软件
安装依赖环境
sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache libffi-dev libssl-dev
项目代码及开发环境
拉取项目
同时拉取项目和子模块:
git clone --recurse-submodules https://github.com/Ai-Thinker-Open/Ai-Thinker-Open_ESP32-CAMERA_LAN.git
如果拉取中断,需要进入项目目录重新拉取子模块:
开发框架
项目拉取后,可以看到项目目录下多了一个esp-idf目录。esp-idf (Espressif IoT Development Framework) 是esp开发框架。项目开发环境通过esp-idf搭建。本项目中的idf版本为esp-idf-v4.0。
设置 IDF_PATH 路径
编辑 .bashrc 配置文件:
使用vim命令打开.bashrc,使用键盘将光标移动到文件末尾,按a进入,在末尾回车到一个空行,按照以下格式输入相应的内容设置 IDF_PATH 变量:
输入完成后按esc取消编辑,:wq保存退出,执行如下命令使修改立即生效:
source ~/.bashrc
查询变量是否有效:
echo $IDF_PATH
如果打印出的路径与设置一致,则进行下一步,否则需要重新操作。
安装开发工具
在 esp-idf 目录中运行 install.sh 脚本:
echo $IDF_PATH
然后终端提示下载信息。打印“All done!”后,安装完成。这时运行export.sh脚本设置环境变量:
. ./export.sh
配置、编译和下载
项目配置
进入demo工程目录“Ai-Thinker-Open_ESP32-CAMERA_LAN/examples/single_chip/camera_web_server”
cd ../examples/single_chip/camera_web_server/
然后我们开始配置项目:
make menuconfig
提示“recipe for target 'mconf.o' failed”是依赖问题,输入sudo apt-get install libncurses5-dev安装相关依赖再试。
配置界面如下:
使用方向键和回车键移动光标进行操作,进入“Serial flasher config”界面,参考下图进行设置,这里串口设置为“/dev/ttyUSB0”,需要设置运行串口连接ESP32-CAM模组。
进入“Camera Web Server”->“Camera Pins”->“Select Camera Pinout”界面,选择“ESP32-CAM by AI-Thinker”。
编译下载
make
make flash
make monitor