今回は、ESP32同士の通信を学びます。まずは、2個のESP32モジュールを準備します。
まずは、各モジュールに割り当てられた「MACアドレス」の情報を調べる必要があります。この情報は、モジュール内部に持っていますので、読みだして確認することができます。
下記の手順で「MACアドレス」の情報表示を行うプログラムを読み込みます。
▼サンプル・プログラム
- ボードバージョン:ESP32 by Espressif Systems Ver2.0.17
- ライブラリーバージョン:xx
/*
* https://github.com/espressif/arduino-esp32/issues/932
*/
#include "esp_system.h"
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
// Get MAC address for WiFi station
uint8_t baseMac[6];
esp_read_mac(baseMac, ESP_MAC_WIFI_STA);
char baseMacChr[18] = {0};
sprintf(baseMacChr, "%02X:%02X:%02X:%02X:%02X:%02X", baseMac[0], baseMac[1], baseMac[2], baseMac[3], baseMac[4], baseMac[5]);
Serial.print("MAC: ");
Serial.println(baseMacChr);
}
void loop() {
// put your main code here, to run repeatedly:
}
上記のプログラムをESP32に書き込み、シリアルモニタを起動します。
モジュールのリセットボタンを押すと、通信に必要となる情報を取得できます。今回のテストで必要となるのは、「Bluetooth」の右に書かれた12桁[xx : xx : xx : xx : xx : xx]の情報です。
動作プログラムについて
ESP32モジュール同士のBluetooth通信のテストとして、次のようなプログラムを行います。
ESP1:送信側・・ボタンを押した情報をESP2へ送る
ESP2:受信側・・情報を受け取ると、LEDを点滅
①送信側モジュールのプログラム
②受信側モジュールのプログラム