如何编译和开发自己的 AT 工程————ESP32

一、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 命令
在这里插入图片描述
在这里插入图片描述
然后编译烧录
在这里插入图片描述

六、感想

首先,学会了在命令操作符的提示下获得更多信息,最开始看的时候很懵,这么长怎么看,但是经过一次次的折磨和尝试慢慢觉得这是一个非常直接非常快捷的发现问题、解决问题的途径。
其次,就是敢于尝试。自己试错的代价确实很大,需要花费大量时间,但是也正是这个过程,积累下了寻找解决问题的途径,方法。
最后,还没到最后,继续加油~~

STM32系列是一种微控制器芯片系列,其中HAL库是STM32提供的一个高级应用层库,可以方便地进行硬件抽象和外设驱动。ESP8266-01S是一种常用的物联网模块,可以通过Wi-Fi连接互联网。OneNET是华为提供的物联网云平台,可以将设备的数据上传到云端。 要在STM32系列芯片上利用HAL库连接ESP8266-01S模块,并实现数据上传到OneNET平台,需执行以下步骤: 1. 初始化STM32的串口和GPIO配置,以连接ESP8266-01S模块。通过串口与模块进行通信,以发送AT指令控制模块的工作。 2. 通过串口发送AT指令,使ESP8266-01S模块连接到Wi-Fi网络。这些AT指令包括设置Wi-Fi SSID、密码等,并执行连接操作。 3. 通过串口发送AT指令,使ESP8266-01S模块与OneNET平台建立TCP或UDP连接。这些AT指令包括设置服务器地址和端口号,并执行连接操作。 4. 编写STM32的C代码,通过HAL库函数,将需要上传的数据封装为JSON格式,并发送到ESP8266-01S模块。 5. ESP8266-01S模块收到数据后,通过已建立的TCP或UDP连接,将数据上传到OneNET平台。通过发送AT指令,模块将数据作为HTTP请求发送到OneNET的数据接口。 6. 在OneNET平台上可以配置数据接口和数据流。数据接口是OneNET平台提供的用于接收数据的API接口,数据流是数据的分类和整理方式。 通过以上步骤,可以实现STM32系列芯片利用HAL库连接ESP8266-01S模块,并通过模块将数据上传到OneNET平台。这样,可以方便地将STM32芯片连接到物联网,并通过OneNET平台实现远程监控和管理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值