Changes between Version 11 and Version 12 of esp32_setup


Ignore:
Timestamp:
Jul 8, 2017 6:05:27 PM (2 years ago)
Author:
kishida
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • esp32_setup

    v11 v12  
    22
    33ESP-WROOM-32は、Xtensa Dual-Core 32-bit LX6 マイクロプロセッサを搭載する、上海のESPRESSIF社が開発した無線モジュールです。WiFiとBluetooth v4.2に対応しています。
    4 開発ボードはスイッチサイエンスでも販売されている(要追記)他にも、ESPRESSIF社からESP32-DevKitCなどが発売さています。
     4開発ボードはスイッチサイエンスでも販売されている[https://www.switch-science.com/catalog/3210/ ESPr® Developer 32]の他にも、ESPRESSIF社からESP32-DevKitCなどが発売さています。
    55
    66本ページでは、このESP-WROOM-32をArduinoIDEで開発するためのセットアップとATコマンドモードのセットアップ手順を記述します。記述内容は2017/04/15現在のものであるため、最新版では内容は変更されている場合があります。必要に応じて下記の資料[https://github.com/espressif/arduino-esp32 Arduino Core for ESP32 - Github]などを参照してください。
     7
     8また、セットアップが終わったあとの開発に関しては、[http://trac.switch-science.com/wiki/esp32_tips ESP-WROOM-32に関するTIPS]も御覧ください。
    79
    810== ESP-WROOM-32 仕様 ==
     
    105107
    106108
    107 == ATコマンドモードのセットアップ(現在未対応) ==
     109== ATコマンドモードのセットアップ(2016/6対応) ==
    108110デフォルトでは検査用のファームウェアが書き込まれています([https://www.esp32.com/viewtopic.php?t=484#p5200 参照])。ATコマンドとは別のコマンドをやり取りできます([https://www.esp32.com/viewtopic.php?t=484#p5423 参照、ただし公式にはサポート外])。通信速度115200bps、改行モードCR+LFでコマンドの送信がができます。下は、ArduinoIDEでシリアルモニタを開いたときの様子です。
    109111
     
    114116ESP32のファームウェアは、ArduinoIDEで開発をすると上書きされてしまうので、ArduinoIDEで開発を行ったあとにATコマンドモードに戻したくなった場合、別の手順を踏む必要があります。
    115117
    116 ATコマンド用のファームウエアは[http://espressif.com/en/support/download/at?keys=&field_type_tid%5B%5D=13 ESPRESSIF社 ダウンロード]からダウンロード~~できます。~~2017/04/15現在できません。現在製作中の模様です。[https://esp32.com/viewtopic.php?f=2&t=1058 公式Topics参照]
     118ATコマンド用のファームウエアは[http://espressif.com/en/support/download/at?keys=&field_type_tid%5B%5D=13 ESPRESSIF社 ダウンロード]からダウンロードできます。~~2017/04/15現在できません。現在製作中の模様です。[https://esp32.com/viewtopic.php?f=2&t=1058 公式Topics参照]。~~2016/06/06付で公開されました
    117119
    118 ファームウエアの書き込みには、ESPRESIF社公式のFlash Download Toolsを使います。2017/04/20現在最新版はV3.4.4です。[http://espressif.com/en/support/download/other-tools ESPRESSIF社 ダウンロード-ツール]からダウンロードできます。
     120ファームウエアの書き込みには、ESPRESIF社公式のFlash Download Toolsを使います。2017/07/08現在最新版はV3.4.8.4です。[http://espressif.com/en/support/download/other-tools ESPRESSIF社 ダウンロード-ツール]からダウンロードできます。
    119121
    120122起動すると書き込み対象のボードの選択画面になります。今回は対象がESP32モジュールなので、`ESP32 DownloadTool`を選択します。
     
    129131 MACアドレスは隠してあります。
    130132
     133ダウンロードしたATコマンド用のファームウェアの設定は、 `esp32_at_bin_v0.10\ESP32_AT_BIN\download.config` に記載されています。執筆時点でのファームのバージョンは0.10です。
     134いかにその内容を示します。
     135
     136 * SPI SPEED: 40 MHz
     137 * SPI MODE: DIO
     138 * FLASH SIZE: Detected(ESP-WROOM-32の場合は32MBbitにしておきます)
     139||Path||Offset||
     140||bootloader/bootloader.bin||0x1000||
     141||phy_init_data.bim||0xf000||
     142||esp-at.bin||0x100000||
     143||partitions_at.bin||0x8000||
     144
     145以上のように設定をして、STARTを押します。正しく書き込めれば、FINISHとでるはずです。
     146
     147[[Image(espflash-at.png)]]
     148
     149アドレスは隠してあります。
     150
     151シリアルモニタなどで動作を確認してみます。下の画像は起動時にシリアルモニタに表示されたログです。
     152
     153[[Image(espflash-atboot.png)]]
     154
     155==== ATコマンドをやりとりする ====
     156
     157一般的に、ESP-WROOM-32の開発ボードは、基板上のUSB-Serial変換はESP-WROOM-32モジュールのUART0ピンと接続されています。これは、フラッシュへの書き込みを行うのが目的のためです。
     158
     159一方で、ATコマンドはUART1ピンで送受信するようになっています。そのため、開発ボードの他にもう一台USB-Serial変換を用意して接続する必要があります。(ESP32 AT Instruction Set and Examples の `1.2 Downloading AT Firmware into Flash` 参照)(余談ですが、UART1とESP32内部回路のU1は別のようです)。
     160
     161
     162必要最低限の接続は次のようになっています。
     163
     164 ||USB/Serial||ESP-WROOM-32||
     165 ||TX||GPIO16||
     166 ||RX||GPIO17||
     167 ||GND||GND||
     168
     169通信には3.3V対応のものをつかってください。スイッチサイエンスの[https://www.switch-science.com/catalog/2782/ FTDI USBシリアル変換アダプター Rev.2]など使う場合は3.3Vに変更するのを忘れないようにしてください。
     170
     171[[Image(esp32-ateg.png)]]
     172
     173画像は`AT+RST`および`AT`と送信したときの応答です。`AT+RST`と送ったときは、開発ボードのシリアルにブートログが流れていることが確認できます。
     174
     175ここまで動作すれば、ATコマンド用のファームウェアの書き込みは完了です。バージョン0.10ではまだWiFiのコマンドしか用意されていないようです。
     176
     177==== ota data partition invalid と表示される====
     178
     179ESP32 AT Instruction Set and Examples の `1.2 Downloading AT Firmware into Flash` によると、`ota data partition invalid`と表示されるときは`ota data`とラベルされているアドレス([https://github.com/espressif/esp32-at/blob/master/partitions_at.csv 参照])に`blank.bin`を書き込むように、とあります。
     180
     181つまり、`blank.bin`をオフセット`0x10000`に書き込みます。実際に書き込んでみたところ、正常に動作するようになりました。