一、ESP-IDF 工具安装器
安装 ESP-IDF 必备工具最简易的方式是从 https://dl.espressif.com/dl/esp-idf/?idf=4.3 中下载 ESP-IDF 工具安装器。
在线安装与离线安装的区别
在线安装程序非常小,可以安装 ESP-IDF 的所有版本。在安装过程中,安装程序只下载必要的依赖文件,包括 Git For Windows 安装器。在线安装程序会将下载的文件存储在缓存目录 %userprofile%/espressif 中。
离线安装程序不需要任何网络连接。安装程序中包含了所有需要的依赖文件,包括 Git For Windows 安装器。
————————————————————————————————————————
二、设置工具
完成ESP-IDF的安装以后,在之后的步骤我们需要在Windows的命令操作符进行操作
具体步骤
install.bat esp32
(这里我之前已经安装过了)
export.bat
至此,你已经可以可以开始准备开发 ESP32 应用程序了。
________________________________________________________________________
三、我的尝试ESP-AT
首先,第一步就是获取ESP-AT
打开终端,切换到您要保存 ESP-AT 的工作目录(我是放在了C:\Espressif\frameworks\esp-idf-v4.4.1),使用 git clone 命令克隆远程仓库,获取 ESP-AT 的本地副本。以下是不同操作系统的获取方式。(在这里仅展示Windows下的操作流程)
git clone --recursive https://github.com/espressif/esp-at.git
//如 果 您 位 于 中 国 或 访 问 GitHub 有 困 难, 也 可 以 使 用
git clone https://gitee.com/EspressifSystems/esp-at.git
//来获取 ESP-AT,可能会更快
然后,安装环境
运行项目工具 install 来安装环境。此安装工具将自动安装依赖的 Python 包、ESP-IDF 仓库以及ESP-IDF 依赖的编译器、工具等。
python build.py install
在这里报了一个ERROR,大概就是有一部分文件克隆失败了。在尝试解决了一通以后,毫无结果,所以决定先试一下下面的步骤。目前,还没发现有什么影响。
当然在第一次安装环境时,需要为 ESP32 设备选择以下配置选项:
• 选择 Platform name
• 选择 Module name
• 启用或禁用 silence mode,启用时将删除一些日志并减少固件的大小。一般情况下请禁用。
• 如果 build/module_info.json 文件存在,上述三个配置选项将不会出现。因此,如果您想重
新配置模组信息,请删除该文件。
最后,连接好你的设备,配置工程
python build.py menuconfig
如果前面没有问题,则会弹出下面的菜单:
————————————————————————————————————————
四、编译烧录
运行以下命令编译工程
python build.py build
显示已经编译完成,并且告诉你每个bin文件烧录的位置。下一步我们就可以进行烧录了~
运行以下命令将生成的固件烧录到 ESP32 设备上
python build.py -p (PORT) -b(波特率) flash
ESP32-SOLO-1的为115200,这些都可以在文件中查找到!cmd提示中虽然没有说明要设置波特率,但是我之前应该是尝试过,没有加波特率,但是失败了。尝试了n次,属实有点记不清了~
注意请用 ESP32 设备的串口名称替换 (PORT)。或者按照提示信息将固件烧录到 flash 中。仍然需要注意替换 (PORT)。
如果 ESP-AT bin 不能启动,并且打印出“ota data partition invalid” ,请运行 python build.py
erase_flash 来擦除整个 flash,然后重新烧录 AT 固件。
至此,就完成了烧录。
————————————————————————————————————————
五、添加自定义AT命令
在完成上述操作以后,我还是很懵逼的,甚至不知道该把代码写到哪里,于是我开始对esp-at的文件一一区查看。大概弄懂了每个文件是干嘛的,当然一知半解。
最后也不是很清楚,就想着反正试错也没什么成本,而且前面的流程都已经操作了不知道多少遍了,抱着大不了从头再来的想法,就直接在main文件中的app_main.c文件开始下手了。当然我大概知道这是不规范的,规范写法等着后面再介绍吧。
最开始呢,我没有选择直接编译ESP32用户指南里的代码,而是选择了乐鑫官方博客上相对简单的例子入手,上连接
ESP-AT 系列: 自定义 AT 命令
然后编译烧录
六、感想
首先,学会了在命令操作符的提示下获得更多信息,最开始看的时候很懵,这么长怎么看,但是经过一次次的折磨和尝试慢慢觉得这是一个非常直接非常快捷的发现问题、解决问题的途径。
其次,就是敢于尝试。自己试错的代价确实很大,需要花费大量时间,但是也正是这个过程,积累下了寻找解决问题的途径,方法。
最后,还没到最后,继续加油~~