一、esp-at获取
在一个可用目录下使用git 工具克隆乐鑫官网的esp-at 项目
git clone https://github.com/espressif/esp-at.git
如果嫌太慢可以克隆这个网址:
git clone -b release/v3.4 https://github.com.cnpmjs.org/espressif/esp-at.git
二、依赖环境安装
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
python -m pip install pyyaml xlrd
三、安装子模块
如果使用esp-at 文件中的 “build.py” 会自动克隆esp-idf子模块,但是会比较漫长,而且ESP8266和ESP32的子模块都不一样,不能公用,使用时都要分别下载。自己下载的速度会更快一些,因为我们不使用: 乐鑫的官方GitHub.
1.ESP8266的子模块安装
克隆好esp-at 之后,在esp-at 文件下运行:
cd esp-at
git clone -b release/v3.4 https://github.com.cnpmjs.org/espressif/ESP8266_RTOS_SDK.git esp-idf
然后进入esp-idf 文件进行安装和配置环境变量,
cd esp-idf
./install.sh
正常情况下是会下载一些文件,安装完成之后会有提示运行 export.sh
如果出现这种问题:
那是因为自python 2.7版本之后加入了验证的环节,导致URL连接错误。
解决方法:
只需要把验证禁用就可以了,在 /usr/lib/python3.8/urllib/request.py 插入:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
如果再不行,请克隆低一点的版本; 博主在安装esp-idf v4.3版本的时候不行,但是v4.2版本却可以。可能是新版使用的python版本不一样而导致的。
拉取ESP8266支持的子模块
在esp-idf目录下,打开 .gitmodules 文件
cd esp-idf
vi .gitmodules
把url 都改成:https://gitee.com/chencong_cc 。这是安信可工程师的个人仓库,可用。
保存退出后,执行:
git submodule init
git submodule update
成功后是这样的:
在拉取支持的子模块之后,请运行 “export.sh” 配置环境变量,就可以回到esp-at目录运行build.py,第一次极有可能会出现下面这个错误,提示没有flash_project_args文件:
cd esp-at
./build.sh
这是因为在build.py之前需要进行配置,来生成flash_project_args文件,使用以下指令进行配置
./build.sh menuconfig
这是你会看到有这种配置界面出现,如果无法出现这个界面,请回到esp-idf目录继续运行 install.sh 并重新运行export.sh:
方向键右键选择 “Save” 保存,左键选择 “Exit” 退出,之后从新执行 build.py;下面是一些 build.py 的指令:
all //编译所有工程
app //只编译app
app-flash //只烧写app的程序
bootloader //只编译bootloader
bootloader-flash //只烧写bootloader
clean //清除build 文件里的聂荣
confserver //运行 JSON 配置服务
efuse_common_table Genereate C-source for IDF's eFuse fields.
efuse_custom_table Genereate C-source for user's eFuse fields.
encrypted-app-flash Flash the encrypted app only.
encrypted-flash Flash the encrypted project.
erase_flash //擦除flash.
erase_otadata //擦除OTA数据
flash //烧写程序
fullclean //清除build 的配置
menuconfig //运行配置工具
monitor //显示串口调试
partition_table Build only partition table.
partition_table-flash Flash partition table only.
read_otadata Read otadata partition.
reconfigure Re-run CMake.
show_efuse_table Print eFuse table.
size Print basic size information about the app.
size-components Print per-component size information.
size-files Print per-source-file size information.
在运行编译命令的时候(./build.py build)也可能出现这个错误:
解决: 这是因为缺少一个依赖导致的,安装以下就可以了:
python -m pip install pyyaml xlrd
2.esp32子模块
esp-at 之前有拉取过esp-idf,需要删除三个文件或文件夹:
1、build 文件夹
2、sdkconfig 文件
3、esp-idf 文件夹
删除完之后重新运行 ./build.py,或者自己克隆esp-idf;
cd esp-at
git clone -b release/v4.2 https://github.com.cnpmjs.org/espressif/esp-idf.git
同样的,克隆完之后也需要运行 ./install.sh,之后的过程就和安装ESP8266的过程一样。
这篇文档还在持续更新,注意收藏哦!