05_BLEkeyboard

CherryIoTをBLEキーボードにする

CherryIoTをパソコンへBLEキーボードとして接続し、スイッチで文字を入力します。

スイッチモジュールBLE通信
1

準備する

CherryIoTとモジュールを接続する

CherryIoTの指定コネクタに以下のモジュールを接続し、CherryIoTをPCのUSB-A挿入口に接続します。

スイッチモジュール

スイッチモジュール

接続先:A

Bluetoothに対応したパソコンを準備する

CherryIoTをBLEキーボードとして登録するため、Bluetoothを利用できるパソコンを準備し、Bluetoothを有効にします。

Arduino IDEに必要なライブラリをインストールする

このサンプルでは、次のライブラリを追加する必要があります。

  • HijelHID_BLEKeyboard by Hijel
  • NimBLE-Arduino by h2zero

HijelHID_BLEKeyboardをインストールすると依存関係の確認が表示されます。 「全てをインストール」を選ぶと、NimBLE-Arduinoも一緒にインストールされます。

ライブラリをインストールする
2

サンプルコード

GitHubで公開しているサンプルコードです。コードをコピーして Arduino IDEで使用します。

05_BLEkeyboard.ino
GitHubで開く
GitHubからコードを読み込んでいます...
3

プログラムを書き込む

上のサンプルコードをコピーし、Arduino IDEに貼りつけます。

ボードとポートの設定を確認し、左上の 「→(書き込みボタン)」を押してCherryIoTに書き込みます。

初めて書き込む方は「はじめてのCherryIoT」で詳しい手順を確認してください。

4

動作確認

パソコンで確認する

1CherryIoTをBLEキーボードとして接続する

パソコンのBluetooth設定を開き、デバイスの追加から「ESP32 Keyboard」を選択して接続します。Bluetooth設定の画面や項目名は、使用するOSによって異なります。

2文字を入力できる画面を開く

メモ帳など文字を入力できる画面を開き、入力位置にカーソルを合わせます。

3スイッチを押す

コネクタAに接続したスイッチを押します。

メモ帳などを開いてスイッチを押すと「hello」と入力されるなら成功です。

5

コードの解説

BLEキーボードとして接続された状態でスイッチを読み取り、「hello」という文字列を送信します。

05_BLEkeyboard.ino
GitHubで開く
GitHubからコードを読み込んでいます...

#include <HijelHID_BLEKeyboard.h>HijelHID_BLEKeyboardライブラリを読み込みます。ESP32をBLEキーボードとして動作させるために使用します。

#define swPin 3 //3:ConnectorA 4:ConnectorBコネクタAのスイッチに対応するGPIO3を、定数swPinへ保存します。

HijelHID_BLEKeyboard bleKeyboard("ESP32 Keyboard");BLEキーボードを操作するためのbleKeyboardを作成し、Bluetooth機器名を「ESP32 Keyboard」に設定します。

pinMode(swPin, INPUT);スイッチから届く信号を読み取れるように、swPinをINPUT(入力)に設定します。

bleKeyboard.begin();BLEキーボードの動作を開始します。

if (bleKeyboard.isPaired()) {ESP32と接続先の機器がBLEキーボードとしてペアリングされているか確認します。

if (digitalRead(swPin) == HIGH) {ペアリングされている場合、スイッチの状態を読み取り、HIGHかどうかを確認します。

bleKeyboard.print("hello");スイッチが押されてswPinがHIGHになった場合、接続先の機器へ「hello」と入力します。

delay(200);0.2秒待ちます。