概要
ESP-WROOM-32をBLEキーボードにして、スマートフォンと接続し、カメラアプリのシャッターを切る実験です。
実験
以下のステップで実験を行いました。
- ESP-WROOM-32をBLEキーボードにする
- スマホと接続してカメラアプリのシャッターを切る
ESP-WROOM-32をBLEキーボードにする
Arduino core for the ESP32向けのBLEキーボードライブラリが公開されています。このライブラリを利用することで、ESP-WROOM-32をBLEキーボード化することができます。
このライブラリは、キーボードライブラリとほぼ同じ(almost identical)ように作られているとのことです。
簡単な使い方
サンプルプログラムが付属しているので、使い方に困ることはないと思います。ただし、サンプルプログラムでは、Ctrl+Alt+Deleteの同時押しを行っているので、少し注意してください。
- キーボードオブジェクトの定義
- BleKeyboard.hをインクルードする
- BleKeyboard型変数を定義する
|
|
上記の場合、“ESP32 BLE Keyboard"というデバイス名で認識されます。デバイス名を変更するには、BleKeyboard型変数を定義する際、第1引数にデバイス名を指定します。
|
|
第2引数は、deviceManufacturer(デフォルト: “Espressif”)、第3引数は、batteryLevel(デフォルト: 100)となっています。
- キーボードを開始する
|
|
- ホストデバイスと接続されているか確認する
|
|
- キーボードを操作する
- print()、println()、write()、press()、release()などを使う
|
|
どういうシンボルが利用できるかは、BleKeyboard.hを参照してください。また、write()は、press()後、release()するのと同じ動作です。
スマホと接続してカメラアプリのシャッターを切る
(少なくとも私のAndroid端末では、)カメラ起動中に、Volume Upボタンを押せば、シャッタを切ることができます。PCからESP-WROOM-32にエンターキーを送信すると、ESP-WROOM-32からスマホにVolume Upキーを送信するプログラムを作成しました。
|
|
このプログラムを書き込んだ後、スマホとESP-WROOM-32をペアリングし、カメラアプリを起動します。その後、シリアルモニタから、リターンキーをESP-WROOM-32に送信すると、カメラのシャッターを切ることができます。
私の端末では、Volume Up以外に、リターンキー(KEY_RETURN)でも、シャッターを切ることができました。
試してはみましたが、安価なスマホ用のシャッターリモコンが売られているので、シャッターを切るだけであれば、Arduinoを利用することの意味は????ですね。
バージョン
Hardware: | ESP-WROOM-32 |
Software: | Arduino IDE 1.8.13/Arduino core for the ESP32 |
最終更新日
July 14, 2024