ESP32 - renesas-rx/amazon-freertos GitHub Wiki

はじめに

  • 本項ではESP32のクライアント認証機能を使ってAWSへ接続する方法を紹介します。
  • ESP32のクライアント認証機能を使うことでチップのRAMの消費量が大幅に削減できます。

事前準備(ハードウェア)

  • PmodUSBUART(シリアル ⇔ USB の変換モジュール):link

事前準備(ソフトウェア)

各ツールのインストール

Pythonのインストール

Python 2.xをインストールしてください。
https://www.python.org/downloads/release/python-2716/

AT application for ESP32のインストール

ダウンロードもしくはCloneしてください。

Flash Download Toolsのインストール

AWSクライアント証明書、秘密鍵情報binデータの作成

環境変数PATHの設定(Windows10環境)

任意のディレクトリからpython.exeを実行するには、python.exeが保存されているディレクトリへPATHを設定しておきます。

  • スタートメニュー -> Windowsシステムツール -> コントロールパネル

  • システムとセキュリティ -> システム

  • システムの詳細設定 -> 環境変数(N)...

  • システム環境変数(S)の Path をクリック -> 編集(I)...

  • 新規(N) -> Pythinをインストールしたディレクトリを入力 -> OK

  • 新規(N) -> Pythinをインストールしたディレクトリの中でScriptsディレクトリを入力 -> OK

pythonの使用

  • スタートメニュー -> Windowsシステムツール -> コマンドプロンプト

  • 事前準備(ソフトウェア)でダウンロードしたAT application for ESP32のzipファイルを右クリック -> すべて展開

  • "python"と入力しEnter -> "exit()"と入力しEnter

  • "cd AT application for ESP32をインストールしたディレクトリ\esp32-at-master\tools"と入力しEnter

  • AWSクライアント証明書(xxx-certificate.pem.crt)、秘密鍵(xxx-private.pem.key)をAT application for ESP32をインストールしたディレクトリ中のtoolsフォルダ内に保存

  • https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/managing-device-certs.html にアクセス後、Amazon ルートCA1 (AmazonRootCA1.pem)をダウンロードし,toolフォルダ内に保存してください

  • コマンドプロンプトで"python AtPKI.py generate_bin -b at_cert.bin cert xxx-certificate.pem.crt"と入力しEnter -> "python AtPKI.py generate_bin -b at_key.bin key xxx-private.pem.key"と入力しEnter -> "python AtPKI.py generate_bin -b at_ca.bin ca AmazonRootCA1.pem"と入力しEnter
    ※xxxはユーザにより異なります

  • コマンドが正しく実行されると、toolsフォルダ内にat_cert.binとat_key.binとat_ca.binが生成されます

Flash Download Toolsとbinデータの移動

  • 事前準備(ソフトウェア)でダウンロードしたFlash Download Toolsのzipファイルを展開

  • 展開したFlash Download Toolsと作成したat_cert.binとat_key.binとat_ca.binをCドライブ直下などパスに2バイト文字や空白が入らない場所に移動
    ※パスに2バイト文字や空白が入っているとFlash Download Toolsが起動できなかったり、うまくデータの書き込みが出来ないことがあります

PCとESP32の接続

  • ESP32へbinを書き込むためには以下のようにPCとESP32を接続します。

  • PmodUSBUARTはESP32へ給電を行うため VCC <-> SYS をジャンパーで接続します

  • PmodUSBUARTは以下の端子を使用します

  • ESP32のBOOTのディップスイッチをONにします

  • ESP32は以下の端子を使用します

  • PmodUSBUART / ESP32 配線表

    PmodUSBUART ----- ESP32
    pin2(RxD) ----- J2 Pin1(TxD)
    pin3(TxD) ----- J2 Pin2(RxD)
    pin5(GND) ----- Pmod Pin5(GND)
    pin6(Vcc) ----- Pmod Pin6(Vcc)

ESP32へbinを書き込む

  • 先ほど移動したFlash Download Toolsフォルダにある実行ファイル(flash_download_tools_vx.x.x.exe)を起動するとCLIが立ち上がります -> ESP32 DownloadToolを選択

  • Flash Download Toolを以下のように設定します
    ① SPIDownload を選択
    ② at_cert.bin の保存フォルダを指定
    ③ メモリアドレスを 0x2a000 と記入
    ④ at_key.bin の保存フォルダを指定
    ⑤ メモリアドレスを 0x2c000 と記入
    ⑥ at_ca.bin の保存フォルダを指定
    ⑦ メモリアドレスを 0x2e000 と記入
    ⑧ SPIのコンフィグを図のように設定
    ⑨ COM を選択
    ⑩ BAUD を 1152000 に設定
    ⑪ ESP32のRSTボタンを押す
    ⑫ START を選択

  • Flash Download Toolに"FINISH"と表示されれば書込み完了です。