Espressif ESP32-S2 の開始方法 - 無料RTOS

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

Espressif ESP32-S2 の開始方法

重要

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

注記

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

このチュートリアルでは、Espressif ESP32-S2 SoC および ESP32-S2-Saola-1 開発ボードの使用を開始する方法について説明します。

概要

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

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

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

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

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

  5. シリアル接続を使用して、実行中のアプリケーションを監視およびデバッグします。

前提条件

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

にサインアップする AWS アカウント

がない場合は AWS アカウント、次の手順を実行して作成します。

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

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

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

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

AWS は、サインアッププロセスが完了した後に確認 E メールを送信します。/ に移動し、マイアカウント を選択すると、いつでも現在のアカウントアクティビティを表示https://aws.amazon.comし、アカウントを管理できます。

管理アクセスを持つユーザーを作成する

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

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

    ルートユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドルートユーザーとしてサインインするを参照してください。

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

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

管理アクセスを持つユーザーを作成する
  1. IAM Identity Center を有効にします。

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

  2. IAM Identity Center で、ユーザーに管理アクセスを許可します。

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

管理アクセス権を持つユーザーとしてサインインする
  • IAM Identity Center ユーザーでサインインするには、IAMIdentity Center ユーザーの作成時に E メールアドレスにURL送信されたサインインを使用します。

    IAM Identity Center ユーザーを使用してサインインする方法については、AWS サインイン 「 ユーザーガイド」のAWS 「 アクセスポータルへのサインイン」を参照してください。

追加のユーザーにアクセス権を割り当てる
  1. IAM Identity Center で、最小権限のアクセス許可を適用するベストプラクティスに従うアクセス許可セットを作成します。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」を参照してください。

  2. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

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

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

使用を開始する

注記

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

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

    ESP32-S2 開発ボードハードウェアのセットアップについては、ESP32「-S2-Saola-1 入門ガイド」を参照してください。

    重要

    Espressif ガイドの開始方法セクションに到達したらそこで止まり、このページの手順に戻ります。

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

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

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

    Windows

    1. ESP- IDFの Universal Online Installer for Windows をダウンロードします。

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

    3. ESPIDF「」のステップにたどり着いたら、「既存の ESP-IDF ディレクトリを使用する」を選択し、「既存の ESP-IDF ディレクトリを選択」を に設定しますfreertos/vendors/espressif/esp-idf

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

    macOS

    1. macOS のツールチェーンの標準セットアップの前提条件 (ESP-IDF v4.2) の手順に従います。

      重要

      Next Steps の「Get 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) の指示に従います。

      重要

      Next Steps の「Get 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-DevKitC 間のシリアル接続を確立するには、UARTブリッジVCPドライバーUSBに CP210x をインストールします。これらのドライバーは 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 にあります。)

  1. macOS または Linux を実行している場合、ターミナルプロンプトを開きます。Windows を実行している場合は、ESP「-IDF 4.xCMD」アプリケーション ( ESP-IDF ツールチェーンのインストール時にこのオプションを含めた場合) を開くか、「コマンドプロンプト」アプリケーションを開きます。

  2. Python3 がインストールされていることを確認するには、次のコマンドを実行します。

    python --version

    インストールされているバージョンが表示されます。Python 3.0.1 以降がインストールされていない場合は、Python ウェブサイトからインストールできます。

  3. AWS IoT コマンドを実行するには、 AWS コマンドラインインターフェイス (CLI) が必要です。Windows を実行している場合は、 easy_install awscli コマンドを使用して「Command」またはESP「-IDF 4.xCMD」アプリに AWS CLIをインストールします。

    macOS または Linux を実行している場合は、「 のインストール AWS CLI」を参照してください。

  4. 実行

    aws configure

    AWS アクセスキー ID、シークレットアクセスキー、およびデフォルトの AWS リージョンを使用して AWS CLIを設定します。詳細については、「 の設定 AWS CLI」を参照してください。

  5. 次のコマンドを使用して、 for Python (boto3) をインストールします AWS SDK。

    • Windows では、「Command」またはESP「-IDF 4.xCMD」アプリケーションで、「 を実行します。

      easy_install boto3
    • macOS または Linux の場合、以下を実行します。

      pip install tornado nose --user

      続いて以下を実行します。

      pip install boto3 --user

FreeRTOS には、 に接続するための Espressif ボードのセットアップを容易にするSetupAWS.pyスクリプトが含まれています AWS IoT。

設定スクリプトを実行するには
  1. このスクリプトを設定するには、freertos/tools/aws_config_quick_start/configure.json を開いて以下の属性を設定します。

    afr_source_dir

    コンピュータの freertos ディレクトリへの完全なパス。このパスの指定にスラッシュを使用していることを確認します。

    thing_name

    ボードを表す AWS IoT モノに割り当てる名前。

    wifi_ssid

    SSID Wi-Fi ネットワークの 。

    wifi_password

    Wi-Fi ネットワークのパスワード。

    wifi_security

    Wi-Fi ネットワークのセキュリティタイプ。次のセキュリティタイプが有効です。

    • eWiFiSecurityOpen (オープン、セキュリティなし)

    • eWiFiSecurityWEP (WEP セキュリティ)

    • eWiFiSecurityWPA (WPA セキュリティ)

    • eWiFiSecurityWPA2 (WPA2 セキュリティ)

  2. macOS または Linux を実行している場合、ターミナルプロンプトを開きます。Windows を実行している場合は、ESP「-IDF 4.xCMD」または「コマンド」アプリケーションを開きます。

  3. freertos/tools/aws_config_quick_start ディレクトリに移動して、以下を実行します。

    python SetupAWS.py setup

    スクリプトは、次を実行します。

    • AWS IoT モノ、証明書、ポリシーを作成します。

    • AWS IoT ポリシーを証明書にアタッチし、証明書を AWS IoT モノにアタッチします。

    • エンドポイント、Wi-Fi SSID、認証情報をaws_clientcredential.hファイルに追加します AWS IoT 。

    • 証明書とプライベートキーをフォーマットして aws_clientcredential_keys.h ヘッダーファイルに書き込みます。

    注記

    証明書はデモ目的でのみハードコードされています。本番稼動レベルのアプリケーションでは、これらのファイルを安全な場所に保存する必要があります。

    SetupAWS.py の詳細については、freertos/tools/aws_config_quick_start ディレクトリにある「README.md」を参照してください。

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

無料RTOSデモプロジェクトを実行する前に、 AWS IoT コンソールでMQTTクライアントを設定して、デバイスが AWS クラウドに送信するメッセージをモニタリングできます。

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

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

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

デバイス上でデモプロジェクトが正常に実行されると、「Hello World!」が 購読しているトピックに複数回送信されたことを確認できます。

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

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

Windows、Linux、macOS (ESP-IDF v4.2) でビルドとフラッシュが無料RTOS

idf.py スクリプトを使用して、プロジェクトを構築し、デバイスにバイナリをフラッシュします。

注記

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

idf.py -p /dev/cu.usbserial-00101301B flash
プロジェクトを構築してフラッシュするには
  1. 無料RTOSダウンロードディレクトリのルートに移動します。

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

    Windows (「コマンド」アプリ)
    vendors\espressif\esp-idf\export.bat
    Windows (ESP「-IDF 4.xCMD」アプリケーション)

    (これはアプリを開いた時点で既に完了しています。)

    Linux/macOS
    source vendors/espressif/esp-idf/export.sh
  3. 次のコマンドを使用して 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 ファイルが生成されます。

  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

でビルドとフラッシュフリーRTOS CMake

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

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

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

    • Windows

      vendors\espressif\esp-idf\export.bat
    • Linux/macOS

      source vendors/espressif/esp-idf/export.sh
  3. 次のコマンドを入力して、ビルドファイルを生成します。

    • 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
  4. プロジェクトをビルドします。

    • Unix Makefiles を使用

      make -C ./YOUR_BUILD_DIRECTORY -j8
    • Ninja を使用

      ninja -C ./YOUR_BUILD_DIRECTORY -j8
  5. フラッシュを消去してから、ボードをフラッシュします。

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