前提・実現したいこと
ESP32を使ってAndroidスマホの音楽アプリをbluetoothで操作したい
発生している問題・エラーメッセージ
PLAY/PAUSE、NEXT、PREVIOUS、VOLUMEUP、VOLUMEDOWNの
動作は問題無くできるのですが
ESP32を再起動したようなとき、いったんAndroidスマホ側のBluetoothを
オフにしてからオンにしないと、キー入力ができなくなってしまいます。
一度キーボードとして利用できる状況になっていれば
Androidスマホ側から切断された場合でも
キーボードは自動的に再接続しその後の入力も支障なく行えます。
ですがESP32を再起動してしまうと、自動接続は行われるのですが
キー入力の送信が行えない状態になってしまいます。
該当のソースコード
#include <BleKeyboard.h>
const int PLAY_PAUSE = 23;
const int NEXT = 21;
const int PREVIOUS = 18;
const int VOLUME_UP = 25;
const int VOLUME_DOWN = 14;
BleKeyboard bleKeyboard;
void setup() {
Serial.begin(115200);
bleKeyboard.begin();
pinMode(PLAY_PAUSE, INPUT_PULLUP);
pinMode(NEXT, INPUT_PULLUP);
pinMode(PREVIOUS, INPUT_PULLUP);
pinMode(VOLUME_UP, INPUT_PULLUP);
pinMode(VOLUME_DOWN, INPUT_PULLUP);
}
void loop() {
if(digitalRead(PLAY_PAUSE) == LOW){
bleKeyboard.write(KEY_MEDIA_PLAY_PAUSE);
}
else if(digitalRead(NEXT) == LOW){
bleKeyboard.write(KEY_MEDIA_NEXT_TRACK);
}
else if(digitalRead(PREVIOUS) == LOW){
bleKeyboard.write(KEY_MEDIA_PREVIOUS_TRACK);
}
else if(digitalRead(VOLUME_UP) == LOW){
bleKeyboard.write(KEY_MEDIA_VOLUME_UP);
}
else if(digitalRead(VOLUME_DOWN) == LOW){
bleKeyboard.write(KEY_MEDIA_VOLUME_DOWN);
}
delay(200);
}
試したこと
補足情報(FW/ツールのバージョンなど)
Arduino IDEのバージョンは1.8.10を使用しています。
あなたの回答
tips
プレビュー