本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始使用 Esif ESP32-WROOM-32SE
本教程将向您展示如何开始使用 Esif ESP32-WROOM-32SE。从我们的合作伙伴处购买Amazon合作伙伴设备目录,参见SP32-WROOM-32SE
目前,ESP32-WROOM-32SE 的 FreeRTOS 端口不支持对称多处理功能(SMP)。
概览
该教程将指导您完成以下步骤:
-
将主板连接到主机。
-
在您的主机上安装软件,以开发和调试微控制器主板的嵌入式应用程序。
-
将 FreeRTOS 演示应用程序交叉编译为二进制映像。
-
将应用程序二进制映像加载到您的主板中,然后运行该应用程序。
-
使用串行连接监控和调试正在运行的应用程序。
先决条件
在 Esif 主板上开始使用 FreeRTOS 之前,您必须设置Amazon账户和权限。
要创建账户,请参阅创建并激活Amazon账户
添加Amazon Identity and Access Management(IAM) 用户转入您的账户,请参阅添加用户中的IAM 用户指南. 向 IAM 用户授予以下权限:Amazon IoT和 FreeRTOS,将以下 IAM 托管策略附加到您的 IAM 用户:
-
AmazonFreeRTOSFullAccess
— 允许对 IAM 用户的所有 FreeRTOS 资源 (freertos:*
) -
AWSIoTFullAccess
— 允许对 IAM 用户的所有 IAM 用户进行完全访问。Amazon IoT资源 (iot:*
)。
要附加AmazonFreeRTOSFullAccess
针对 IAM 用户的策略
-
导航到 IAM 控制台
。 -
在导航窗格中,选择 Users(用户)。
-
在搜索文本框中输入您的用户名,然后从列表中选择该名称。
-
选择 Add permissions(添加权限)。
-
选择 Attach existing policies directly(直接附上现有策略)。
-
在搜索框中,输入AmazonFreeRTOSFullAccess从列表中选择它,然后选择后续:审核。
-
选择 Add permissions(添加权限)。
要附加 AWSIoTFullAccess 针对 IAM 用户的策略
-
导航到 IAM 控制台
。 -
在导航窗格中,选择 Users(用户)。
-
在搜索文本框中输入您的用户名,然后从列表中选择该名称。
-
选择 Add permissions(添加权限)。
-
选择 Attach existing policies directly(直接附上现有策略)。
-
在搜索框中,输入AWSIoTFullAccess从列表中选择它,然后选择后续:审核。
-
选择 Add permissions(添加权限)。
有关 IAM 的更多信息,请参阅 IAM 用户指南。
有关策略的更多信息,请参阅IAM 中的权限和策略.
开始使用 ESP-IDF v4.2
本教程中的 Linux 命令要求您使用 Bash shell。
-
设置 Esif 硬件。
有关设置 ESP32-WROOM-32SE 开发主板硬件的信息,请参见ESP32-devKitc V4 入门指南
. 重要 当您到达一步一步安装请遵循指南的部分,直到完成步骤 4(设置环境变量)。在完成步骤 4 后停下来,然后按照此处的剩余步骤操作。
-
设置开发环境。
要与您的主板进行通信,您需要下载并安装工具链。按照适用于您的主机操作系统的说明操作:
重要 当您到达下的 “Get ESP-IDF” 说明时,当您到达 NAP后续步骤下,停止,然后返回到这些说明。
-
完成安装(Linux /macOS)。
ESP-IDF Windows 安装程序安装所有必要的工具。Linux 和 mac OS X 平台需要额外的步骤才能完成安装。在您之后,请按以下步骤操作:下载并配置 FreeRTOS.
-
打开命令行窗口,导航到 FreeRTOS 下载目录,然后运行以下脚本为您的平台下载并安装 espressif 工具链。
vendors/espressif/esp-idf/install.sh
-
接下来,使用以下命令将 ESP-IDF 工具链工具添加到终端的路径中。
source vendors/espressif/esp-idf/export.sh
-
建立串行连接
-
要在您的主机和 ESP32-WROOM-32SE 之间建立串行连接,请安装 CP210x USB to UART Bridge VCP 驱动程序。您可以从 Silicon Labs
下载这些驱动程序。 -
按照建立与 ESP32 的串行连接
中的步骤操作。 -
建立串行连接后,记下主板连接的串行端口。在构建演示时需要用到它。
下载并配置 FreeRTOS
-
设置环境后,您可以从下载 FreeRTOS
FreeRTOS 控制台
(选择正确的配置和硬件平台例如,与你的设备匹配”连接到Amazon IoT-使用 ATECC608A 的 ESP32-DevKITC“。)
重要 ATECC608A 设备具有一次性初始化功能,该功能在首次运行项目时(在调用期间)被锁定到设备上。
C_InitToken
)。但是,FreeRTOS 演示项目和测试项目的配置不同。如果设备在演示项目配置期间被锁定,则并非测试项目中的所有测试都会成功。 -
按照中的步骤配置 FreeRTOS 演示项目配置 FreeRTOS 演示. 当你到达最后一步要将您的格式化Amazon IoT证书、停止并执行以下步骤。
-
Microchip 提供了多种脚本工具来帮助设置 ATECC608A 部件。导航到
目录并打开freertos
/vendors/microchip/example_trust_chain_toolREADME.md
文件。 -
要配置您的设备,请按照
README.md
文件。相应步骤包括:-
创建证书颁发机构并将其注册到 Amazon。
-
在 ATECC608A 上生成您的密钥,并导出公有密钥和设备序列号。
-
为设备生成证书并将该证书注册到 Amazon。
-
-
按照 开发人员模式密钥预置 的说明,将 CA 证书和设备证书加载到设备上。
在 Amazon 云上监控 MQTT 消息
在运行 FreeRTOS 演示项目之前,您可以在Amazon IoT控制台监控您的设备发送到Amazon云云。
使用 Amazon IoT MQTT 客户端订阅 MQTT 主题
-
登录到 Amazon IoT 控制台
。 -
在导航窗格中,选择测试,然后选择MQTT 测试客户端.
-
In订阅主题下,输入
然后选择订阅主题.your-thing-name
/example/topic
使用 idf.py 脚本构建、刷写并运行 FreeRTOS 演示项目
你可以使用乐鑫的 IDF 实用程序 (idf.py
)生成构建文件,构建应用程序二进制文件,然后将二进制文件刷写到设备上。
某些设置可能要求您使用端口选项”-p port-name
“用idf.py
要指定正确的端口,如以下示例所示。
idf.py -p /dev/cu.usbserial-00101301B flash
在 Windows、Linux 和 macOS 上构建和闪存 FreeRTOS(ESP-IDF v4.2)
-
导航到 FreeRTOS 下载目录的根目录。
-
在命令行窗口中,输入以下命令以将 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
目录并使用以下命令构建固件映像。idf.py -DVENDOR=espressif -DBOARD=esp32_ecc608a_devkitc -DCOMPILER=xtensa-esp32 build
下面的示例您应看到类似下面的输出。
Running cmake in directory /path/to/hello_world/build Executing "cmake -G Ninja --warn-uninitialized /path/to/hello_world"... Warn about uninitialized values. -- Found Git: /usr/bin/git (found version "2.17.0") -- Building empty aws_iot component due to configuration -- Component names: ... -- Component paths: ... ... (more lines of build system output) [527/527] Generating hello-world.bin esptool.py v2.3.1 Project build complete. To flash, run this command: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x10000 build/hello-world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.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
-
使用 CMake 构建和闪存 FreeRTOS
除了使用idf.py
IDF SDK 提供的用于构建和运行代码的脚本,你也可以使用 CMake 构建项目。目前它支持 Unix Makefile 和忍者构建系统。
构建和刷写项目
-
在命令行窗口中,导航到 FreeRTOS 下载目录的根目录。
-
运行以下脚本将 ESP-IDF 工具添加到命令行管理程序的 PATH 中。
- Windows
-
vendors\espressif\esp-idf\export.bat
- Linux/macOS
-
source vendors/espressif/esp-idf/export.sh
-
输入以下命令以生成构建文件。
- 使用 Unix Makefiles
-
cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./
YOUR_BUILD_DIRECTORY
-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 - 随着忍者
-
cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./
YOUR_BUILD_DIRECTORY
-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -GNinja
-
擦掉闪光灯然后闪光板。
- 使用 Unix Makefiles
-
make -C ./
YOUR_BUILD_DIRECTORY
erase_flashmake -C ./
YOUR_BUILD_DIRECTORY
flash - 随着忍者
-
ninja -C ./
YOUR_BUILD_DIRECTORY
erase_flashninja -C ./
YOUR_BUILD_DIRECTORY
flash
其他信息
有关使用 Esif ESP32 主板以及故障排除故障的更多信息,请参见以下主题: