本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
乐鑫-S ESP32 2 入门
重要
此参考集成托管在 Amazon-Free RTOS 存储库中,该存储库已弃用。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-Free RTOS 存储库的免费RTOS项目,请参阅。亚马逊免费版 RTOS Github 存储库迁移指南
注意
要探索如何将免费RTOS模块化库和演示集成到您自己的 Espressif IDF 项目中,请参阅我们精选的-C3 平台参考集成
本教程向您展示如何开始使用乐鑫 ESP32-S2 SoC 和-S2-Saola-1 开发板。ESP32
概述
该教程将指导您完成以下步骤:
-
将主板连接到主机。
-
在您的主机上安装软件,以开发和调试微控制器主板的嵌入式应用程序。
-
将免费RTOS演示应用程序交叉编译成二进制映像。
-
将应用程序二进制映像加载到您的主板中,然后运行该应用程序。
-
使用串行连接监控和调试正在运行的应用程序。
先决条件
在开始使用乐鑫看板RTOS上的免费版之前,您必须设置 Amazon 账户和权限。
注册获取 Amazon Web Services 账户
如果您没有 Amazon Web Services 账户,请完成以下步骤来创建一个。
要注册 Amazon Web Services 账户
按照屏幕上的说明进行操作。
在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。
当您注册时 Amazon Web Services 账户,就会创建Amazon Web Services 账户根用户一个。根用户有权访问该账户中的所有 Amazon Web Services 服务 和资源。作为安全最佳实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务。
Amazon 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 https://aws.amazon.com/
保护IAM用户
注册后 Amazon Web Services 账户,通过开启多重身份验证 (MFA) 来保护您的管理用户。有关说明,请参阅《用户指南》中的为IAM用户启用虚拟MFA设备(控制台)。IAM
要允许其他用户访问您的 Amazon Web Services 账户 资源,请创建IAM用户。为了保护您的IAM用户,请打开MFA并仅向IAM用户提供执行任务所需的权限。
有关创建和保护IAM用户的更多信息,请参阅《IAM用户指南》中的以下主题:
要提供访问权限,请为您的用户、组或角色添加权限:
-
IAM通过身份提供商管理的用户:
创建适用于身份联合验证的角色。按照《IAM用户指南》中为第三方身份提供商创建角色(联合)中的说明进行操作。
-
IAM用户:
-
创建您的用户可以担任的角色。按照《用户指南》中为IAM用户创建角色中的IAM说明进行操作。
-
(不推荐使用)将策略直接附加到用户或将用户添加到用户组。按照《用户指南》中向用户(控制台)添加权限中的IAM说明进行操作。
-
开始使用
注意
本教程中的 Linux 命令要求您使用 Bash Shell。
-
设置 Espressif 硬件。
有关设置 ESP32-S2 开发板硬件的信息,请参阅-S ESP322-Saola-
1 入门指南。 重要
当您阅读到 Espressif 手册的入门 部分时,请暂停并返回到此页面上的说明部分。
-
设置开发环境。
要与您的主板通信,必须安装工具链。乐鑫为他们的开发板提供了 ESP-IDF 来开发软件。由于 ESP-IDF 将自己的自由RTOS内核版本集成为组件,因此 Amazon Free RTOS 包含一个自定义版本的 ESP-IDF v4.2,其中删除了自由RTOS内核。这修复了编译时重复文件的问题。要使用 Amazon Free 附带的自定义版本 ESP-IDF v4.2RTOS,请按照以下主机操作系统的说明进行操作。
Windows
-
下载 ESP-适用于 Windows IDF 的通用在线安装程序
。 -
运行通用在线安装程序。
-
当你进入 “下载或使用 ESP-” 步骤时IDF,选择 “使用现有 ESP-IDF 目录”,然后将 “选择现有 ESP-IDF 目录” 设置为
。freertos
/vendors/espressif/esp-idf -
完成安装。
macOS
-
按照 macOS 标准设置工具链先决条件 (ESP-IDF v4.2)
中的说明进行操作。 重要
当您到达 “后续步骤” 下的 “获IDF取 ESP-” 说明时,请停下来,然后返回本页上的说明。
-
打开一个命令行窗口。
-
导航到免费RTOS下载目录,然后运行以下脚本下载并安装适用于您平台的 espressif 工具链。
vendors/espressif/esp-idf/install.sh
-
使用以下命令将 ESP-IDF 工具链工具添加到终端的路径中。
source vendors/espressif/esp-idf/export.sh
Linux
-
按照适用于 Linux 的标准设置工具链先决条件 (ESP-IDF v4.2) 中的说明进行
操作。 重要
当您到达 “后续步骤” 下的 “获IDF取 ESP-” 说明时,请停下来,然后返回本页上的说明。
-
打开一个命令行窗口。
-
导航到免费RTOS下载目录,然后运行以下脚本下载并安装适用于您的平台的 Espressif 工具链。
vendors/espressif/esp-idf/install.sh
-
使用以下命令将 ESP-IDF 工具链工具添加到终端的路径中。
source vendors/espressif/esp-idf/export.sh
-
-
建立串行连接。
-
要在主机和 ESP32-DevKit C 之间建立串行连接,请安装 CP21 0x USB 到 UART Bridge VCP 驱动程序。您可以从 Silicon Labs
下载这些驱动程序。 -
按照步骤与建立串行连接ESP32
。 -
建立串行连接后,记下主板连接的串行端口。您需要它来刷写演示。
-
配置免费RTOS演示应用程序
在本教程中,免费RTOS配置文件位于
。(例如,如果选择 freertos
/vendors/espressif/boards/board-name
/aws_demos/config_files/FreeRTOSConfig.hAFR_BOARD espressif.esp32_devkitc
,则配置文件位于以下文件中:
。) freertos
/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h
-
如果您运行的是 macOS 或 Linux,请打开终端提示符。如果你运行的是 Windows,请打开 “ESP-IDF 4.xCMD” 应用程序(如果在安装 ESP-IDF 工具链时包含此选项),否则打开 “命令提示符” 应用程序。
-
要验证您是否已安装 Python3,请运行以下命令:
python --version
此时显示已安装的版本。如果您未安装 Python 3.0.1 或更高版本,可以从 Python
网站进行安装。 -
你需要 Amazon 命令行界面 (CLI) 才能运行 Amazon IoT 命令。如果你运行的是 Windows,请使用
easy_install awscli
命令 Amazon CLI在 “命令” 或 “ESP-IDF 4.xCMD” 应用程序中安装。如果你运行的是 macOS 或 Linux,请参阅安装。 Amazon CLI
-
运行
aws configure
并 Amazon CLI使用您的 Amazon 访问密钥 ID、私有访问密钥和默认 Amazon 区域进行配置。有关更多信息,请参阅配置 Amazon CLI。
-
使用以下命令安装 Amazon SDK适用于 Python 的 (boto3):
-
在 Windows 上,在 “命令” 或 “ESP-IDF 4.xCMD” 应用程序中,运行
easy_install boto3
-
在 macOS 或 Linux 上,运行
pip install tornado nose --user
然后运行
pip install boto3 --user
-
免费RTOS版包含SetupAWS.py
脚本,可让您更轻松地设置乐鑫主板以进行连接。 Amazon IoT
运行配置脚本
-
要配置此脚本,请打开
并设置以下属性:freertos
/tools/aws_config_quick_start/configure.jsonafr_source_dir
-
计算机上的
目录的完整路径。确保您使用正斜杠来指定此路径。freertos
thing_name
-
您要为代表您的看板 Amazon IoT 的事物分配的名称。
wifi_ssid
-
您SSID的 Wi-Fi 网络的。
wifi_password
-
Wi-Fi 网络的密码。
wifi_security
-
Wi-Fi 网络的安全类型。下面是有效的安全类型:
-
eWiFiSecurityOpen
(开放,不安全) -
eWiFiSecurityWEP
(WEP安全) -
eWiFiSecurityWPA
(WPA安全) -
eWiFiSecurityWPA2
(WPA2安全)
-
-
如果您运行的是 macOS 或 Linux,请打开终端提示符。如果你运行的是 Windows,请打开 “ESP-IDF 4.xCMD” 或 “命令” 应用程序。
-
导航到
目录运行freertos
/tools/aws_config_quick_startpython SetupAWS.py setup
脚本执行以下操作:
-
创建 Amazon IoT 事物、证书和策略。
-
将 Amazon IoT 策略附加到证书,将证书附加到 Amazon IoT 事物。
-
使用您的 Amazon IoT 终端节点SSID、Wi-Fi 和凭据填充
aws_clientcredential.h
文件。 -
设置您的证书和私有密钥格式,然后将其写入
aws_clientcredential_keys.h
标头文件
注意
出于演示目的,对该证书进行了硬编码。生产级应用程序应将这些文件存储在安全位置。
有关
SetupAWS.py
的更多信息,请参阅
目录中的freertos
/tools/aws_config_quick_startREADME.md
文件。 -
监控 Amazon 云端MQTT消息
在运行免费RTOS演示项目之前,您可以在 Amazon IoT 控制台中设置MQTT客户端,以监控您的设备发送到 Amazon 云端的消息。
向 Amazon IoT MQTT客户订阅该MQTT主题
-
登录 Amazon IoT 控制台
。 -
在导航窗格中,选择测试,然后选择MQTT测试客户端。
-
在 Subscription topic (订阅主题)中,输入
,然后选择 Subscribe to topic (订阅主题)。your-thing-name
/example/topic
当演示项目在您的设备上成功运行时,您会多次看到“Hello World!” 发送到您订阅的主题。
使用 idf.py 脚本构建、刷新和运行免费RTOS演示项目
您可以使用 Espressif 的IDF实用程序生成构建文件、生成应用程序二进制文件并刷新开发板。
RTOS在 Windows、Linux 和 macOS 上免费构建和刷新 (ESP-IDF v4.2)
使用 idf.py
脚本构建项目并将二进制文件刷写到设备上。
注意
某些设置可能需要您使用在 idf.py
中使用端口选项 -p port-name
来指定正确的端口,如以下示例所示。
idf.py -p /dev/cu.usbserial-00101301B flash
构建和刷写项目
-
导航到免费RTOS下载目录的根目录。
-
在命令行窗口中,输入以下命令将 ESP-IDF 工具添加到终端中PATH:
- Windows(“命令”应用程序)
-
vendors\espressif\esp-idf\export.bat
- Windows (” ESP-IDF 4.x CMD "应用程序)
-
(打开应用程序时就已经完成此操作。)
- Linux / macOS
-
source vendors/espressif/esp-idf/export.sh
-
在
build
目录中配置 cmake 并使用以下命令构建固件映像。idf.py -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 build
您应该会看到以下示例的输出。
Executing action: all (aliases: build) Running cmake in directory /path/to/hello_world/build Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -DCCACHE_ENABLE=0 /path/to/hello_world"... -- The C compiler identification is GNU 8.4.0 -- The CXX compiler identification is GNU 8.4.0 -- The ASM compiler identification is GNU ... (more lines of build system output) [1628/1628] Generating binary image from built executable esptool.py v3.0 Generated /path/to/hello_world/build/aws_demos.bin Project build complete. To flash, run this command: esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32s2 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x16000 build/ota_data_initial.bin 0x20000 build/aws_demos.bin or run 'idf.py -p (PORT) flash'
如果没有错误,构建会生成固件二进制 .bin 文件。
-
使用以下命令擦除开发主板的闪存。
idf.py erase_flash
-
使用
idf.py
脚本将应用程序二进制文件刷写到主板。idf.py flash
-
使用以下命令监控主板串行端口的输出。
idf.py monitor
注意
-
您可以合并这些命令,如以下示例所示。
idf.py erase_flash flash monitor
-
对于某些主机设置,您必须在刷写主板时指定端口,如以下示例所示。
idf.py erase_flash flash monitor -p /dev/ttyUSB1
-
使用 Build 和 Flas RTOS h 免费 CMake
除了使用提供的idf.py
脚本IDFSDK来生成和运行代码外,您还可以使用生成项目CMake。目前,它支持 Unix Makefile 和 Ninja 构建系统。
构建和刷写项目
-
在命令行窗口中,导航到免费RTOS下载目录的根目录。
-
运行以下脚本,将 ESP-IDF 工具添加到你的 shell 中PATH。
-
Windows
vendors\espressif\esp-idf\export.bat
-
Linux / macOS
source vendors/espressif/esp-idf/export.sh
-
-
使用以下命令来生成构建文件。
-
对于 Unix Makefiles
cmake -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -S . -B ./
YOUR_BUILD_DIRECTORY
-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -
对于 Ninja
cmake -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -S . -B ./
YOUR_BUILD_DIRECTORY
-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -GNinja
-
-
构建 项目。
-
对于 Unix Makefiles
make -C ./
YOUR_BUILD_DIRECTORY
-j8 -
对于 Ninja
ninja -C ./
YOUR_BUILD_DIRECTORY
-j8
-
-
擦除闪存,然后刷写主板。
-
对于 Unix Makefiles
make -C ./
YOUR_BUILD_DIRECTORY
erase_flashmake -C ./
YOUR_BUILD_DIRECTORY
flash -
对于 Ninja
ninja -C ./
YOUR_BUILD_DIRECTORY
erase_flashninja -C ./
YOUR_BUILD_DIRECTORY
flash
-
其他信息
有关使用 Espressif ESP32 主板和对其进行故障排除的更多信息,请参阅以下主题: