M5StackのBluetooth Serial(追加)

以前にやった時もそうですが、接続が安定しない原因は何なのかの単純化ですが、相変わらずロジックは分かりません。

M5stack Bluetoothでのmacとの送受信

Arduino IDEで以下のようなソースを動作、

#include <M5Stack.h>
#include "BluetoothSerial.h"

BluetoothSerial SerialBT;

int cnt = 0;

void setup() {
  Serial.begin(115200);
  SerialBT.begin("ESP32");
}

void loop() {
  SerialBT.println("Hello World : " + String(cnt));
  cnt += 1;
  delay(1000);
}

ここで、ArduinoIDEのシリアルをBluetoothに選択、

 

すると、コンソールに結果出力されますが、この状態でMacのコンソールを開く(つまりコンソールが2台ある状態)だと、両方のコンソールにランダム風に結果が出力されます。これはまともでしょう、

いずれの状態でもMac本体のBluetoothはペアリングはしていない。

これだけシンプルでも、再コンパイルとかで期待したように動かなくなります。回避方法はMacの再起動のみ。

再起動すると、以下のようにBluetooth接続も復活しますが。

この後でArduinoIDE側のシリアルをUSBに切り替えて、Macコンソールを起動、

ここまでは正常ですが、ここでM5Stackをリセットすると接続が切れて復旧しない。これはArduinoIDE側のシリアルをBluetoothにしていても同じだから、Macを立ち上げて最初にBluetoothシリアル使うまではいいけれども、その後なんらかのアクションをすると必ずMacをリブートしなければいけないという不条理な状態になっています。

 

admin