LoginSignup
6
3

More than 5 years have passed since last update.

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

Posted at

はじめに

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が表示されれば成功です!

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3