Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

M5stackとBluetooth keyboard

M5stackにはBluetoothが内蔵されているので、これを有効利用してちょっとしたキーボード的ガジェットへの転用が可能です。

実際のところ

導入

Releases · T-vK/ESP32-BLE-Keyboard · GitHub
からlatestのzipを導入。

これを、IDEであれば

サンプル

Aボタンで文字列を送信します。
BボタンではCapsLockを送ってますが、これは連携先のiPhoneで言語切り替えがCapsLockと紐づいているため。

#include <BleKeyboard.h>
#include <M5Stack.h>


BleKeyboard bleKeyboard;

void setup() {
  M5.begin();
  M5.Power.begin();
  Serial.begin(115200);
  Serial.println("Starting BLE work!");
  bleKeyboard.begin();
}

void loop() {
  if(bleKeyboard.isConnected()) {
    M5.update(); 
    if (M5.BtnA.wasReleased() || M5.BtnA.pressedFor(1000, 200)) {
    Serial.println("Sending 'Hello world'...");
    bleKeyboard.println("Hello world");    
    } else if (M5.BtnB.wasReleased() || M5.BtnB.pressedFor(1000, 200)) {
      Serial.println("Sending CapsLock...");
      bleKeyboard.press(KEY_CAPS_LOCK);
      delay(100);
      bleKeyboard.releaseAll();
    }
  } else {
    Serial.println("Waiting 3 seconds...");
    delay(3000);
  }
}

参考情報:Arduinoキーボードでの各キー短縮名

Keyboard Modifiers and Special Keys - Arduino Reference