wiki:esp32_setup

Version 10 (modified by kishida, 7 years ago) ( diff )

--

ESP-WROOM-32のセットアップについて

ESP-WROOM-32は、Xtensa Dual-Core 32-bit LX6 マイクロプロセッサを搭載する、上海のESPRESSIF社が開発した無線モジュールです。WiFiとBluetooth v4.2に対応しています。 開発ボードはスイッチサイエンスでも販売されている(要追記)他にも、ESPRESSIF社からESP32-DevKitCなどが発売さています。

本ページでは、このESP-WROOM-32をArduinoIDEで開発するためのセットアップとATコマンドモードのセットアップ手順を記述します。記述内容は2017/04/15現在のものであるため、最新版では内容は変更されている場合があります。必要に応じて下記の資料Arduino Core for ESP32 - Githubなどを参照してください。

ESP-WROOM-32 仕様

ESP32製品サイトより抜粋。

  • KeyFeatures
    • 240 MHz dual core Tensilica LX6 microcontroller with 600 DMIPS
    • Integrated 520 KB SRAM
    • Integrated 802.11BGN HT40 Wi-Fi transceiver, baseband, stack and LWIP
    • Integrated dual mode Bluetooth (classic and BLE)
    • 16 MByte flash
    • 2.2V to 3.6V operating voltage
    • -40°C to +125°C operating temperature
    • On-board PCB antenna / IPEX connector for external antenna
  • Sensors
    • Ultra-low noise analog amplifier
    • Hall sensor
    • 10x capacitive touch interface
    • 32 kHz crystal oscillator
  • 32x GPIO
    • 3 x UARTs, including hardware flow control
    • 3 x SPI
    • 2 x I2S
    • 12 x ADC input channels
    • 2 x DAC
    • 2 x I2C
    • PWM/timer input/output available on every GPIO pin
    • OpenOCD debug interface with 32 kB TRAX buffer
    • SDIO master/slave 50 MHz
    • Supports external SPI flash up to 16 MB
    • SD-card interface support
  • Security Related
    • WEP, WPA/WPA2 PSK/Enterprise
    • Hardware accelerated encryption: AES / SHA2 / Elliptical Curve Cryptography / RSA-4096
  • Performance
    • Supports sniffer, station, softAP and Wi-Fi direct modes
    • Max data rate of 150 Mbps@11n HT40, 72 Mbps@11n HT20, 54 Mbps@11g, and 11 Mbps@11b
    • Maximum transmit power of 19.5 dBm@11b, 16.5 dBm@11g, 15.5 dBm@11n
    • Minimum receiver sensitivity of -98 dBm
    • 135 Mbps UDP sustained throughput
    • 2.5 μA deep sleep current

資料

ArduinoIDEを用いた開発のセットアップ手順(Windows)

参照元はWindowsでのセットアップ手順です。基本的な流れは、coreライブラリをGithubからダウンロードし、ArduionoIDEのシステムに導入するというものです。

ArduinoIDEのインストールは済まされているものとします。また、ArduinoIDEのスケッチブックの保存場所はデフォルトのC:\Users\%USERNAME%\Documents\Arduinoから変更されていないものとします。変更した場合、適宜読み替えてください。

  1. Githubからコアライブラリの開発リポジトリをクローンし、C:\Users\%USERNAME%\Documents\Arduino\hardware\espressif\esp32に展開する

git環境を利用すると、アップデートに対応しやすくなります。ZIPでダウンロードし手動で展開しても動作に影響はありません。 gitはGit - Fast Version Control SystemGitHub Desktopなどから利用できます。後者の場合、リポジトリのクローン時にディレクトリを作成できないため、予めエクスプローラー上でディレクトリを作成した後にクローン先を指定することになります。

ZIPでダウンロードする場合は以下の画像を参照してください。

  1. C:\Users\%USERNAME%\Documents\Arduino\hardware\espressif\esp32\tools\get.exeを実行する

xtensa-esp32-elfというディレクトリが作成されます。

  1. 必要に応じてデバイスドライバを導入する

スイッチサイエンスのものであればFTDI社のデバイスドライバ、ESP32-DevKitCであればCP210x用のデバイスドライバを必要に応じて導入してください。

  1. ArduinoIDEのツール->ボード設定が以下のようになれば導入成功です

動作確認

他のArduinoボードと同じように開発できます。非常に基本的なサンプルスケッチとしては以下のようなものがあります。

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.println("Hello World.");
  delay(10000); 
}

これを書き込んで、シリアルモニターを開いたときの様子を以下に示します。スケッチのアップロードにはESP32を書き込みモードで起動する必要があります。スイッチサイエンスの開発ボードは自動でモードが切り替わるようになっていますが、切り替わらないボードの場合は手動でBOOTボタンを押しながらリセットボタンを押してESP32を書き込みモードで起動する必要があります。

ATコマンドモードのセットアップ(現在未対応)

デフォルトでは検査用のファームウェアが書き込まれています(参照)。ATコマンドとは別のコマンドをやり取りできます(参照、ただし公式にはサポート外)。通信速度115200bps、改行モードCR+LFでコマンドの送信がができます。下は、ArduinoIDEでシリアルモニタを開いたときの様子です。

ATコマンド用の資料はESP32-devkitCリファレンスサイトのGetting Started->ESP32 AT Instruction Set and Examplesにあります。

ESP32のファームウェアは、ArduinoIDEで開発をすると上書きされてしまうので、ArduinoIDEで開発を行ったあとにATコマンドモードに戻したくなった場合、別の手順を踏む必要があります。

ATコマンド用のファームウエアはESPRESSIF社 ダウンロードからダウンロードできます。2017/04/15現在できません。現在製作中の模様です。公式Topics参照

ファームウエアの書き込みには、ESPRESIF社公式のFlash Download Toolsを使います。2017/04/20現在最新版はV3.4.4です。ESPRESSIF社 ダウンロード-ツールからダウンロードできます。

起動すると書き込み対象のボードの選択画面になります。今回は対象がESP32モジュールなので、ESP32 DownloadToolを選択します。

特に何もせずにSTARTを押すと、ESP32の情報が表示されます。

MACアドレスは隠してあります。

Attachments (14)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.