Arduino IDE ESP32 (ESP-32) の開発準備

Arduinoで、無線(LAN、Bluetooth)を利用したいと思い、
無線(LAN、Bluetooth)のモジュールを探してみました。
国内で調達すると値段もかなり掛かります。
そこで、大陸からの購入と思いましたが、
無線機器のため、電波法(技適)の適用を受けてしまい、
技適対応製品でないと勝手には使用できません。
しかし、現在では簡単な申請で利用可能となる製品もあります。
ですが、180日間の期間限定許可となるため、その後の問題もあります。
・技適取得品でない場合は、実験等の利用目的で届出することで、
 180日間使用することが出来ます。
 ( 技適未取得機器を用いた実験等の特例制度
 https://www.tele.soumu.go.jp/j/sys/others/exp-sp/index.htm

いろいろ探してみると、
Arduino IDEの開発環境で開発でき、
マイコンボード本体に無線(LAN、Bluetooth)モジュールが、
組み込まれているものがあるのを見つけました。
これが、今回使用する、
・ESP32 (ESP-32) 開発ボード
です。

ESP32 (ESP-32) 開発ボード
ESP32 (EPS-32) 開発ボード

これは、大陸でも手に入り、格安製品もあります。
私のように、ちょっと使って飽きてしまうものには、ちょうど良い製品です。
しかも技適対応製品です。

ESP-32 ESP-32S 開発ボード無線 LAN Bluetooth 超低消費電力デュアルコア ESP32 ボード
  AliExpress
   https://ja.aliexpress.com/item/32928267626.html?spm=a2g0s.9042311.0.0.27424c4dptiRV7
   ¥401-

本体には、
・ENボタン:モジュールリセット
・Bootボタン:ダウンロード用(プログラム転送用)
・USB端子(microUSB接続):
 電源供給とプログラム、データ転送
がありますが、
Arduino UNOのデジタル13ピンに接続されているような
LEDはボード上にはありません。

 EPS32 (EPS-32) 開発ボード
EPS32 (EPS-32) 開発ボード

この製品には、よく似た類似製品が多くあります。
製品仕様やピンマップ、技適対応などは
データーシートで必ず確認して下さい。
インターネットで提供されているサイトも多くあります。

このボードの気になるところですが、
普通サイズのブレッドボードを使って回路を作るとき、
ボードの幅が広いため、ブレッドボードのどちらか片方の
ピンソケットが使用できません。
そのため、ブレッドボードミニを2個を使用しています。

ブレッドボードでの使用1
ブレッドボードでの使用1
ブレッドボードでの使用2
ブレッドボードでの使用2

今回は、このESP32用のプログラム開発をArduino IDEで
行うなための設定をしてみます。

1.Arduino IDE に ESP32 のボード情報を追加します。

 1.GitHub のサイトより arduino-esp32 開発関連ファイルを
  ダウンロードします。
  https://github.com/espressif/arduino-esp32

ファイルのダウンロード
ファイルのダウンロード

 2.ダウンロードした”arduino-esp32-master.zip"を展開します。

ダウンロードファイルの展開
ダウンロードファイルの展開

 3.C:\Program Files (x86)\Arduino\hardwareフォルダーに、
  ”espressif”フォルダを作成します。

espressifフォルダの作成
espressifフォルダの作成

 4.作成した、
  C:\Program Files (x86)\Arduino\hardware\espressifフォルダに
  ”esp32”フォルダを作成します。

 esp32フォルダの作成
esp32フォルダの作成

 5.2.で展開したファイル群(中身のみ)を、4.で作成した、
  C:\Program Files (x86)\Arduino\hardware\espressif\esp32フォルダへ
  移動(コピー)します。

ファイルのコピー
ファイルのコピー

 6.他にも必要なファイルが多くありますのでダウンロードします。
  C:\Program Files (x86)\Arduino\hardware\espressif\esp32\tools
  フォルダに移動し、”get”といrアプリケーションを探し、
  右クリックより、管理者として実行(A)メユーを選択クリックします。
  ※WindowsOSからの確認メニューが表示される場合は、OKして下さい。
  ※コマンドプロンプト画面が表示され、ダウンロードが開始されますが、
   かなり時間が掛かります。(私の場合、10分程度でした)

管理者として実行
管理者として実行
コマンドプロンプト画面
コマンドプロンプト画面
ダウンロードされたファイル群
ダウンロードされたファイル群

2.PCにVCP ドライバをインストールします。

  1.SILICON LABSのサイトより、 
   https://jp.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
   私の場合は、Windows10なので、
   Windows 10 Universal (v10.1.8) のダウンロードを選択します。
   ※PCのOSに合致したものを選択します。

ダウンロード1
ダウンロード1
ダウンロード2
ダウンロード2

  2.ダウンロードした”CP210x_Universal_Windows_Driver.zip"等を展開します。
   展開したフォルダ内を確認し、”CP210xVCPInstaller・・・”で、PCに合った
   インストーラーを実行します。
   私の場合は、64bitなので、”CP210xVCPInstaller_x64”を実行します。
   インストーラーの指示に従い、インストールします。
   ※WindowsOSからの確認メニューが表示される場合は、OKして下さい。

ファイルの展開
ファイルの展開
ファイルの実行
ファイルの実行
ウィザードの開始
ウィザードの開始
ウィザードの完了
ウィザードの完了

3.Arduino IDE を起動して、 ESP32 ボード開発向けの設定をします。
  このとき、USBケーブルで、ESP32ボードと接続しておきます。

 1.メニュー「ツール」 → 「ボード:"Arduino UNO"」
          →「ESP32 Dev Module」 を選択
  ※”ESP32 DEV Module”ボードの選択ができない場合は、
    ”1.Arduino IDE に ESP32 のボード情報を追加します” を確認して下さい。

ボードの設定
ボードの設定

 2.メニュー「ツール」 → 「シリアルポート」
          →「COM5」 を選択
  ※シリアルポートは、PCの設定環境によりポート番号が変わります。
   もし、選択できる情報がない場合や分からない場合は、 
   左下のWindowsメニューを右クリックし、デバイスマネージャー(M)を
   選択し、デバイスマネージャー画面のポート(COMとLPT)をクリックし、
   "Silicon Labs CP210x USB to UART Bridge(COMx)"が登録されていることと、
   この COMx の x の番号を確認して下さい。
   これが、シリアルポートの番号になります。

シリアルポートの設定
シリアルポートの設定
デバイスマネージャー画面
デバイスマネージャー画面

では、実際にスケッチしてみます。
またいつもの、デジタル13ピンのLEDの点滅です。
ですが、Arduino UNOのように、本体ボード上にLEDがありません。
そのため、ブレッドボードを使って配線します。

回路は図の通りです。
  この回路図の作図には fritzing を利用させて頂いております。
  https://fritzing.org/home/
   ・LEDには、極性(+-)がありますから間違えないように。
    足の長い方がアノード(+)側で、13番ピン側となります。

回路図
回路図

スケッチしてみます。

void setup() {
  // put your setup code here, to run once:
  pinMode(13,OUTPUT);   // GPIO13ピンを出力用として設定
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(13,HIGH);  // GPIO13ピンへ 3.3Vを出力
  delay(200);             // 1秒停止(200ミリ秒停止)
  digitalWrite(13,LOW);   // GPIO13ピンへ 0Vを出力
  delay(200);             // 1秒停止(200ミリ秒停止)
}

以前の ”Arduino ブレッドボードのLEDを点滅させる” から、
コピーして、一部修正したものです。

マイコンボードに書き込んで実行してみます。

Arduino IDE
Arduino IDE
実行結果1
実行結果1
実行結果2
実行結果2

200ms毎に点滅を繰り返していると思います。
これで、ESP32系ボードの開発環境は整いました。
やはり、このボードは無線(LAN、Bluetooth)を使わないとですね。