装配esp32开发调试环境-基础测试
墨初 知识笔记 71阅读
【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装配ESP32开发调试环境-基础测试】 1、概述2、实验环境3、 物品说明4、参考资料与自我总结5、实验过程1、创建目录2、克隆下载文件3、 拉取子目录安装和交叉编译工具链等其他工具4、添加环境变量6、将样例文件拷贝到桌面目录 7、使用get_idf环境变量8、根据自己实际模块型号设置芯片9、编译过程10、下载过程11、结果验证 6 细节部分1变通更改操作顺序2报错输入gitee账号和密码3变通使用串口工具4尝试跟驱动端口权限5、错误无法下载或不到端口6、在Linux 下或者 jetson 下一般端口为/dev/ttyACM0或者/dev/USB**啥的7、在PC的ubuntu20.04上测试8、一些错误记录 7、总结
1、概述

最近在使用一直在调试ESP32,作为新手也有很多不懂的地方一点点慢慢学开始是装的win环境后来又尝试了jetson-orin-nx和ubuntu上在Linux 下开发都习惯使用命令行但是在Windows下习惯使用软件点而调试esp32的话还是建议使用命令行形式。
当然说得有点远了本次主要是说明ESP32在Linux下搭建环境部分。
硬件信息Jetson Orin nx
软件版本Linux ubuntu 5.10.120-tegra #1 SMP PREEMPT Tue Aug 1 12:32:50 PDT 2023 aarch64 aarch64 aarch64 GNU/Linux (注意因为重新刷机版本有点改变)
另一台PC电脑ubuntu20.04
其它硬件ESP32-。

ESP32-S3 是一款集成 2.4 GHz Wi-Fi 和 Bluetooth 5 (LE) 的 MCU 芯片支持远距离模式 (Long Range)。ESP32-S3 搭载 Xtensa® 32 位 LX7 双核处理器主频高达 240 MHz内置 512 KB SRAM (TCM)具有 45 个可编程 GPIO 管脚和丰富的通信接口。ESP32-S3 支持更大容量的高速 Octal SPI flash 和片外 RAM支持用户配置数据缓存与指令缓存。
(1)模块资料
资料连接
2开发板模块
链接文档
外设资源
3实际购买
一边来说网页有相对比较便宜的设备也是一样的不一定非要官方的。
物品链接
4、参考资料与自我总结1大致了解了一段时间ESP32后也就基本熟悉了可以当作一个单片机来调试可以认为是整合了wifi和蓝牙的一个IOT的单片机。
2相关资料有个官网地方相关资料也比较齐全。不过有些时候可能太多了需要仔细看一般都是参照官网的。
官网链接
3对于安装环境部分关网可能写的太多了要兼顾不同系统反而不如网上一些总结文章来的快我自己也是按照网上来进行操作的针对自己实际情况。
博文链接
自己虽然参照他人博文但是觉得有一些值得改进的地方和更多细节部分。
1、创建目录打开终端输入如下命令创建目录和进入目录
mkdir ~/esp cd esp/
如下是我自己的操作最好先建立目录
进入目录后进行clone
1拉去esp-idf官方源码
2拉取esp-gitee-tools工具
一步步操作
git clone clone
如下有时候还有可能回失败多尝试下。
继续按照博文说操作,先进入这个目录下“~/esp/esp-gitee-tools”然后操作。
1拉取子目录
2安装交叉编译工具链和其他工具
cd ~/esp/esp-gitee-tools./submodule-update.sh ../esp-idf./install.sh ../esp-idf
4、添加环境变量 设置环境变量添加最后一行 home/xxx/esp/esp-idf/export.sh其中xxx可以在终端中查看你自己用户名请坐对应更改。你的esp-idf路径立即生效。安装所有芯片这块根据需要可以安装部分或者遇到问题可以单独操作这步设置用户 完成后要重启下。 sudo vim ~/.bashrcalias get_idf. /home/xxx/esp/esp-idf/export.shexport IDF_PATH/home/xxx/esp/esp-idf source ~/.bashrc./install.sh allsudo usermod -a -G dialout $USER
如下图是添加环境变量。
这里有个问题就是如果知道自己的home下的名字是啥呢就是/home/xxx/esp/…中xxx的内容当时自己不是很确定其实一般来说可以在终端中直接看到。如下图就是符前面那一段。
也可以通过文件系统看到。
这块涉及Linux 复制命令我是根据自己情况请大家根据自己情况改变
265 cp /home/wjl-linux/esp/esp-idf/examples/get-started/hello_world/ /home/wjl-linux/Desktop/esp32_work/266 cp /home/wjl-linux/esp/esp-idf/examples/get-started/hello_world/ /home/wjl-linux/Desktop/esp32_work/ -rf267 cd Desktop/esp32_work/hello_world/
这块就按照自己需要将eps/esp-idf/examples/get-stated/hello_world的dome文件拷贝到桌面上自己定义文件夹里。
7、使用get_idf环境变量一个命令直接输入即可
get_idf
如下图使用get_idf之后出现 idf.py build那么就可以编译了。
另外从此步骤之后就是用工具的过程了安装已经完成了。
我虽然使用小开发板但是实际上使用模块是esp32s3
所以指令如下如果你使用型号不一样要改的
idf.py set-target esp32s3
如下图是根据自己实际模型设置指令自己实际根据自己情况更换后面部分。
idf.py build
如果没有问题的话就会出现.bin文件等待烧写flash.
自己也是尝试了很多指令涉及硬件部分还需要摁住boot按键然后按一下rst按键最后撒开boot按键。
idf.py flash -p /dev/ttyACM0
成功下载截图
使用一个串口工具按下rst复位键后会出对应消息。
自己实际操作时发现如果完全按照参考博文中那样会有问题只有简单对调步骤就可以了。
自己实际操作时发现其实博主是在已有目录esp下进行克隆的如仿照上述一样操作就回发现克隆的文件在外面还需要复制到文件夹内如下图。
如下实际操作时我发现提示我没有这个文件才意识到这个问题
当时不知道哪里操作问题一使用相关 idf.py就会让输入gitee用户和密码自己都克隆了编译啥的扯不到那去啊有点想不通如下图。
使用指令idf.py build后如下。
我并没按照步骤使用命令行监控其实也可以使用一些工具看自己选择了如果使用工具,可以了解下cutecom。
链接
当然如果你依然可以按照博文所说的使用命令行监视。
如下图如果无法打开端口那么可以给其权限尝试下
碰到类似问题只能多尝试自己作为初学者暂时还没有找到规律另外就是报错都是命令行一堆都不太好搜索。但基本情况类似要不就打不开端口啥的一般只能反复尝试命令和手先摁住boot键再摁一下res键最后撒开boot键进行尝试。即 全程按住boot键在按住boot键时按一下res键随后撒开boot键。
也可以通过相关命令查看设备
ls /dev/tty*
7、在PC的ubuntu20.04上测试 因为相关指令都依然知晓重复操作后基本也是可以的如下是在pc上的命令行整个过程用于记录吧。
1无法打开设备可能需要权限 chmod
--port /dev/ttyACM0 erase_flashesptool.py v4.6.2Serial port /dev/ttyACM0A fatal error occurred: Could not open /dev/ttyACM0, the port doesnt exist
2要重启
然后注销并重新登录用户以使更改生效。
sudo usermod -a -G dialout $USER
3重装不知道为啥要用户密码
Username for Gitee - 基于 Git 的代码托管和研发协作平台: 45Password for Gitee - 基于 Git 的代码托管和研发协作平台: remote: [session-eb49ef84] 45: Incorrect username or password (access token)fatal: Authentication failed for clone of into submodule path /home/wjl-linux/esp/esp-idf/components/bt/controller/lib_esp32c3_family failedFailed to clone components/bt/controller/lib_esp32c3_family. Retry scheduledCloning into /home/wjl-linux/esp/esp-idf/components/bt/controller/lib_esp32c3_family...Username for Gitee - 基于 Git 的代码托管和研发协作平台: Password for Gitee - 基于 Git 的代码托管和研发协作平台: remote: [session-4641aa9a] Unauthorizedfatal: Authentication failed for clone of into submodule path /home/wjl-linux/esp/esp-idf/components/bt/controller/lib_esp32c3_family failedFailed to clone components/bt/controller/lib_esp32c3_family a second time, abortingCMake Error at /home/wjl-linux/esp/esp-idf/tools/cmake/git_submodules.cmake:48 (message): Git submodule init failed for components/bt/controller/lib_esp32c3_familyCall Stack (most recent call first): /home/wjl-linux/esp/esp-idf/tools/cmake/build.cmake:80 (git_submodule_check) /home/wjl-linux/esp/esp-idf/tools/cmake/build.cmake:242 (__build_get_idf_git_revision) /home/wjl-linux/esp/esp-idf/tools/cmake/idf.cmake:53 (__build_init) /home/wjl-linux/esp/esp-idf/tools/cmake/project.cmake:29 (include) CMakeLists.txt:5 (include)
4未知
t /dev/ttyACM0 write_flash -z 0x1000 /home/wjl-linux/Desktop/esp32_work/esptool/app-template1.bin ./esptool.py: line 7: import: command not found./esptool.py: line 8: import: command not found./esptool.py: line 11: syntax error near unexpected token subprocess.run./esptool.py: line 11: sys.exit(subprocess.run([sys.executable, -m, esptool] sys.argv[1:]).returncode)
7、总结 那就1024程序员节快乐吧~~