M5Stackには、様々なライブラリーがあります
今回は、BLE Keyboardライブラリを使ったBLEキーボードアプリの作り方を紹介します。
M5StackをBLEキーボードに変えることができます。
この記事に載っているサンプルコードをコピーして、Arduino IDEでコンパイルしM5Stack(M5Atom)に書き込めば、簡単に動きを確認できますので、是非試してみて下さい。
この記事では、初心者にもわかりやすいように、各処理の内容を、サンプルコード内にコメントとして載せています。
今回作成するアプリ
今回紹介するアプリは、2つ
アプリ1
M5Atomのボタンを短押しすると、”Hello World”を入力
M5Atomのボタンを長押しすると、「Return」キーを入力
アプリ2
M5Atomのボタンを短押しすると、選択範囲をコピー(「Ctrl」+「C」を入力)
M5Atomのボタンを長押しすると、コピーしたものを貼り付け(「Ctrl」+「V」を入力)
環境準備
本アプリを動かすために、以下のライブラリが必要です。
ESP32 BLE Keyboard library:M5StackシリーズをBLEキーボードとして扱うためのライブラリ
公式サイト
ESP32 BLE Keyboard library の公式サイトは、こちら。
ライブラリのインストール方法
インストール方法は、以下です。
①公式サイトから ESP32-BLE-Keyboard.zip をダウンロード
②ArduinoIDEに、ライブラリを登録する
Arduino IDE のメニューで [スケッチ] – [ライブラリをインクルード] – [.ZIP形式のライブラリをインストール…] をクリック
さきほどダウンロードした ESP32-BLE-Keyboard.zip を選択
サンプルコード
アプリ1
#include "M5Atom.h"
#include <BleKeyboard.h> // https://github.com/T-vK/ESP32-BLE-Keyboard
BleKeyboard bleKeyboard("M5ATOM KB"); //デバイス名
const int longPress_ms = 300; // 長押し判定時間(ms)
void setup() {
M5.begin(true, false, true);
M5.dis.drawpix(0, 0x000000); // LED OFF
Serial.begin(115200);
Serial.println("BLEキーボードアプリ開始");
bleKeyboard.begin();
}
void loop() {
M5.update();
// BLE接続中かどうか
if(bleKeyboard.isConnected()){
// ATOMのボタンを押下されているか
if(M5.Btn.wasPressed()){
// M5ATOMのボタンが押されたら一定時間待つ
delay(longPress_ms);
// // キーが押されたままだったら長押しと判定
if(M5.Btn.read() == true){
// 長押し時の処理
M5.dis.drawpix(0, 0x00f0f0); // LED MAGENTA
Serial.println(" 長押し時は、Returnキー押下 を送信 ");
bleKeyboard.write(KEY_RETURN);
delay(100);
// キーがリリースされていたら短押しと判定
}else{
// 短押し時の処理
M5.dis.drawpix(0, 0xf00000); // LED GREEN
Serial.println(" 短押し時は、文字列 Hello World を送信 ");
bleKeyboard.print(" Hello World ");
delay(100);
}
}
// BLE接続であることを、ATOMのLED(青)を知らせる
M5.dis.drawpix(0, 0x0000f0); // LED BLUE
}else{
// BLE未接続であることを、ATOMのLED(赤)を知らせる
M5.dis.drawpix(0, 0x00f000); // LED RED
}
delay(10);
}
動かし方
①Arduino IDEにつないで、サンプルコードをM5Atomに書き込みます。
②パソコンのメモ帳を開いてください。
③M5Atomのボタンを短押しすると、メモ帳に、”Hello World”が入力されます。
④M5Atomのボタンを長押しすると、改行が入力されます。
アプリ2
#include "M5Atom.h"
#include <BleKeyboard.h> // https://github.com/T-vK/ESP32-BLE-Keyboard
BleKeyboard bleKeyboard("M5ATOM KB"); //デバイス名
const int longPress_ms = 300; // 長押し判定時間(ms)
void setup() {
M5.begin(true, false, true);
M5.dis.drawpix(0, 0x000000); // LED OFF
Serial.begin(115200);
Serial.println("BLEキーボードアプリ開始");
bleKeyboard.begin();
}
void loop() {
M5.update();
// BLE接続中かどうか
if(bleKeyboard.isConnected()){
// ATOMのボタンを押下されているか
if(M5.Btn.wasPressed()){
// M5ATOMのボタンが押されたら一定時間待つ
delay(longPress_ms);
// // キーが押されたままだったら長押しと判定
if(M5.Btn.read() == true){
// 長押し時の処理
M5.dis.drawpix(0, 0x00f0f0); // LED MAGENTA
Serial.println(" 長押し時は、Ctrl+C を送信 ");
bleKeyboard.press(KEY_LEFT_CTRL);
bleKeyboard.press('c');
delay(100);
bleKeyboard.releaseAll();
delay(100);
// キーがリリースされていたら短押しと判定
}else{
// 短押し時の処理
M5.dis.drawpix(0, 0xf00000); // LED GREEN
Serial.println(" 短押し時は、Ctrl+v を送信 ");
bleKeyboard.press(KEY_LEFT_CTRL);
bleKeyboard.press('v');
delay(100);
bleKeyboard.releaseAll();
delay(100);
}
}
// BLE接続であることを、ATOMのLED(青)を知らせる
M5.dis.drawpix(0, 0x0000f0); // LED BLUE
}else{
// BLE未接続であることを、ATOMのLED(赤)を知らせる
M5.dis.drawpix(0, 0x00f000); // LED RED
}
delay(10);
}
動かし方
①Arduino IDEにつないで、サンプルコードをM5Atomに書き込みます。
②パソコンのメモ帳を開いてください。
③メモ帳に、なにか入力してください。それをマウスで選択してください。
③M5Atomのボタンを短押しすると、選択した範囲がコピーされます。
④M5Atomのボタンを長押しすると、選択した範囲をメモ帳に貼り付けされます。
\ M5Stackで遊ぶなら、AWS連携が可能な以下のキットがお薦め /
まとめ
今回は、BLE Keyboardライブラリを使って、M5AtomをBLEキーボードに変えるアプリの作り方を紹介しました。
- 【M5Stackで遊ぼう】M5AtomをBLEキーボードにするアプリの作り方(BLE Keyboard)
- 【IoTプログラミング入門】M5Stack・Raspberry Pi(ラズパイ)ではじめるIoTシステム構築(構成パターン一覧)
- M5Stackシリーズ(ATOM)とCAN-BUSユニットで、CAN送信ツールを作る。
- M5Stackシリーズが、パソコンのどのポートに繋がっているかをPythonで調べる方法
- M5 ATOMとCAN-BUSユニットで、CANモニターツールを作る
- 【M5Stackで遊ぼう】M5Stack(M5Stick)で動くロボット「RoverC-Pro」まとめ
コメント