翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Espressif ESP32-S2 の開始方法
重要
このリファレンス統合は、廃止された Amazon-FreeRTOS リポジトリでホストされます。新しいプロジェクトを作成するときは、ここから始めることをお勧めします。廃止された Amazon-FreeRTOS リポジトリに基づいて既存の FreeRTOS プロジェクトがある場合は、「」を参照してくださいAmazon-FreeRTOS Github リポジトリ移行ガイド。
注記
独自の Espressif IDFプロジェクト内で無料のRTOSモジュラーライブラリとデモを統合する方法については、ESP32「-C3 プラットフォーム の注目のリファレンス統合
このチュートリアルでは、Espressif ESP32-S2 SoC および ESP32-S2-Saola-1
概要
このチュートリアルでは次のステップを説明します。
-
ボードをホストマシンに接続します。
-
ホストマシンにソフトウェアをインストールし、マイクロコントローラーボード用の組み込みアプリケーションを開発およびデバッグします。
-
FreeRTOS デモアプリケーションをバイナリイメージにクロスコンパイルします。
-
アプリケーションバイナリイメージをボードにロードし、アプリケーションを実行します。
-
シリアル接続を使用して、実行中のアプリケーションを監視およびデバッグします。
前提条件
Espressif ボードで FreeRTOS の使用を開始する前に、 AWS アカウントとアクセス許可を設定する必要があります。
にサインアップする AWS アカウント
がない場合は AWS アカウント、次の手順を実行して作成します。
にサインアップするには AWS アカウント
https://portal.aws.amazon.com/billing/サインアップ
を開きます。 オンラインの手順に従います。
サインアップ手順の一環として、通話呼び出しを受け取り、電話キーパッドで検証コードを入力するように求められます。
にサインアップすると AWS アカウント、 AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。
AWS は、サインアッププロセスが完了した後に確認 E メールを送信します。/ に移動し、マイアカウント を選択すると、いつでも現在のアカウントアクティビティを表示https://aws.amazon.com
管理アクセスを持つユーザーを作成する
にサインアップしたら AWS アカウント、 のセキュリティを確保し AWS アカウントのルートユーザー、 を有効にして管理ユーザーを作成し AWS IAM Identity Center、日常的なタスクにルートユーザーを使用しないようにします。
のセキュリティ保護 AWS アカウントのルートユーザー
-
ルートユーザーを選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者AWS Management Console
として にサインインします。次のページでパスワードを入力します。 ルートユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドのルートユーザーとしてサインインするを参照してください。
-
ルートユーザーの多要素認証 (MFA) を有効にします。
手順については、「 ユーザーガイド」の AWS アカウント 「ルートユーザー (コンソール) の仮想MFAデバイスの有効化」を参照してください。 IAM
管理アクセスを持つユーザーを作成する
-
IAM Identity Center を有効にします。
手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Centerの有効化」を参照してください。
-
IAM Identity Center で、ユーザーに管理アクセスを許可します。
を ID ソース IAM アイデンティティセンターディレクトリ として使用するチュートリアルについては、 AWS IAM Identity Center ユーザーガイドの「デフォルトを使用してユーザーアクセスを設定する IAM アイデンティティセンターディレクトリ」を参照してください。
管理アクセス権を持つユーザーとしてサインインする
-
IAM Identity Center ユーザーでサインインするには、IAMIdentity Center ユーザーの作成時に E メールアドレスにURL送信されたサインインを使用します。
IAM Identity Center ユーザーを使用してサインインする方法については、AWS サインイン 「 ユーザーガイド」のAWS 「 アクセスポータルへのサインイン」を参照してください。
追加のユーザーにアクセス権を割り当てる
アクセス権限を付与するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
-
のユーザーとグループ AWS IAM Identity Center:
アクセス許可セットを作成します。「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」の手順に従ってください。
-
ID プロバイダーIAMを介して で管理されるユーザー:
ID フェデレーションのロールを作成します。IAM ユーザーガイドの「サードパーティー ID プロバイダーのロールを作成する (フェデレーション)」の指示に従います。
-
IAM ユーザー:
-
ユーザーが担当できるロールを作成します。「 ユーザーガイド」のIAM「ユーザーのロールを作成する」の指示に従います。 IAM
-
(お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加する。IAM ユーザーガイドの「ユーザー (コンソール) へのアクセス許可を追加する」の手順に従います。
-
使用を開始する
注記
このチュートリアルの Linux コマンドでは、Bash シェルを使用する必要があります。
-
Espressif ハードウェアを設定します。
ESP32-S2 開発ボードハードウェアのセットアップについては、ESP32「-S2-Saola-1 入門ガイド
」を参照してください。 重要
Espressif ガイドの開始方法セクションに到達したらそこで止まり、このページの手順に戻ります。
-
から Amazon FreeRTOS をダウンロードしますGitHub
。(手順については、README.md ファイルを参照してください。) -
開発環境をセットアップします。
ボードと通信するには、ツールチェーンをインストールする必要があります。Espressif は、ボード用のソフトウェアを開発するための ESP-IDF を提供します。ESP-IDF には独自のバージョンの FreeRTOS Kernel がコンポーネントとして統合されているため、Amazon FreeRTOS には、FreeRTOS Kernel が削除された ESP-IDF v4.2 のカスタムバージョンが含まれています。これにより、コンパイル時にファイルが重複する問題が修正されます。Amazon Free に含まれる ESP-IDF v4.2 のカスタムバージョンを使用するにはRTOS、ホストマシンのオペレーティングシステムに関する以下の手順に従ってください。
Windows
-
ESP- IDFの Universal Online Installer
for Windows をダウンロードします。 -
汎用オンラインインストーラを実行します。
-
ESPIDF「」のステップにたどり着いたら、「既存の ESP-IDF ディレクトリを使用する」を選択し、「既存の ESP-IDF ディレクトリを選択」を に設定します
。freertos
/vendors/espressif/esp-idf -
インストールを完了します。
macOS
-
macOS のツールチェーンの標準セットアップの前提条件 (ESP-IDF v4.2)
の手順に従います。 重要
Next Steps の「Get ESP-IDF」手順に到達したら、停止してからこのページの手順に戻ります。
-
コマンドラインウィンドウを開きます。
-
無料RTOSダウンロードディレクトリに移動し、次のスクリプトを実行して、プラットフォームの espressif ツールチェーンをダウンロードしてインストールします。
vendors/espressif/esp-idf/install.sh
-
次のコマンドを使用して、 ESP-IDF ツールチェーンツールをターミナルのパスに追加します。
source vendors/espressif/esp-idf/export.sh
Linux
-
Linux のツールチェーンの標準セットアップの前提条件 (ESP-IDF v4.2)
の指示に従います。 重要
Next Steps の「Get ESP-IDF」手順に到達したら、停止してからこのページの手順に戻ります。
-
コマンドラインウィンドウを開きます。
-
無料RTOSダウンロードディレクトリに移動し、次のスクリプトを実行して、プラットフォームの Espressif ツールチェーンをダウンロードしてインストールします。
vendors/espressif/esp-idf/install.sh
-
次のコマンドを使用して、 ESP-IDF ツールチェーンツールをターミナルのパスに追加します。
source vendors/espressif/esp-idf/export.sh
-
-
シリアル接続を確立します。
-
ホストマシンと ESP32-DevKitC 間のシリアル接続を確立するには、UARTブリッジVCPドライバーUSBに CP210x をインストールします。これらのドライバーは 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
ウェブサイトからインストールできます。 -
AWS IoT コマンドを実行するには、 AWS コマンドラインインターフェイス (CLI) が必要です。Windows を実行している場合は、
easy_install awscli
コマンドを使用して「Command」またはESP「-IDF 4.xCMD」アプリに AWS CLIをインストールします。macOS または Linux を実行している場合は、「 のインストール AWS CLI」を参照してください。
-
実行
aws configure
AWS アクセスキー ID、シークレットアクセスキー、およびデフォルトの AWS リージョンを使用して AWS CLIを設定します。詳細については、「 の設定 AWS CLI」を参照してください。
-
次のコマンドを使用して、 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。
設定スクリプトを実行するには
-
このスクリプトを設定するには、
を開いて以下の属性を設定します。freertos
/tools/aws_config_quick_start/configure.jsonafr_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 セキュリティ)
-
-
macOS または Linux を実行している場合、ターミナルプロンプトを開きます。Windows を実行している場合は、ESP「-IDF 4.xCMD」または「コマンド」アプリケーションを開きます。
-
ディレクトリに移動して、以下を実行します。freertos
/tools/aws_config_quick_startpython 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_startREADME.md
」を参照してください。 -
AWS クラウドでのMQTTメッセージのモニタリング
無料RTOSデモプロジェクトを実行する前に、 AWS IoT コンソールでMQTTクライアントを設定して、デバイスが AWS クラウドに送信するメッセージをモニタリングできます。
クライアントでMQTTトピックをサブスクライブするには AWS IoT MQTT
-
AWS IoT コンソール
にサインインします。 -
ナビゲーションペインで、テスト を選択し、MQTTテストクライアント を選択します。
-
[Subscription topic] (トピックのサブスクリプション) で
と入力し、[Subscribe to topic] (トピックへのサブスクライブ) を選択します。your-thing-name
/example/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
プロジェクトを構築してフラッシュするには
-
無料RTOSダウンロードディレクトリのルートに移動します。
-
コマンドラインウィンドウで、次のコマンドを入力して、ターミナルの に ESP-IDF ツールを追加しますPATH。
- Windows (「コマンド」アプリ)
-
vendors\espressif\esp-idf\export.bat
- Windows (ESP「-IDF 4.xCMD」アプリケーション)
-
(これはアプリを開いた時点で既に完了しています。)
- 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
-
でビルドとフラッシュフリーRTOS CMake
が提供するidf.py
スクリプトを使用してコードIDFSDKを構築および実行するだけでなく、 を使用してプロジェクトを構築することもできますCMake。現在、Unix Makefile と Ninja ビルドシステムをサポートしています。
プロジェクトを構築してフラッシュするには
-
コマンドラインウィンドウで、無料RTOSダウンロードディレクトリのルートに移動します。
-
次のスクリプトを実行して、シェルの に 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=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ボードの使用とトラブルシューティングの詳細については、以下のトピックを参照してください。