【ESP32-WROOM-32D】PlatformIOで開発環境構築【Arduino Wifi Scan】

ちょっと前に買うだけ買って開封すらしていなかったESP32-WROOM-32Dをようやく開封しました

Amazonで1,000円ちょっとで買えて無線機能(Wifi/Bluetooth)を搭載しています

また、Arduinoとして使うことが出来るらしく、世の中に溢れかえっているArduinoのソフトウェア資産を使うことが出来ます

今回はサクッとPlatformIOで環境を構築してせっかくなのでサンプルコードで無線機能を動作させてみようと思います

PlatformIO(VSCode)のインストール

VSCodeはWIndowsが無償で提供している高機能コードエディタでPlatformIOは色々なマイコンのビルド・デバッグ環境を簡単に構築できる拡張機能です

インストール方法はSTM32向けの開発環境構築の記事を参照ください

STM32(nucleo)開発環境構築(PlatformIO+STM32CubeMX)

USBシリアルドライバのインストール

ESP32-WROOM-32DにはSilicon LabsのCP2102というUSBシリアル変換ICが搭載されているようです

FTDIのドライバはプリインストールされている場合が多いと思いますが、私のPCにSilicon Labsのドライバは入っていなかったのでメーカWebページよりドライバをインストールします

インストールが完了したらシリアルポートとして表示されるようになります

サンプルプログラムのインポート

PlatformIOのホーム画面からサンプルプログラムをインポートします

今回は無線機能を試してみたかったので「arduino-wifiscan」を選択しました

[PlatformIOのホーム画面]→[Project Examples]→[Espressif 32]の中にある[arduino-wifiscan]を選択してImportをクリックします

初回は結構ダウンロードに時間がかかるので慌てずに完了するのを待ちます

サンプルプログラムのビルド、アップロード

インポートが完了したらとりあえずplatformio.iniを開きます

サンプルプログラムなのでボード環境が複数定義されているので必要な環境以外はコメントアウトしておきます

今回の場合だと、[env:esp32dev]以外の環境は全てコメントアウトします

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter, extra scripting
;   Upload options: custom port, speed and extra flags
;   Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:esp32dev]
platform = espressif32
framework = arduino
board = esp32dev
monitor_speed = 115200

; [env:esp-wrover-kit]
; platform = espressif32
; framework = arduino
; board = esp-wrover-kit
; monitor_speed = 115200

; [env:espea32]
; platform = espressif32
; framework = arduino
; board = espea32
; monitor_speed = 115200

; [env:esp320]
; platform = espressif32
; framework = arduino
; board = esp320
; monitor_speed = 115200

ここまで来たらビルドを実行します

何の問題もなくビルドが完了しました

次にボードを忘れずPCに接続してからUploadボタンをクリックします

ボードがシリアルポートとして認識出来ていれば勝手にポートを設定してくれると思いますが、他のデバイスが存在するなどでうまく認識しない場合はplatformio.iniに「upload_port」という設定を追記して使用するポート名を記述すればよいらしいです

初回アップロード時はツールのインストール作業が実行されるので少しだけ時間がかかります

本来であれば使用するマイコンに合わせてツール類を自分でインストールする必要がありますが、PlatformIOは勝手にインストールしてくれるので本当に楽ちんです

サンプルプログラムの動作確認

アップロードが完了したらマイコンが動作を開始します

今回のサンプルプログラムはWifi Scanということで周囲にあるWifiのSSIDをシリアル通信で表示するというもののようです

早速tera termを開いて確認します

ポートはUploadに使用したポートと同じでボーレートはplatformio.iniに「monitor_speed」で定義されている数値となります(デフォルトでは115200bps)

自宅のWifiを含む周囲のWifiが表示出来ていますのでとりあえずは正常に動いているようです(時刻は適当ですが・・・)

まとめ:ESP32-WROOM-32DのPlatformIO開発環境構築

本当にあっけないほど簡単に環境構築およびサンプルプログラムの動作確認が出来ました

とはいってもデバッガを持っていないのでデバッグ機能は未確認ですが・・・

デバッガはMini-Module FT2232HというJTAGインターフェイスを使うのが定番みたいです

とはいえ開封ととりあえずの動作確認が出来たので良かったです

無線搭載でArduinoのライブラリが使えて安価で入手しやすいという死角のないマイコンだと思います

マニュアルにモータ制御PWM的な記載があったので今度時間あったら試してみようと思います

(あとはもっと無線機能を色々と活用したいけど使いこなせる自信が・・・)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA