ESP32の初歩的一歩


秋月電子通商でESP32-DevKitCを買ってきたのでアレヤコレヤしてみた。今回はLチカまで。

そもそもESP32って?

中国のEspressif Systems (Shanghai) Pte. Ltd.が開発したSoC(System-on-a-Chip)。製造はTSMC(Taiwan Semiconductor Manufacturing Co., Ltd.)の40nmプロセス。
雑に言えばWi-FiとBluetoothの使えるArduino。 雑すぎる
今回の記事を読むにはその程度の理解で構わない。

ESP32-DevKitCって?

ESP32モジュール基板の一つ「ESP-WROOM-32」を搭載した、Espressif謹製の開発ボードの一つ。
私が買ったものにはESP32-D0WDQ6が載ってました(詳しくはwikiで見て)。

どこで買えるの?

購入はこちらから。
ESP32-DevKitC ESP-WROOM-32開発ボード

ESP-WROOM-32の単体もあり〼。
ESP-WROOM-32
ESP-WROOM-32 (10個入)

ソフトウェア導入

Arduino core for ESP32 - GitHub
ここに全てが載ってる。英語を読むのが億劫でなければ読むことをお勧めする。

Arduino IDEを使う場合

  1. ~/Arduino/hardware/espressif/ディレクトリを作る
  2. その中にhttps://github.com/espressif/arduino-esp32.gitesp32としてgit cloneする、もしくはzipを落としてきて解凍する
  3. ~/Arduino/hardware/espressif/esp32/toolsの中に入ってるget.pyかget.exeを実行

…文章で書くよりコマンド見た方が早いネ。

Macの場合

mkdir -p ~/Documents/Arduino/hardware/espressif && \
cd ~/Documents/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py

Macは先に色々入っててコマンド打つだけでいいから楽ネー。コマンド全行コピペすればいいと思うよ。

Debian系Linuxの場合

sudo usermod -a -G dialout $USER && \
sudo apt-get install git && \       #Gitを既に使ってる人は飛ばす
wget https://bootstrap.pypa.io/get-pip.py && \
sudo python get-pip.py && \         #pipが既に入ってる人は飛ばす
sudo pip install pyserial && \      #pyserialが既に入ってる人は飛ばす
mkdir -p ~/Arduino/hardware/espressif && \
cd ~/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py

gitとpipとpyserialが必要。頭にusermodとかある以外はMacと変わらない。

Fedoraの場合

sudo usermod -a -G dialout $USER && \
sudo dnf install git python3-pip python3-pyserial && \
mkdir -p ~/Arduino/hardware/espressif && \
cd ~/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py

gitとpipとpyserialが必要。Debian系Linuxと殆ど変わらないけど、パッケージ名が違うので注意。

Windowsの場合

  1. GitHubからzipをダウンロード(git cloneしても良い)
  2. C:/Users/[YOUR_USER_NAME]/Documents/Arduino/hardware/espressif/esp32に解凍する
  3. /tools/に入ってるget.exeを実行

これでソフトウェアはオッケー…ではない。ドライバを入れなければ。

ドライバ

Silicon LabsのUSB-UARTブリッジドライバが必要でした。以下からそれぞれのOSにあったものをインストールしてください。
CP210x USB - UART ブリッジ VCP ドライバ

これでUSB接続すれば認識するはずです。シリアルポートを/dev/cu.SLAB_USBtoUARTにし(Macの場合)、ボードはESP32 Dev Moduleにします。

ハードウェア組み立て

今回はLチカまでしかやらないので、簡単に。
[ESP32のIO4] — +[LED]- — [抵抗] — [ESP32のGND]
IO5でも動くらしいです。スケッチ中のGPIO番号を変えてやる必要がありますが。
抵抗は1kΩを使いましたが、LEDに合わせて使ってください。

スケッチ

Lチカだけなので簡単。

Blink
void setup() {
  pinMode(4, OUTPUT);
}

void loop() {
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  delay(900);
}

これでLチカまでできました!

参考link