物联网开发学习笔记——目录索引
参考官网:ESP-IDF 物联网开发框架 | 乐鑫科技
ESP-IDF 是乐鑫官方推出的物联网开发框架,支持 Windows、Linux 和 macOS 操作系统。适用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。它基于 C/C++ 语言提供了一个自给自足的 SDK,方便用户在这些平台上开发通用应用程序。ESP-IDF 目前已服务支持数以亿计的物联网设备,并已开发构建了多种物联网产品,例如照明、消费电子大小家电、支付终端、工控等各类物联网设备
相关资源:
ESP-IDF 入门指南 | 乐鑫科技
ESP-IDF GitHub
ESP-IDF 组件管理工具
参考:Windows 平台工具链的标准设置 - ESP32 - — ESP-IDF 编程指南 v5.1.1 文档
点击如下连接:
Windows Installer Download |
安装包分Online和Offline:
在线安装与离线安装的区别:
在线安装程序非常小,可以安装 ESP-IDF 的所有版本。在安装过程中,安装程序只下载必要的依赖文件,包括 Git For Windows 安装器。在线安装程序会将下载的文件存储在缓存目录 %userprofile%/espressif
中。
离线安装程序不需要任何网络连接。安装程序中包含了所有需要的依赖文件,包括 Git For Windows 安装器。
下载在线安装包esp-idf-tools-setup-online-2.23.exe,并执行
其他选项默认即可,【Chip Targets】可以根据自己开发板按需安装
强烈推进使用OffLine方式安装,下载如下软件安装包:espressif-ide-setup-2.10.0-with-esp-idf-5.0.2.exe
前面和在线安装是一样的,进入如下界面,比较耗时,耐心等待
当看到如下两个命令提示符窗口,恭喜您,安装成功。
现在您已经具备了使用 ESP-IDF 的所有条件,接下来将介绍如何开始您的第一个工程。
复制一个ESP32 示例程序。您可以从 ESP-IDF 中 examples 目录下的 get-started/hello_world 工程开始。
注意:ESP-IDF 编译系统不支持 ESP-IDF 路径或其工程路径中带有空格。
将 get-started/hello_world 工程复制至您本地的 esp-workspace
目录下:
# 1. 创建esp工作目录esp-workspace PS D:\> mkdir esp-workspace # 2. 进入工作目录esp-workspace PS D:\> cd esp-workspace # 3. 拷贝hello_world 示例工程到工作目录esp-workspace cp -r $IDF_PATH/examples/get-started/hello_world . PS D:\esp-workspace> cp D:\Espressif\frameworks\esp-idf-v5.0.2\examples\get-started\hello_world\ ./ # 4. 进入目录esp-workspace,看是否拷贝过来 PS D:\esp-workspace> dir Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2023/10/15 21:39 hello_world
实际执行:
现在,请将您的 ESP32 开发板连接到 PC,并查看开发板使用的串口。
假如您不知道如何查看开发板连接的端口号,请看备注【查看开发板端口号】
请进入 hello_world
目录,设置 ESP32 为目标芯片,然后运行工程配置工具 menuconfig
。
cd hello_world idf.py set-target esp32 idf.py menuconfig
打开一个新工程后,应首先使用 idf.py set-target esp32
设置“目标”芯片。注意,此操作将清除并初始化项目之前的编译和配置(如有)。您也可以直接将“目标”配置为环境变量(此时可跳过该步骤)。更多信息,请见 Select the Target Chip: set-target。
正确操作上述步骤后,系统将显示以下菜单:
您可以通过此菜单设置项目的具体变量,包括 Wi-Fi 网络名称、密码和处理器速度等。hello_world
示例项目会以默认配置运行,因此在这一项目中,可以跳过使用 menuconfig
进行项目配置这一步骤。
请使用以下命令,编译烧录工程:
idf.py build
运行以上命令可以编译应用程序和所有 ESP-IDF 组件,接着生成引导加载程序、分区表和应用程序二进制文件。
如果一切正常,编译完成后将生成 .bin 文件。
运行以下命令,将刚刚生成的二进制文件烧录至您的 ESP32 开发板:
idf.py -p PORT flash
请将 PORT 替换为 ESP32 开发板的串口名称。如我的开发板是COM3, 我使用如下命令:idf.py -p COM3 flash
烧录完成后,开发板将会复位,应用程序 “hello_world” 开始运行。
您可以使用 idf.py -p PORT monitor
命令,监视 “hello_world” 工程的运行情况。注意,不要忘记将 PORT 替换为您的串口名称。
对照hello_world_main.c 代码,确认一下串口log打印
#include
#include
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_chip_info.h"
#include "esp_flash.h"
void app_main(void)
{
printf("Hello world!\n");
/* Print chip information */
esp_chip_info_t chip_info;
uint32_t flash_size;
esp_chip_info(&chip_info);
printf("This is %s chip with %d CPU core(s), %s%s%s%s, ",
CONFIG_IDF_TARGET,
chip_info.cores,
(chip_info.features & CHIP_FEATURE_WIFI_BGN) ? "WiFi/" : "",
(chip_info.features & CHIP_FEATURE_BT) ? "BT" : "",
(chip_info.features & CHIP_FEATURE_BLE) ? "BLE" : "",
(chip_info.features & CHIP_FEATURE_IEEE802154) ? ", 802.15.4 (Zigbee/Thread)" : "");
unsigned major_rev = chip_info.revision / 100;
unsigned minor_rev = chip_info.revision % 100;
printf("silicon revision v%d.%d, ", major_rev, minor_rev);
if(esp_flash_get_size(NULL, &flash_size) != ESP_OK) {
printf("Get flash size failed");
return;
}
printf("%" PRIu32 "MB %s flash\n", flash_size / (uint32_t)(1024 * 1024),
(chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
printf("Minimum free heap size: %" PRIu32 " bytes\n", esp_get_minimum_free_heap_size());
for (int i = 10; i >= 0; i--) {
printf("Restarting in %d seconds...\n", i);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
printf("Restarting now.\n");
fflush(stdout);
esp_restart();
}
看到打印的 “Hello world!” 了。
您可使用快捷键 Ctrl+]
,退出 IDF 串口监视器。
到此,恭喜,您已完成 ESP-IDF开发环境的搭建,并可以开始ESP32的入门学习了!
1. 首先电脑和开发板使用usb数据线相连
2. 开发板如果没有安装驱动程序,需要下载并安装相应的开发板usb转串口驱动程序
我的esp32开发板使用的是 CP2102 USB 转 UART
驱动芯片制造商官网下载:CP210x USB 至 UART 桥 VCP 驱动器 - 芯科科技
打开驱动程序
点击【下一步】,驱动程安装完毕
3. 查看开发板连接的端口号
3.1 打开“设备管理器”
打开“设备管理器”有两种方法:
方法1: 电脑开始菜单点击鼠标右键,然后点击【设备管理器】,如下图
方法2:桌面找到【此电脑】/【我的电脑】/【计算机】图标然后鼠标右键,在弹窗中选中【管理】或者【属性】,然后选择【设备管理器】
3.2 查看开发板连接端口,如下图“Silicon Labs CP210x USB to UART Bridge” 后面所显示的COM端口号就是开发板的端口号了。在上图中,开发板连接的端口号是COM3。
注意:您的电脑里所显示的COM端口号与下图显示的会有所不同。请牢记您电脑中的开发板所连接的COM端口号。
PuTTY SSH Client是一款非常好用的串口终端程序,既可用于 Windows 也可用于 Linux。
可以快速直观的设置串口参数:波特率 = 115200(需要根据程序修改),数据位 = 8,停止位 = 1,奇偶校验 = N。
物联网开发学习笔记——目录索引_liuzl_2010的博客-CSDN博客