如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)

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

1.安装虚拟机

我用的vbox,安装ubuntu-18.04-desktop,网络桥接,启用双向粘贴,屏幕分辨率1024*768。如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
ESP32-cam按下载模式连线,最好5V供电,图1看不清可看图2。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
插入主机,安装CP1202驱动(看自己的USB转TTL情况),虚拟机usb捕获。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)

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

ls /dev/ttyUSB*
dmesg | grep ttyS*

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
(可选)主机开启局域网内全局,关闭主机防火墙。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
把自己的用户加入到dialout组,获取读写权限,然后重启,重启,重启!!!

sudo usermod -aG dialout night

2.安装依赖

sudo apt-get purge vim-common
sudo apt-get install vim
sudo apt install git

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
其他依赖,务必加上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

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)

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

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)

4.代码获取

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

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

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
完成后用ls命令查看目录。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
注意看有没有克隆失败的,为防万一,切换到目录后手动更新一下子项。

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

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)

5.设置 IDF_PATH 路径

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

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)

6.install esp-idf

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

./install.sh

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)

7.export

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

. ./export.sh

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)

8.编译esp-idf的helloword

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

cd examples/get-started/hello_world
ls
make menuconfig

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
弹出配置菜单
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
先设置serial端口,11520,DIO,40MHz,4M,然后保存退出。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
然后按提示make

make

经过漫长等待……
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
按提示烧固件,若连接超时可按一下板子上的reset键。

make flash

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
进入串口打印模式(退出按ctrl+])

make monitor

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
去掉下载连接,按reset重启板子,看到串口打印信息,说明esp-idf没有问题了。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
继续接好下载线,按reset重启板子,并退出串口打印模式。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)

9.编译demo

进入示例的camera_web_server路径

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

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
配置工程,需配置端口、wifi和摄像头

make menuconfig

注意端口设为ttyUSB0(前面查出的)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
填写wifi名称和密码
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
camera pins选AI-Thinker
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
保存并退出配置。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
然后依旧是漫长的make

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

如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
断开下载线,按reset重启板子,从串口信息获知板子IP,从浏览器访问。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
视频调整到640480分辨率,从串口信息看,帧率10~25,不怎么稳定,板子发热明显。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
拍照最大像素1600
1200,效果还可以。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)
手机连板子的热点,速度倒还可以,还能进行人脸检测和识别。
如何编译esp32-cam的局域网视频demo,详细亲测有效(2021-07-08)

10.注意事项

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

0.参考链接

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

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

上一篇:ESP32-IDF开发实例-网络编程-HTTP表单提交(POST请求)


下一篇:ESP32实验-自建web服务器配网01