Arduinoの互換ボードで、サイズやWi-Fiが搭載しているなどの理由から人気があり、本連載でも第32~36回で取り扱ったESP-WROOM-02。今回、その後継として今年の春に発売されたESP-WROOM-32の基本的な使い方や、新たに搭載されたBluetooth(BLE)機能などを扱ってみたいと思います。
目次
1.ESP-WROOM-32って何?
ESP-WROOM-32は、第32回から紹介したESP-WROOM-02と同様、Espressif Systems社が提供しているESP32というチップを搭載したWi-Fi通信やBluetooth(BLE)通信が可能なWi-Fiモジュールのことです。ESP-WROOM-02よりやや大き目ですが、小さいサイズながらもArduinoのプログラムを書き込める(Arduinoとして利用出来る)、Wi-Fi通信が可能、そして安価というメリットを持っています。
2.ESP-WROOM-32の機能・性能
下記の表はこれまでのモデルESP-WROOM-02との比較表になります。
ESP-WROOM-02(ESP8266) | ESP-WROOM-32(ESP32) | |
---|---|---|
サイズ | 縦20mm × 横18mm | 縦25.5mm × 横18mm |
CPU | Tensilica LX106 @ 80 / 160 MHz | Tensilica Xtensa Dual-Core LX6 @ 160 / 240Mhz |
RAM | 36KB available to user | 520 KB |
フラッシュメモリ | 1, 2, 4, 8, 16 MB | 64MB |
Wi-Fi | 802.11n up to 65 Mbps, 802.11g up to 54 Mbps |
802.11n up to 150 Mbps, 802.11g up to 54 Mbps, 802.11 b/g/n/d/e/i/k/r |
Bluetooth | – | Bluetooth v4.2 BR/EDR and BLE specification |
ピン数 | 18pin | 38pin |
電源 | 3.0~3.6V / 80 mA | 2.2~3.6V / 80 mA |
利用可能温度 | -40℃~125℃ | -40℃~125℃ |
ざっくりとした違いの特徴としては、
- ESP-WROOM-02よりやや大きい
- Bluetoothが使える
- CPU/RAM/フラッシュメモリなどの性能が上がっている
- ピン数が増えた
- 電源電圧の幅が広がった
となります。Bluetoothが使えることや性能が上がったことはもちろんですが、ピン数が増えたり電源電圧の幅が広がるのは実際に制作している際、非常に助かる部分ですね。
3.Arduinoで使うための環境構築セットアップ
さっそくArduinoとしてESP-WROOM-32を利用していきたいと思います。ESP-WROOM-02の時もそうですが、このボードもUSBで接続してから、すぐArduino IDEを立ち上げてプログラムを書き込む、というわけにはいきません。最初に利用するための環境を構築する必要があります。
今回は、ESPr Developer 32という、基板にはんだづけなどをしなくてもすぐUSBに挿して利用できる、開発用ボードを使って進めていきたいと思います。
環境構築の主な流れ(Windows向け)は下記のとおりです。
構築に関する細かな情報はSWITCH SCIENCEさんのサイトで紹介されていますが、ここではそのポイントを押さえて紹介していきたいと思います。
- Arduino IDEにESP32のボードを追加する
- ドライバをインストールする
- ボードをPCに接続する
3-1.Arduino IDEにESP32のボードを追加する
はじめに、Arduino IDEの「ツール」-「ボード」にESP32が選択できるようにするため、ボード情報を追加する必要があります。
下記のGithubのサイト上で必要なファイルが公開されていますので、ダウンロードしてください。
画面中央の右側に「Clone or download」というボタンがありますのでそこをクリックし、「Download ZIP」を選択します。
ダウンロードしたZIPの中身は下記のようになっていると思います。
これらのフォルダやファイルを、Windowsの場合は下記のArduinoをインストールしている場所に保存します。
例) C:\Program Files (x86)\Arduino\hardware\espressif\esp32\
次に、保存したファイルの中から、tools/get.exeを起動してさらに必要なファイルをダウンロードします。
get.exeをクリックして起動します。すると、コマンドプロンプトの画面が表示されて、必要なファイルがダウンロードされます。
※ダウンロードされたファイルは同じ場所に通常ダウンロードされますが、別の場所(C:\Users\配下など)にダウンロードされた場合は、esp32\tools配下に移してください。
例) C:\Program Files (x86)\Arduino\hardware\espressif\esp32\tools\
これで、必要なファイルの準備は整いました。
3-2.ドライバをインストールする
次に、ボードのドライバをインストールします。ドライバはUSB UARTを利用するためのドライバが必要なので、下記のサイトからダウンロードしてください。
https://jp.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads
※過去にESP-WROOM-02などを利用したことがある方は、すでにインストールされている可能性がありますのでこの手順はスキップしてください。
UARTドライバのダウンロード
上記のサイトを開くと、ページの下にそれぞれのOSに合わせたドライバが用意されていますので、ダウンロードしてドライバをインストールしてください。
3-3.ボードをPCに接続する
ここまで準備ができたら、実際にESP-WROOM-32のボードをPCに接続します。
Arduino IDE側でも「ツール」-「シリアルポート」で接続が認識できれば準備は完了です。
4.プログラムの作成~Lチカ
準備ができたらさっそくArduino IDEでプログラムを書き込みしてみます。まずはLチカということで、スケッチの例から「01.Basics」-「Blink」プログラムを開きます。
プログラムを開いたら、「ツール」からボードを「ESP32 Dev Module」に設定してプログラムを書き込みしてください。
プログラムの書き込みが完了すると、無事Lチカができました!
(今回は13番ピンを指定していますので、ESPr Developer32側も13ピンとGNDにLEDを接続しています)
5.まとめ
今回無事ESP-WROOM-32を利用することができましたので、次回はBluetooth通信をしてみたいと思います!
関連記事
第32回:Arduinoで使える小型WifiモジュールESP-WROOM-02でガジェットを作る(準備編)
第33回:Arduinoで使える小型WifiモジュールESP-WROOM-02でガジェットを作る(Wifi通信テスト編)
第34回:Arduinoで使える小型WifiモジュールESP-WROOM-02でガジェットを作る(Arduino利用編)
第35回:Arduinoマイコンとしても使える小型WifiモジュールESP-WROOM-02を使ってみる(Arduinoでwifi利用編)
第36回:Arduinoマイコンとしても使える小型WifiモジュールESP-WROOM-02を使ってみる(IFTTTで手軽にIoT編)