こんばんは。菅谷です。
キーボードを遠隔できないかなーと思いまして、
調べたり、会社の人に聞いてみたりすると結構簡単にできるらしいのでまとめました。
##キーボードを遠隔で操作するのはBLE通信を使えば簡単にできるらしい
まずは、操作するためのマイコンが必要です。
最初はArduino UNOがいいんじゃないかと思ったんですが、
いくら書き込もうとしてもウンともスンともいきません、、
なんと、Arduino UNOではキーボードの操作はできないらしいのです。
できたとしても、Arduinoで遠隔操作しようとするとマイコンをPCに刺しっぱなしにしないといけないですよね、、(そうじゃなくてもできるのかもしれないけど、知らない笑)
刺しっぱなしも何かイケテナイですよね。
とゆうことで今回は、BLE通信を使って遠隔でPCの音量を操作していきます。
イメージはこんな感じ
マイコンにスケッチを書き込み
↓
BLE通信
↓
キーボードの操作
↓
音量が上がる
##準備を始めよう
準備は以下のようにしていきます
- BLE通信ができるマイコンを準備
- 上をPCに繋げるためのケーブル(type-B)
- Arduino IDE
- マイコンの電源にするためのバッテリー
##実際に動かしてみる
マイコンをPCにつなげてみる。
今回僕が使ったマイコンは会社の同僚が作った開発ボードなんですが、ESP32シリーズのボードであれば同じようにできるらしいです。
それでは、やってきましょう。
下のリンクのGithubからZIP形式のファイルをダウンロードする
https://github.com/T-vK/ESP32-BLE-Keyboard
ダウンロードしたZIPファイルは以下の流れでインストールしていきます。
Arduino IDEの「スケッチ」→「ライブラリをインクルード」→「.ZIP形式のライブラリをインストール」
でインストール完了します。
インストールを終えると「ファイル」の「スケッチ例」の中に「ESP32 BLE Keyboard」というスケッチが出てきますので、ここを選択するとマイコンに直ぐに書き込んで動くスケッチが出てきます。
ボードは「ESP32 Dev Module」で動かして見たら。動きました。
あとはスケッチの中身を少し変更して、音量調節していきます。
変更したあとのコードはこちら
/**
* This example turns the ESP32 into a Bluetooth LE keyboard that writes the words, presses Enter, presses a media key and then Ctrl+Alt+Delete
*/
#include <BleKeyboard.h>
BleKeyboard bleKeyboard;
void setup() {
Serial.begin(115200);
Serial.println("Starting BLE work!");
bleKeyboard.begin();
}
void loop() {
if(bleKeyboard.isConnected()) {
Serial.println("volume up...");
bleKeyboard.press(KEY_MEDIA_VOLUME_UP);
delay(100);
}
Serial.println("Waiting 5 seconds...");
delay(5000);
}
書き込んでみると、、、
いきなり音量がマックスにww
ビックリしましたが成功したようですw
##参考
ESP32をBluetoothキーボードやマウスにする┓
http://neocat.hatenablog.com/entry/2019/09/28/151947