最近买了个安信可的esp32-cam模组,编译demo代码花了不少时间,整理一下能顺利编译的操作步骤。
如某一步报错,请检查前面步骤。

1.安装虚拟机

我用的vbox,安装ubuntu-18.04-desktop,网络桥接,启用双向粘贴,屏幕分辨率1024*768。在这里插入图片描述 在这里插入图片描述
ESP32-cam按下载模式连线,最好5V供电,图1看不清可看图2。
在这里插入图片描述
在这里插入图片描述
插入主机,安装CP1202驱动(看自己的USB转TTL情况),虚拟机usb捕获。
在这里插入图片描述

查看usb是否捕获(查出结果是/dev/ttyUSB0,后面要用)

ls /dev/ttyUSB*
dmesg | grep ttyS*

在这里插入图片描述
(可选)主机开启局域网内全局,关闭主机防火墙。
在这里插入图片描述
把自己的用户加入到dialout组,获取读写权限,然后重启,重启,重启!!!

sudo usermod -aG dialout night
2.安装依赖
sudo apt-get purge vim-common
sudo apt-get install vim
sudo apt install git

安装依赖软件
其他依赖,务必加上libncurses5-dev

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 libncurses5-dev

在这里插入图片描述

3.设置git全局proxy

我主机IP为10.11.12.86

git config --global http.proxy socks5://10.11.12.86:1080
git config --global https.proxy socks5://10.11.12.86:1080

在这里插入图片描述

4.代码获取

从官方github克隆项目,递归子项

git clone --recurse-submodules https://github.com/Ai-Thinker-Open/Ai-Thinker-Open_ESP32-CAMERA_LAN.git

在这里插入图片描述
在这里插入图片描述
完成后用ls命令查看目录。
在这里插入图片描述
注意看有没有克隆失败的,为防万一,切换到目录后手动更新一下子项。

ls
cd *LAN
git submodule update --init --recursive

在这里插入图片描述

5.设置 IDF_PATH 路径
cd esp*
pwd
//复制输出的路径,备用
vim ~/.bashrc
//按i进入插入模式,插入刚复制的路径
export IDF_PATH=/home/night/Ai-Thinker-Open_ESP32-CAMERA_LAN/esp-idf
//按esc退出插入模式,再保存并退出
:wq

在这里插入图片描述
在这里插入图片描述

6.install esp-idf

当前路径为esp-idf,安装ESP-IDF使用的各种工具,比如编译器、调试器、Python 包

./install.sh

在这里插入图片描述

7.export

然后按提示export。如果重新打开终端,要重新切换到esp-idf目录重新export。

. ./export.sh

在这里插入图片描述

8.编译esp-idf的helloword

为了保证esp-idf的正常,先编译它自带的helloword验证一下。

cd examples/get-started/hello_world
ls
make menuconfig

在这里插入图片描述
弹出配置菜单
在这里插入图片描述
先设置serial端口,11520,DIO,40MHz,4M,然后保存退出。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后按提示make

make

经过漫长等待……
在这里插入图片描述
按提示烧固件,若连接超时可按一下板子上的reset键。

make flash

在这里插入图片描述
进入串口打印模式(退出按ctrl+])

make monitor

在这里插入图片描述
去掉下载连接,按reset重启板子,看到串口打印信息,说明esp-idf没有问题了。
在这里插入图片描述
继续接好下载线,按reset重启板子,并退出串口打印模式。
在这里插入图片描述

9.编译demo

进入示例的camera_web_server路径

cd ~/Ai-Thinker-Open_ESP32-CAMERA_LAN/examples/single_chip/camera_web_server
ls

在这里插入图片描述
配置工程,需配置端口、wifi和摄像头

make menuconfig

注意端口设为ttyUSB0(前面查出的)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
填写wifi名称和密码
在这里插入图片描述
camera pins选AI-Thinker
在这里插入图片描述
在这里插入图片描述
保存并退出配置。
在这里插入图片描述
然后依旧是漫长的make

make    //编译
make flash  //下载
make monitor  //串口打印

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
断开下载线,按reset重启板子,从串口信息获知板子IP,从浏览器访问。
在这里插入图片描述
视频调整到640480分辨率,从串口信息看,帧率10~25,不怎么稳定,板子发热明显。
在这里插入图片描述
拍照最大像素1600
1200,效果还可以。
在这里插入图片描述
手机连板子的热点,速度倒还可以,还能进行人脸检测和识别。
在这里插入图片描述

10.注意事项

(1)git的proxy是有必要的,否则下载慢甚至失败
(2)依赖和权限
(3)如果报错,仔细看出错原因,检查前面步骤是否缺失。

0.参考链接

安信可ESP32-CAM摄像头开发demo–局域网拍照、实时视频、人脸识别

乐鑫Esp32学习之旅① 爬坑学习新旅程,虚拟机Linux环境搭建esp32环境,打印 “Hellow World”。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐