ESP32系の便利なボード等が数多くある中、ここはあえて基本に返り、ESP32-DevKitC-32D(ESP-WROOM-32D開発ボード)を使ってみたいと思います。
今回はその第1弾として、購入から環境構築までを行いたいと思います。
この「ESP32-DevKitC-32D(ESP-WROOM-32D開発ボード)」は、当然のことながらSoCが「ESP32」で、ボードの一部が「ESP-WROOM-32D(ブレイクアウトボード)」になっている「ESP32-DevKitC-V4」に対して、すでにピンが半田付けされている製品となります。
※ESP-WROOM-32との差はわずかです
※ESP-WROOM-02(ESP8266EX)との差はBLEです
購入
やはり秋月電子通商で購入しました。
今回は通販ではなく、秋葉原本店での購入となりました。
(情報収集を兼ね)
他のパーツ屋で売ってませんでした(※ESP-WROOM-32Dは売ってます)が、そっくりなボードはいくつか見かけました。今後、それらのボードも試してみたいと思います。
開封
ESP32だけでなく、またUSBシリアル変換等が含まれているだけでなく、ピンがすでに半田付けされていますので、ブレッドボードにさすだけで、センサーやアクチュエーターと簡単につながります。
Arduino IDEの設定
開発環境であるArduino IDEの準備をします。
現時点での最新のバージョンは1.8.10です。
設定はこちらのgithubを参考にしながら行います。
ざっくりとした手順は以下の通りです。(今回はWindows環境での設定です)
- Arduino IDEのダウンロード&インストール
- Gitのダウンロード&インストール
- 「 https://github.com/espressif/arduino-esp32.git 」をClone
- submoduleをupdate
- 「get.exe」を実行して、必要なファイルをダウンロード
- ESP-WROOM-32D開発ボードを接続し、ドライバをインストール(自動)
- Android IDEを起動
- ボード「ESP32 Dev Module」を選択
- COMポートを選択
- コンパイル&アップロード(※これはやっていない)
ボードのリセットボタンを押すと、シリアルモニタに以下が表示されます。
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3ffc0000,len:0
load:0x3ffc0000,len:2304
load:0x40078000,len:3788
ho 0 tail 12 room 4
load:0x40098000,len:532
entry 0x4009813c
[1;36m
[0m[1;36m**************************************
[0m[1;36m* hello espressif ESP32! *
[0m[1;36m* 2nd boot is running! *
[0m[1;36m* version (V0.1) *
[0m[1;36m**************************************
[0m[0;36mcompile time 18:16:58
[0m[0;36m SPI Speed : 40MHz
[0m[0;36m SPI Mode : DIO
[0m[0;36m SPI Flash Size : 4MB
[0m[1;36mPartition Table:
[0m[1;36m## Label Usage Type ST Offset Length
[0m[1;36m 0 factory factory app 00 00 00010000 00100000
[0m[1;36m 1 rfdata RF data 01 01 00110000 00040000
[0m[1;36m 2 wifidata WiFi data 01 02 00150000 00040000
[0m[1;36mEnd of partition table
[0m[1;36mLoading app partition at offset 00010000
[0m[0;36msection 0: paddr=0x00000020 vaddr=0x00000000 size=0x0ffe8 ( 65512)
[0m[0;36msection 1: paddr=0x00010010 vaddr=0x3f400010 size=0x05b64 ( 23396) map
[0m[0;36msection 2: paddr=0x00015b7c vaddr=0x3ffba720 size=0x01378 ( 4984) load
[0m[0;36msection 3: paddr=0x00016efc vaddr=0x40080000 size=0x00400 ( 1024) load
[0m[0;36msection 4: paddr=0x00017304 vaddr=0x40080400 size=0x126ac ( 75436) load
[0m[0;36msection 5: paddr=0x000299b8 vaddr=0x00000000 size=0x06658 ( 26200)
[0m[0;36msection 6: paddr=0x00030018 vaddr=0x400d0018 size=0x325b4 (206260) map
[0m[0;36mstart: 0x400807ac
[0mInitializing heap allocator:
Region 19: 3FFBBA98 len 00024568 tag 0
Region 25: 3FFE8000 len 00018000 tag 1
Pro cpu up.
Pro cpu start user code
nvs_flash_init
frc2_timer_task_hdl:3ffbc564, prio:22, stack:2048
tcpip_task_hdlxxx : 3ffbeca8, prio:20,stack:2048
phy_version: 80, Aug 26 2016, 13:04:06, 0
pp_task_hdl : 3ffc34f0, prio:23, stack:8192
:>enter uart init
uart init wait fifo succeed
exit uart init
IDF version : master(db93bceb)
WIFI LIB version : master(934d079b)
ssc version : master(r283 4d376412)
!!!ready!!!
mode : softAP(26:0a:c4:2c:b4:f4)
dhcp server start:(ip: 192.168.4.1, mask: 255.255.255.0, gw: 192.168.4.1)
+WIFI:AP_START
感想
拍子抜けするほど簡単に環境設定ができました。
ただ、せっかく半田付けなしで利用できるのにブレッドボードのサイズが小さいと使えないので、気をつける必要がありそうです。
参考サイト