前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何给ESP32-CAM编译micropython

如何给ESP32-CAM编译micropython

作者头像
ITJoker
发布2022-08-30 11:20:44
8300
发布2022-08-30 11:20:44
举报
文章被收录于专栏:ITJoker的吹逼专栏

0x0 编译前须知

环境:Ubuntu 18.04 WSL 最好有梯子,配合proxychains来编译,或者直接使用vultr的机子来。 建议不要用root用户

0x01 配置必要环境

代码语言:javascript
复制
sudo apt install gcc make git wget curl flex bison gperf python-serial libncurses5-dev python3-pip python-pip python python3

0x02 下载代码及相关工具

代码语言:javascript
复制
mkdir micropython
cd micropython
git clone --recursive https://github.com/espressif/esp-idf.git
git clone --depth=50 --branch=master https://github.com/micropython/micropython.git 
curl -L https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-linux-amd64.tar.gz | tar zxf 
wget https://cdn.jsdelivr.net/gh/ITJoker233/Blog/esp32-cam.tar.xz
mkdir esp32-cam
tar -xzvf esp32-cam.tar.gz -C esp32-cam
sudo pip3 install 'pyparsing<2.4' pyserial

0x03 linux 环境变量里添加路径

代码语言:javascript
复制
cd
export PATH="$PWD/micropython/xtensa-esp32-elf/bin:~/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
export ESPIDF="$PWD/micropython/esp-idf"
export MPTD="$PWD/micropython/esp32-cam"

0x04 编译mpy-cross

代码语言:javascript
复制
cd micropython/micropython
make -C mpy-cross

0x05 esp-idf切换到v4.0,并更新子模块

代码语言:javascript
复制
cd ..
git -C esp-idf checkout $(grep "ESPIDF_SUPHASH_V4 :=" micropython/ports/esp32/Makefile | cut -d " " -f 3)
git -C esp-idf submodule update --init
git -C micropython submodule update --init
cd esp-idf/components
git clone https://github.com/espressif/esp32-camera.git

0x06 编译esp32-cam

代码语言:javascript
复制
cd ../..
make -C micropython/ports/esp32 submodules -j4
cp -r micropython/ports/esp32 micropython/ports/esp32-cam
cd micropython/ports/esp32-cam
cp $MPTD/Makefile .
cp $MPTD/modcamera.c .
cp $MPTD/mpconfigport.h .
cp $MPTD/boards/manifest.py ./boards/manifest.py
cp $MPTD/boards/sdkconfig.base ./boards/sdkconfig.base
make clean
make V=1 -j4

如果没有报错应该大功告成了 XD....

如果出现编译错误,例如缺少xxx.c文件,尝试修改编译目录下的Makefile,具体思路如下:

对比Makefile

代码语言:javascript
复制
$MPTD/Makefile #我的提供的文件
../esp32/Makefile  #esp32目录下的Makefile

搜索关键词cam,大概会有12处可以匹配到。 然后把那整行或整段的添加到相应的位置。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x0 编译前须知
  • 0x01 配置必要环境
  • 0x02 下载代码及相关工具
  • 0x03 linux 环境变量里添加路径
  • 0x04 编译mpy-cross
  • 0x05 esp-idf切换到v4.0,并更新子模块
  • 0x06 编译esp32-cam
    • 如果没有报错应该大功告成了 XD....
      • 如果出现编译错误,例如缺少xxx.c文件,尝试修改编译目录下的Makefile,具体思路如下:
      相关产品与服务
      访问管理
      访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档