WINDOWS下0-1编译ESP-AT
结果和注意事项
虚拟机+WIN10 64BIT编译成功。
实体机+WIN11 64BIT编译成功。
- PC机尽量安装梯子。
- 其中有一些步骤可能不需要,可自行验证。
- 尝试vscode+idf插件的形式安装IDF环境和工具,可以编译烧写HELLOWORLD自带示例,但无法编译ESP-AT工程,一个环境无法编译所有乐鑫工程,且单独编译ESP-AT工程时会受独立IDF安装环境和VSCODE+IDF插件开发环境的影响,属实麻烦。
- 所有操作均在powershell下进行。
参考文章
主要参考:https://blog.csdn.net/Marchtwentytwo/article/details/131962852
次要参考:
https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32c2/Compile_and_Develop/How_to_clone_project_and_compile_it.html#esp-at-install-env
清理PC环境
推荐在纯净版WIN11 64bit下安装,可使用虚拟机创建一个干净的系统环境,目的是避免多个ESP开发环境或其它开发软件对ESP-AT工程编译环境的安装和编译过程造成影响。若无纯净环境,则进行如下清理工作:
- 如有,删除path环境变量中与python相关的两个路径,例:“C:\Python312\Scripts\”和“C:\Python312\”;
- 如有,删除“C:\Users\lych\.espressif”目录;
- 如有,删除独立安装的离线版esp-idf或eclipse ide;
- 如有,删除使用VSCODE+IDF插件方案产生的“Enter ESP-IDF container directory:”和“Enter ESP-IDF Tools directory (IDF_TOOLS_PATH):”目录;
开始安装软件,其间不打开VSCODE软件。
安装独立GIT
官网下载安装包,使用默认安装选项,下一步。。。下一步,直至完成。
安装独立PYTHON
- 如果电脑中没有安装过PYTHON则需安装;选取当前最新的release版本。
- 不可安装在有空格的路径,否则容易报c:/programe非WINDOWS命令的错误。(本质是系统环境及环境变量的问题)
- 建议安装在全英文的路径。
- 另外,编译过程中会提示“Ignoring importlib_metadata: markers 'python_version < "3.8"' don't match your environment”警告,应该可以忽略,以防万一使用pip install importlib_metadata安装。在 Python 3.8 及更高版本中,importlib_metadata 的功能已经被集成进了 Python 标准库中的 importlib.metadata 模块。对于 Python 3.8 以下的版本,你可以单独安装 importlib_metadata 来获得相同的功能。
附:
下载源码
在无中文无空格的目录下创建esp-at目录,并在此目录下打开cmd,使用“git clone https://gitee.com/EspressifSystems/esp-at.git”从国内源克隆代码;
重定向pip源
有一些库即使有梯子也不能安装,需改源,在C:\Users\用户名\AppData\Roaming\目录下创建pip目录,之后创建pip.ini,复制如下内容到文档中保存;
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
extra-index-url =
https://mirrors.aliyun.com/pypi/simple/
https://mirror.baidu.com/pypi/simple
执行python build.py install
划重点(摘自ESP论坛中版主的描述,略微整理):ESP-AT 工程是 ESP-IDF 基础之上的一个应用,对于这个概念应该先理解。但是 ESP-AT 对 ESP-IDF 有特定版本的要求,在 Windows 平台上执行 build.py menuconfig 的时候,脚本会自动的从 github 上下载对应的 ESP-IDF 版本,之后会在 ESP-AT 的根目录下看到 esp-idf 这个目录,这个 esp-idf 才是 ESP-AT 需要的 ESP-IDF 版本。下载完成之后您需要进入 ESP-AT 根目录下的 esp-idf 执行 install.bat 和 export.bat 脚本重新部署一下编译环境。
我的理解:ESP-AT的编译相对独立,并非使用离线安装包或VSCODE+IDF插件的编译链,而是自己根据GIT到的版本自动从云端下载整套完整的环境并安装和编译。
遇到No module named '某某某'时,执行pip install 某某某,如下图:
安装过程中选择你芯片,如下图:
之后会自动在esp-at工程目录下创建esp-idf目录,用于安装开发工具,目录约2GB,如下图;
安装完成,如下图。
执行install.bat
本步骤目的:安装tools到ESP-AT目录下的esp-idf目录下。Installing ESP-IDF tools
执行cd .\esp-idf\,执行.\install.bat,如下图:
执行export.bat
本步骤目的:设置PATH临时环境变量,使用requirements.core.txt下载依赖
Checking Python compatibility
Setting IDF_PATH: D:\DH\ESP32\IDF-Projects\esp-at\esp-at\esp-idf
……
Checking if Python packages are up to date...
Constraint file: C:\Users\lych\.espressif\espidf.constraints.v5.0.txt
Requirement files:
- D:\DH\ESP32\IDF-Projects\esp-at\esp-at\esp-idf\tools\requirements\requirements.core.txt
Python being checked: C:\Users\lych\.espressif\python_env\idf5.0_py3.12_env\Scripts\python.exe
Python requirements are satisfied.
如下图:
执行python build.py menuconfig
执行cd ..到esp-at目录下,执行python build.py menuconfig进行工程配置和自动下载相关工具。
遇到少包的,进行下载,后重新执行python build.py menuconfig直至成功。如下图。
进入配置界面,无需配置,按q退出。
执行python build.py build
之前安装时就卡在这里,无法下载安装esptool,清理PC环境重试后成功。
编译完成
编译成功
其中默认安装的.espressif目录约3.16GB。esp-at工程目录约1.75GB,esp-at/esp-idf目录约1.41GB。