Help us understand the problem. What is going on with this article?

ESP-32にFreeRTOSをインストールしてAWS IoT につなぐ

More than 1 year has passed since last update.

はじめに

ESP-32は純正のESP-IDF以外にもArduino-IDEやMicropythonなど複数のプログラミング環境がありますが、今回はAWSが公開しているFreeRTOSをインストールしてawsIoTに繋いでみます。

必要なモノ

  • windows がインストールされているPC (今回はwindows7で確認)
  • ESP32-DevKitC (スイッチサイエンス社のESPr Developer 32を使用)
  • USB2.0 (TypeA - microB) 通信ケーブル
  • WiFi環境

FreeRTOSのインストール手順

手順はAWSに公開されています。
全文英語です。
単語を拾って進めていきます。

UARTドライバ

通信するために、「CP210x USB to UART Bridge VCP drivers」をインストールします。
PCのUSBポートにESP32を接続して、デバイスマネージャーのポートの項目に接続されているCOMポートが表示されるので、それを控えておきましょう。

Toolchainのインストール

EspressifからESP-IDF library をダウンロードしてきます。
ESP-IDFの説明通り、C:ドライブに「msys32」フォルダを作ってそこに入れておきます。

Amazon FreeRTOSのダウンロード

windows版のFreeRTOSはGitHubよりダウンロードしてきます。
今回はzipでダウンロードしてきて、適当な場所に解凍します。

プロジェクトを構成

toolchainのあるmsys32にフォルダにあるmingw32.exeを開きます。
Python 2.7.10以降をインストールします。Python 3.xではありません。
easy_install awscliを使用してAWS CLIをmingw32環境にインストールします。
aws configureを実行して、AWS CLIを設定します。詳細については、「AWS CLIの設定」を参照してください 。
boto3 Pythonモジュールをインストールするには、easy_install boto3を使用します。
Amazon FreeRTOSには、Espressifボードのセットアップを簡単にするスクリプトが含まれています。
Espressifスクリプト <BASE_FOLDER>/tools/aws_config_quick_start/configure.json を開いて、下記の設定します。
<BASE_FOLDER>FreeRTOSを解凍したフォルダのパスです。(toolsやdemosが子フォルダでいます。)

  • afr_source_dir: Amazon FreeRTOSディレクトリへの完全なパス。<BASE_FOLDER>のこと。
  • thing_name: この名前でawsIoTにモノが追加されます。
  • wifi_ssid: Wi-FiネットワークのSSID。
  • wifi_password: Wi-Fiネットワークのパスワード。
  • wifi_security: Wi-Fiネットワークのセキュリティの種類。 有効なセキュリティタイプは次のとおりです。
    • eWiFiSecurityOpen (オープン、セキュリティなし)
    • eWiFiSecurityWEP (WEPセキュリティ)
    • eWiFiSecurityWPA (WPAセキュリティ)
    • eWiFiSecurityWPA2 (WPA2セキュリティ)

構成スクリプトの実行

mingw32.exeを開きます。
<BASE_FOLDER>/tools/aws_config_quick_start ディレクトリに移動して 、次のコマンドを実行します。
python SetupAWS.py setup
詳細は<BASE_FOLDER>/tools/aws_config_quick_start ディレクトリのREADME.mdを参照してください

Amazon FreeRTOSサンプルのビルドと実行

ESP32をPCに接続して。mingw32.exeを開きます。
<BASE_FOLDER>/demos/espressif/esp32_devkitc_esp_wrover_kit/make へ移動して、次のコマンドを入力します。
make menuconfig
「Espressif IoT Development Framework Configuration」メニューで、「Serial flasher config」に移動し、「 Default serial port」に移動して シリアルポートを設定します。

Windowsでは、シリアルポートは COM1 のような名前が付いています。
ここで設定するシリアルポートは、デモアプリケーションをESP-32に書き込むために使用します。
選択を確定するには、ENTERを選択します。設定を保存するには、保存を選択し、終了を選択します 。
他の項目は弄りませんでした。

ファームウェア(ブートローダとパーティションテーブルを含む)をビルドして書き込みます。
<BASE_FOLDER>\demos\espressif\esp32_devkitc_esp_wrover_kit/make に移動して次のコマンドを実行します。
make flash
シリアルコンソール出力を監視するには、次のコマンドを実行します。
make flash monitor

コンパイル出力の最後に、ぞろぞろとMQTTが表示されれば成功です!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away