Espressif ESP32-WROOM-32SE の開始方法 - FreeRTOS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Espressif ESP32-WROOM-32SE の開始方法

重要

このリファレンス統合は、非推奨の Amazon-FreeRTOS リポジトリでホストされています。新しいプロジェクトを作成するときは、ここから始めることをお勧めします。現在非推奨の Amazon-FreeRTOS リポジトリをベースにした既存の FreeRTOS プロジェクトが既にある場合は、「Amazon FreeRTOS Github リポジトリ移行ガイド」を参照してください。

注記
  • 独自の Espressif IDF プロジェクト内で FreeRTOS モジュラーライブラリとデモを統合する方法の詳細については、ESP32-C3 プラットフォーム向けの注目のリファレンス統合を参照してください。

  • 現在、ESP32-WROOM-32SE の FreeRTOS ポートは、対称型マルチプロセッシング (SMP) 機能をサポートしていません。

このチュートリアルでは、Espressif ESP32-WROOM-32SE の使用を開始する方法について説明します。AWS パートナーデバイスカタログのパートナーから購入するには、「ESP32-WROOM-32SE」を参照してください。

概要

このチュートリアルでは次のステップを説明します。

  1. ボードをホストマシンに接続します。

  2. ホストマシンにソフトウェアをインストールし、マイクロコントローラーボード用の組み込みアプリケーションを開発およびデバッグします。

  3. FreeRTOS デモアプリケーションをバイナリイメージにクロスコンパイルします。

  4. アプリケーションバイナリイメージをボードにロードし、アプリケーションを実行します。

  5. シリアル接続を使用することによって、実行中のアプリケーションをモニタリングおよびデバッグします。

前提条件

Espressif ボードで FreeRTOS を使い始める前に、AWS アカウントとアクセス許可を設定する必要があります。

AWS アカウントへのサインアップ

AWS アカウントがない場合は、以下のステップを実行して作成します。

AWS アカウント にサインアップするには
  1. https://portal.aws.amazon.com/billing/signup を開きます。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを使用して検証コードを入力するように求められます。

    AWS アカウントにサインアップすると、AWS アカウントのルートユーザーが作成されます。ルートユーザーには、アカウントのすべての AWS のサービスとリソースへのアクセス権があります。セキュリティのベストプラクティスとして、管理ユーザーに管理アクセスを割り当てルートユーザーアクセスが必要なタスクを実行する場合にのみ、ルートユーザーを使用してください。

サインアップ処理が完了すると、AWS からユーザーに確認メールが送信されます。https://aws.amazon.com/[アカウント] をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

管理ユーザーの作成

AWS アカウント にサインアップしたら、AWS アカウントのルートユーザー をセキュリティで保護し、AWS IAM Identity Center を有効にして、管理ユーザーを作成します。これにより、日常的なタスクにルートユーザーを使用しないようにします。

AWS アカウントのルートユーザーをセキュリティで保護する
  1. [ルートユーザー] を選択し、AWS アカウント のメールアドレスを入力して、アカウント所有者として AWS Management Console にサインインします。次のページでパスワードを入力します。

    ルートユーザーを使用してサインインする方法については、「AWS サインイン User Guide」の「Signing in as the root user」を参照してください。

  2. ルートユーザーの多要素認証 (MFA) を有効にします。

    手順については、「IAM ユーザーガイド」の「AWS アカウント のルートユーザーの仮想 MFA デバイスを有効にする (コンソール)」を参照してください。

管理ユーザーを作成する
  1. IAM アイデンティティセンターを有効にします。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Center の有効化」を参照してください。

  2. IAM アイデンティティセンターで、管理ユーザーに管理者アクセスを付与します。

    IAM アイデンティティセンターディレクトリ をアイデンティティソースとして使用するチュートリアルについては、「AWS IAM Identity Center ユーザーガイド」の「デフォルトの IAM アイデンティティセンターディレクトリ でユーザーアクセスを設定する」を参照してください。

管理ユーザーとしてサインインする
  • IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

    IAM アイデンティティセンターのユーザーを使用してサインインする方法については、「AWS サインイン User Guide」の「Signing in to the AWS access portal」を参照してください。

アクセス権限を付与するには、ユーザー、グループ、またはロールにアクセス許可を追加します。

使用を開始する

注記

このチュートリアルの Linux コマンドでは、Bash シェルを使用する必要があります。

  1. Espressif ハードウェアを設定します。

    ESP32-WROOM-32SE 開発ボードハードウェアの設定については、「ESP32-DevKitC V4 入門ガイド」を参照してください。

    重要

    ガイドの「Installation Step by Step」セクションまで進んだら、ステップ 4 (環境変数の設定) まで実行します。ステップ 4 を完了したら停止し、残りのステップをここで実行します。

  2. から Amazon FreeRTOS をダウンロードしますGitHub。(手順については、README.md ファイルを参照してください。)

  3. 開発環境をセットアップします。

    ボードと通信するには、ツールチェーンをインストールする必要があります。Espressif には、ボード用のソフトウェアを開発するための ESP-IDF が用意されています。ESP-IDF には独自のバージョンの FreeRTOS カーネルがコンポーネントとして統合されているため、Amazon FreeRTOS には、FreeRTOS カーネルが除去された、カスタムバージョンの ESP-IDF v4.2 が含まれています。これにより、コンパイル時にファイルが重複する問題が修正されます。Amazon FreeRTOS に含まれているカスタムバージョンの ESP-IDF v4.2 を使用するには、ホストマシンのオペレーティングシステムに応じて以下の手順を実行します。

    Windows

    1. ESP-IDF の Windows 用の汎用オンラインインストーラをダウンロードします。

    2. 汎用オンラインインストーラを実行します。

    3. ESP-IDF をダウンロードまたは使用する手順に進んだら、[既存の ESP-IDF ディレクトリを使用] を選択し、[既存の ESP-IDF ディレクトリを選択]freertos/vendors/espressif/esp-idf に設定します。

    4. インストールを完了します。

    macOS

    1. Standard Setup of Toolchain prerequisites (ESP-IDF v4.2) for macOS」の手順を実行します。

      重要

      次のステップの下にある「ESP-IDF の取得」の手順に到達したらそこで止まり、このページの手順に戻ります。

    2. コマンドラインウィンドウを開きます。

    3. FreeRTOS ダウンロードディレクトリに移動し、次のスクリプトを実行して、お使いのプラットフォーム用の espressif ツールチェーンをダウンロードしてインストールします。

      vendors/espressif/esp-idf/install.sh
    4. 次のコマンドを使用して、ESP-IDF ツールチェーンツールをターミナルのパスに追加します。

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

    Linux

    1. Standard Setup of Toolchain prerequisites (ESP-IDF v4.2) for Linux」の手順を実行します。

      重要

      次のステップの下にある「ESP-IDF の取得」の手順に到達したらそこで止まり、このページの手順に戻ります。

    2. コマンドラインウィンドウを開きます。

    3. FreeRTOS ダウンロードディレクトリに移動し、次のスクリプトを実行して、お使いのプラットフォーム用の 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. シリアル接続を確立したら、ボードとの接続用のシリアルポートをメモしておきます。デモをフラッシュするにはこれが必要です。

FreeRTOS デモアプリケーションを設定する

このチュートリアルでは、FreeRTOS 設定ファイルは 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 呼び出し時) にデバイスにロックされる 1 回だけの初期化があります。ただし、FreeRTOS デモプロジェクトおよびテストプロジェクトには別の設定があります。デモプロジェクトの設定中にデバイスがロックされた場合、テストプロジェクトの一部のテストが成功しません。

  1. FreeRTOS デモを設定する の手順に従って、FreeRTOS デモプロジェクトを設定します。最後のステップに到達したとき、AWS IoT 資格情報をフォーマットするにはを停止し、次のステップを実行します。

  2. Microchip から、ATECC608A 部品のセットアップに役立ついくつかのスクリプトツールが提供されています。freertos/vendors/microchip/example_trust_chain_tool ディレクトリに移動し、README.md ファイルを開きます。

  3. README.md ファイルの手順に従って、デバイスをプロビジョニングします。このステップには、以下が含まれます。

    1. 認証機関を作成し、AWS に登録する。

    2. ATECC608A でキーを生成し、パブリックキーとデバイスのシリアル番号をエクスポートする。

    3. デバイスの証明書を生成し、AWS に登録する。

  4. 開発者モードのキーのプロビジョニング の手順に従って、CA 認定とデバイス証明書をデバイスにロードします。

AWS クラウドの MQTT メッセージのモニタリング

FreeRTOS デモプロジェクトを実行する前に、デバイスが AWS クラウドに送信するメッセージをモニタリングするために、AWS IoT コンソールで MQTT クライアントをセットアップすることができます。

AWS IoT MQTT クライアントで MQTT トピックをサブスクライブするには
  1. AWS IoT コンソール にサインインします。

  2. ナビゲーションペインで、[テスト] を選択し、次に [MQTT テストクライアント] を選択します。

  3. [Subscription topic] (トピックのサブスクリプション) で your-thing-name/example/topic と入力し、[Subscribe to topic] (トピックへのサブスクライブ) を選択します。

idf.py スクリプトを使用して FreeRTOS デモプロジェクトを構築、フラッシュ、実行する

Espressif の IDF ユーティリティ (idf.py) を使用してビルドファイルを生成し、アプリケーションバイナリを構築し、バイナリをデバイスにフラッシュできます。

注記

一部のセットアップでは、次の例のように、idf.py でポートオプション「-p port-name」を使用して正しいポートを指定する必要があります。

idf.py -p /dev/cu.usbserial-00101301B flash
Windows、Linux、macOS で FreeRTOS を構築してフラッシュする (ESP-IDF v4.2)
  1. FreeRTOS ダウンロードディレクトリのルートに移動します。

  2. コマンドラインウィンドウで次のコマンドを入力して、ESP-IDF ツールをターミナルのパスに追加します。

    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

CMake で FreeRTOS を構築してフラッシュする

IDF SDK が提供する idf.py スクリプトを使ってコードを構築および実行できるほか、CMake を使用してプロジェクトを構築することもできます。現在、Unix Makefile と Ninja ビルドシステムをサポートしています。

プロジェクトを構築してフラッシュするには
  1. コマンドラインウィンドウで、FreeRTOS ダウンロードディレクトリのルートに移動します。

  2. 次のスクリプトを実行して、ESP-IDF ツールをシェルのパスに追加します。

    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 ボードの使用とトラブルシューティングの詳細については、以下のトピックを参照してください。