ESP32 Bluetoothテスト

JH7UBC 2020.2.7


ESP32のBluetoothのテストをします。
テストのための簡単なスケッチをESP32にコンパイル書き込みをします。
「Hello World!」の文字をESP32側からパソコンにシリアル送信し、パソコンでそれを受信して、表示するスケッチです。

#include "BluetoothSerial.h"

BluetoothSerial SerialBT;

void setup() {
  SerialBT.begin("ESP32test"); //Bluetooth device name
}

void loop() {
  SerialBT.println("Hello World!");
  delay(1000);
}

 ESP32とパソコンをBluetooth接続する必要があります。(したがって、Bluetooth機能を持っていないパソコンではできません。)
ESP32に電源が入った状態でパソコン(Windows10)側からBluetooth接続(ペアリング)の設定をします。
Windows10のウインドウズロゴ→設定→デバイス(Bluetoothとその他のデバイス)と進み
「Bluetoothまたはその他のデバイスを追加する」をクリックするとESP32のBluetoothが検出されます。

この場合、ESP32testを選ぶ(クリック)すると接続(ペアリング)が完了します。

ペアリングが完了するとパソコン側に新たなシリアルポート(COMポート)が開かれます。
ウインドウズロゴで右クリックして、デバイスマネージャーを開きます。

ESO32に接続してるシリアルポート(この場合COM4)の他にBluetooth経由の標準シリアルCOM5とCOM6が新たに加わっています。
Arduino IDEでツール→シリアルポートでCOM6を選び、シリアルモニタを開くとESP32からシリアル通信で
送信された「Hello World!」の文字列を1秒ごとに受信し表示されます。(通信速度は115200bpsにします)

ここで、ちょっとした注意が必要です。ESP32とパソコンとの通信には、COM6を使っていますが、
ESP32にスケッチを書き込むには、Arduino IDEのシリアルポートを本来のESP32とパソコンの接続(この場合COM4)に戻す必要があります。


Bluetooth接続は単なるシリアル通信ですから、TeraTermなどの通信ソフトでもESP32と通信することができます。
TeraTermで受信した画面です。

ESP32とパソコン間でBluetooth接続(ペアリング)ができ、通信できることが確認できましたので、
パソコンからの指示でESP32に接続したLEDを点灯、消灯するスケッチを試してみます。

スケッチです。

#include "BluetoothSerial.h"
#define LED_Pin 27

BluetoothSerial SerialBT;

void setup() {
  SerialBT.begin("ESP32test"); //Bluetooth device name
  Serial.begin(115200);
  pinMode(LED_Pin, OUTPUT);
  digitalWrite(LED_Pin, LOW);
}

void loop() {
  if (SerialBT.available()){
    char C = SerialBT.read();
    if(C == '1'){
      digitalWrite(LED_Pin, HIGH);
      SerialBT.println("LED ON");
    }else if(C == '2'){
      digitalWrite(LED_Pin,LOW);
      SerialBT.println("LED OFF");
    }
  }

 

スケッチを書き込み、COM6でシリアルモニタを開き、「1」を送信するとLEDが点灯します。「2」を送信するとLEDは消灯します。
ESP32からは、「LED ON」「LED OFF」といいう文字が送られてきます。

動作を確認することができました。

inserted by FC2 system