Espressif ESP32-WROOM-32SE 入門 - 免費RTOS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Espressif ESP32-WROOM-32SE 入門

重要

此參考整合託管在已取代的 Amazon-FreeRTOS 儲存庫上。我們建議您在建立新專案時從這裡開始。如果您已經擁有以現在已棄用之 Amazon-FreeRTOS 儲存庫為基礎的現有免費RTOS專案,請參閱 Amazon-FreeRTOS Github 儲存庫遷移指南

注意
  • 若要探索如何在您自己的 Espressif IDF專案中整合免費RTOS模組化程式庫和示範,請參閱 ESP32-C3 平台的精選參考整合

  • 目前 ESP32-WROOM-32SE 的 免費RTOS連接埠不支援對稱多處理 (SMP) 功能。

本教學課程說明如何開始使用 Espressif ESP32-WROOM-32SE 。若要從合作夥伴 AWS 裝置目錄中的合作夥伴購買,請參閱 ESP32-WROOM-32SE

概觀

本教學課程將指引您完成下列步驟:

  1. 將主機板連線到主機機器。

  2. 在主機機器上安裝軟體,以開發和偵錯微控制器面板的內嵌應用程式。

  3. 將 免費RTOS示範應用程式交叉編譯至二進位映像。

  4. 將應用程式二進位映像載入主機板,然後執行應用程式。

  5. 使用序列連線來監控執行中的應用程式並進行偵錯。

必要條件

在 Espressif 討論板上開始使用 FreeRTOS 之前,您必須設定 AWS 您的帳戶和許可。

註冊 AWS 帳戶

如果您沒有 AWS 帳戶,請完成下列步驟以建立 。

若要註冊 AWS 帳戶
  1. 開啟https://portal.aws.amazon.com/billing/註冊

  2. 請遵循線上指示進行。

    部分註冊程序需接收來電,並在電話鍵盤輸入驗證碼。

    當您註冊 時 AWS 帳戶,AWS 帳戶根使用者會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務,請將管理存取權指派給使用者,並且僅使用根使用者來執行需要根使用者存取權的任務

AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時前往 https://aws.amazon.com/ 並選擇我的帳戶 來檢視目前的帳戶活動和管理帳戶

建立具有管理存取權的使用者

註冊 後 AWS 帳戶,請保護您的 AWS 帳戶根使用者、啟用 AWS IAM Identity Center並建立管理使用者,這樣您就不會將根使用者用於日常任務。

保護您的 AWS 帳戶根使用者
  1. 選擇根使用者並輸入 AWS 帳戶 您的電子郵件地址,以帳戶擁有者AWS Management Console身分登入 。在下一頁中,輸入您的密碼。

    如需使用根使用者登入的說明,請參閱 AWS 登入 使用者指南中的以根使用者身分登入

  2. 為您的根使用者開啟多重要素驗證 (MFA)。

    如需指示,請參閱 IAM 使用者指南 中的為 AWS 帳戶 根使用者 (主控台) 啟用虛擬MFA裝置

建立具有管理存取權的使用者
  1. 啟用IAM身分中心。

    如需指示,請參閱 AWS IAM Identity Center 使用者指南中的啟用 AWS IAM Identity Center

  2. 在 IAM Identity Center 中,將管理存取權授予使用者。

    如需使用 IAM Identity Center 目錄 作為身分來源的教學課程,請參閱 AWS IAM Identity Center 使用者指南 中的使用 設定使用者存取權 IAM Identity Center 目錄

以具有管理存取權的使用者身分登入
  • 若要使用 IAM Identity Center 使用者登入,請使用您建立 IAM Identity Center 使用者時URL傳送到您電子郵件地址的登入。

    如需使用 IAM Identity Center 使用者登入的協助,請參閱 AWS 登入 使用者指南 中的登入 AWS 存取入口網站

指派存取權給其他使用者
  1. 在 IAM Identity Center 中,建立遵循套用最低權限許可最佳實務的許可集。

    如需指示,請參閱《AWS IAM Identity Center 使用者指南》中的建立許可集

  2. 將使用者指派至群組,然後對該群組指派單一登入存取權。

    如需指示,請參閱《AWS IAM Identity Center 使用者指南》中的新增群組

若要提供存取權,請新增權限至您的使用者、群組或角色:

開始使用

注意

本教學課程中的 Linux 命令要求您使用 Bash Shell。

  1. 設定 Espressif 硬體。

    如需設定 ESP32-WROOM-32SE 開發板硬體的相關資訊,請參閱 ESP32-DevKitC V4 入門指南

    重要

    當您到達本指南的安裝步驟區段時,請遵循 直到完成步驟 4 (設定環境變數)。完成步驟 4 後停止 ,並遵循此處的其餘步驟。

  2. 從 下載 Amazon FreeRTOSGitHub。(如需說明,請參閱 README.md 檔案。)

  3. 設定您的開發環境

    若要與討論板通訊,您必須安裝工具鏈。Espressif 提供 ESP-IDF 來為其界面卡開發軟體。由於 ESP-IDF 已將自己的 FreeRTOS Kernel 版本整合為元件,Amazon FreeRTOS 包含自訂版本的 ESP-IDF v4.2,已移除 FreeRTOS Kernel。這可以修正編譯時重複檔案的問題。若要使用 Amazon Free 隨附的自訂 ESP-IDF v4.2 版本RTOS,請依照下列指示操作主機的作業系統。

    Windows

    1. 下載 ESPIDF的 Universal Online Installer for Windows。

    2. 執行 Universal Online Installer

    3. 當您前往步驟下載或使用 ESP-IDF 時,請選取使用現有的 ESP目錄IDF,並將選擇現有的 ESPIDF目錄設定為 freertos/vendors/espressif/esp-idf

    4. 完成安裝。

    macOS

    1. 請遵循 macOS 的工具鏈先決條件標準設定 (ESP-IDF v4.2) 中的指示。

      重要

      當您達到後續步驟 下的「取得 ESP-IDF」指示時,請停止,然後返回此頁面的指示。

    2. 開啟命令列視窗。

    3. 導覽至 免費RTOS下載目錄,然後執行下列指令碼,為您的平台下載並安裝 espressif 工具鏈。

      vendors/espressif/esp-idf/install.sh
    4. 使用下列命令將 ESP- IDF工具鏈工具新增至終端機的路徑。

      source vendors/espressif/esp-idf/export.sh

    Linux

    1. 請遵循 Linux 的工具鏈先決條件標準設定 (ESP-IDF v4.2) 中的指示。

      重要

      當您達到後續步驟 下的「取得 ESP-IDF」指示時,請停止,然後返回此頁面的指示。

    2. 開啟命令列視窗。

    3. 導覽至 免費RTOS下載目錄,然後執行下列指令碼,為您的平台下載並安裝 Espressif 工具鏈。

      vendors/espressif/esp-idf/install.sh
    4. 使用下列命令將 ESP- IDF工具鏈工具新增至終端機的路徑。

      source vendors/espressif/esp-idf/export.sh
  4. 建立序列連線。

    1. 若要在主機機器與 ESP32-WROOM-32SE 之間建立序列連線,請將 CP210x 安裝USB至 UART Bridge VCP驅動程式。您可以從 Silicon Labs 下載這些驅動程式。

    2. 請依照步驟使用 建立序列連線ESP32

    3. 在您建立序連接之後,請記下開發板連接的序列連接埠。您需要它來閃爍示範。

設定 免費RTOS示範應用程式

在此教學課程中,免費RTOS組態檔案位於 freertos/vendors/espressif/boards/board-name/aws_demos/config_files/FreeRTOSConfig.h。(例如,如果選擇 AFR_BOARD espressif.esp32_devkitc ,則組態檔案位於 freertos/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h。)

重要

ATECC608A 裝置具有一次性初始化,在專案第一次執行時 (呼叫 期間) 鎖定在裝置上C_InitToken。不過,免費RTOS示範專案和測試專案具有不同的組態。如果裝置在示範專案組態期間鎖定,並非測試專案中的所有測試都會成功。

  1. 按照中的步驟設定 免費RTOS示範專案設定免費RTOS示範。當您進入最後一個步驟時,若要格式化您的 AWS IoT 憑證 ,請停止並執行下列步驟。

  2. Microchip 已提供數種指令碼工具,以協助設定 ATECC608A 組件。導覽至 freertos/vendors/microchip/example_trust_chain_tool 目錄並開啟 README.md 檔案。

  3. 若要佈建您的裝置,請遵循 README.md 檔案中的指示。這些步驟如下:

    1. 使用 建立並註冊憑證授權機構 AWS。

    2. 在 ATECC608A 上產生金鑰,並匯出公有金鑰和裝置序號。

    3. 為裝置產生憑證,並向 註冊該憑證 AWS。

  4. 按照開發人員模式金鑰佈建的指示,將憑證授權機構憑證和裝置憑證載入至裝置。

在 AWS Cloud 上監控MQTT訊息

在執行免費RTOS示範專案之前,您可以在 AWS IoT 主控台中設定MQTT用戶端,以監控裝置傳送至 AWS Cloud 的訊息。

使用 AWS IoT MQTT用戶端訂閱MQTT主題
  1. 登入 AWS IoT 主控台

  2. 在導覽窗格中,選擇測試 ,然後選擇MQTT測試用戶端

  3. 訂閱主題 中,輸入 your-thing-name/example/topic,然後選擇訂閱主題

使用 idf.py 指令碼建置、快閃和執行 免費RTOS示範專案

您可以使用 Espressif 的IDF公用程式 (idf.py) 來產生建置檔案、建置應用程式二進位檔,以及將二進位檔快閃到裝置上。

注意

有些設定可能需要搭配 使用連接埠選項 "-p port-name" idf.py來指定正確的連接埠,如下列範例所示。

idf.py -p /dev/cu.usbserial-00101301B flash
在 Windows、Linux 和 macOS 上免費RTOS建置和快閃 (ESP-IDF v4.2)
  1. 導覽至 免費RTOS下載目錄的根目錄。

  2. 在命令列視窗中,輸入下列命令,將 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
  3. build目錄中設定 cmake,並使用下列命令建置韌體映像。

    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 檔案。

  4. 使用以下命令清除開發板的快閃記憶體。

    idf.py erase_flash
  5. 使用 idf.py指令碼將應用程式二進位檔案快閃至您的討論板。

    idf.py flash
  6. 使用下列命令來監控您界面卡序列連接埠的輸出。

    idf.py monitor
    注意
    • 您可以組合這些命令,如下列範例所示。

      idf.py erase_flash flash monitor
    • 對於某些主機設定,您必須在閃爍界面卡時指定連接埠,如下列範例所示。

      idf.py erase_flash flash monitor -p /dev/ttyUSB1

使用 建置 和 Flash FreeRTOS CMake

除了使用 提供的idf.py指令碼IDFSDK來建置和執行程式碼之外,您也可以使用 建置專案CMake。目前支援 Unix Makefile 和 Ninja 建置系統。

建置和快閃專案
  1. 在命令列視窗中,導覽至免費RTOS下載目錄的根目錄。

  2. 執行下列指令碼,將 ESP- IDF工具新增至 Shell 的 PATH。

    Windows
    vendors\espressif\esp-idf\export.bat
    Linux / macOS
    source vendors/espressif/esp-idf/export.sh
  3. 輸入下列命令以產生建置檔案。

    使用 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
    使用 Ninja
    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
  4. 清除快閃記憶體,然後快閃記憶體主機板。

    使用 Unix Makefiles
    make -C ./YOUR_BUILD_DIRECTORY erase_flash
    make -C ./YOUR_BUILD_DIRECTORY flash
    使用 Ninja
    ninja -C ./YOUR_BUILD_DIRECTORY erase_flash
    ninja -C ./YOUR_BUILD_DIRECTORY flash

其他資訊

如需使用 Espressif ESP32界面卡和進行故障診斷的詳細資訊,請參閱下列主題: