Lチカにチャレンジ
電子工作界のHello Worldとも言えるLチカ(LEDの点滅)にチャレンジしてみましょう。
今回は以下のものを使います。

ブレッドボードとLEDは市販されているもので問題無いです。 ESP32-DevKitCはブレッドボードに刺して使うため、名刺サイズ程度のブレッドボードを用意しましょう。

このような形でESP32-DevKitCはブレッドボードに刺さります。奥まで差し込みましょう。
次に回路を組みます。
こちらのリポジトリの下部に掲載されているピンマップを見て、どのピン番号がどこにあるのかを確認します。

今回は13番ピンにLEDを接続してLEDを点滅させてみます。

GNDにLEDのマイナス側(足が短い方)、IO13にLEDのプラス側(足が長い方)を接続します。写真を参考にしましょう。
以下のコードをそのままコピペでArduino IDEでプロジェクトを作りましょう。
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(250);
digitalWrite(13, LOW);
delay(250);
}
MacとESP32-DevKitCがUSBで接続されていていること、ツール > シリアルポートの項目がシリアルポート(Port): /dev/cu.SLAB_USBtoUARTになっていることを確認して→マークを選択して書き込みを行います。

成功するとこのようにLEDが点滅します。
Bluetoothのサンプルコードも試してみよう
ESP32が注目を集めている理由の一つがBluetoothの機能です。サンプルを試してみましょう。
ファイル > スケッチ例 > SimpleBLE > SimpleBleDeviceからサンプルコードを確認することができます。
#include "SimpleBLE.h"
SimpleBLE ble;
void onButton(){
String out = "BLE32 at: ";
out += String(millis() / 1000);
Serial.println(out);
ble.begin(out);
}
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
pinMode(0, INPUT_PULLUP);
Serial.print("ESP32 SDK: ");
Serial.println(ESP.getSdkVersion());
ble.begin("ESP32 SimpleBLE");
Serial.println("Press the button to change the device name");
}
void loop() {
static uint8_t lastPinState = 1;
uint8_t pinState = digitalRead(0);
if(!pinState && lastPinState){
onButton();
}
lastPinState = pinState;
while(Serial.available()) Serial.write(Serial.read());
}
こちらのコードを書き込みして実行します。
ESP32-DevKitCのUSBコネクタの隣のbootボタンを押すとデバイスの名前(Local Name)がカウントアップしていきます。

LightBlueなどのBluetoothの通信を確認するアプリケーションで確認できます。
おわりに
いかがでしたでしょうか。ESP32はまだまだサンプルコードやハック記事が出ておらず、現時点での開発はイバラの道のような感覚があります。 とはいえ、比較的安価でWi-FiとBluetoothを搭載していて、Arduino開発が出来るというのは電子工作に馴染みのある人にはかなり魅力的です。
今後、Bluetoothやビーコンを使う必要性があるユースケースがどんどん生まれてくると思いますので、そのときのために今から触ってみるのは良いかもしれません。
