【紹介動画も公開中】ムセンコネクト著書『Bluetooth無線化講座―プロが教える基礎・開発ノウハウ・よくあるトラブルと対策―』絶賛発売中

【意外と便利?!】Bluetoothキーボードみたいにデータを送れるHOGP対応BLEモジュール

こんにちは。ムセンコネクト三浦です。

今日はHOGP機能を利用したLINBLEの試作機をご紹介します。

目次

HOGP機能を利用したLINBLEとは?

今回作成した試作機は「HOGP対応LINBLE」です。

HOGPとはHID over GATT Profileの略で、BluetoothキーボードやBluetoothマウスで利用されるプロファイルのことです。
Bluetooth Classicの時代ではHIDという言葉でよく使われていましたが、Bluetooth Low Energyに限定するとHOGPという言葉で使われます。
※HID = Human Interface Device

HOGP、HIDについては、こちらの記事にも記載されています。

あわせて読みたい
【サルでもわかる】Bluetoothのプロファイル『HID/HOGP』とは? こんにちは、ムセンコネクトCEOの水野です。(プロフィール紹介はこちら) 本テーマは動画解説をメインとしておりますが、テキストでの解説もご用意しております。視聴...

本来HOGPは、キーボードやマウスなどの入力機器とパソコンやタブレットを接続するための通信方式です。
図にすると下記のような使い方になります。

Bluetoothキーボードやマウスを利用したことがある人も多いと思いますのでイメージが付きやすいかもしれません。
専用のアプリをインストールする必要はなく、OSの「Bluetoothの設定」画面からマウスやキーボードを選択するだけで無線接続して、簡単に使い始めることが出来ます。

これをIoT機器がデータ通信する仕組みに利用すると下図のようになります。

予めパソコンの「Bluetoothの設定」画面から「HOGP対応LINBLE」を接続しておきます。(パソコンからするとBluetoothキーボードに接続したようなイメージになります。)

ホストマイコンはセンサから温度データを読み出し、読み出したセンサ値を文字列として今回の試作機「HOGP対応LINBLE」に送信します。すると、パソコン側ではあたかも自動的にキーボードが押されたかのようにセンサ値が表示されます。

HOGPって何が便利?

通常のLINBLE-Z1はLINBLE UART Serviceという独自のデータ通信の仕組みを利用していますが、これをHOGPに置き換えると、どのような効果があるのでしょうか?

ホストマイコンとしての手間はほとんど変わりません。通常のLINBLE-Z1に対して行うことと、ほとんど同じことを行えば良いだけです。

通常のLINBLE-Z1HOGP版LINBLE
通信方式BLE
(LINBLE UART Service)
BLE
(HOGP)
方向双方向通信デバイスからパソコンへの片方向
通信速度速い遅い
専用のアプリ必要不要
(メモ帳などの汎用アプリでデータを受信できる)
BLE接続専用のアプリで接続OSのBluetooth設定画面から接続
複数のOS種別対応各OS向けに専用アプリを作る必要がある互換性があるので複数OSに対応できる

通常のLINBLE-Z1を利用する場合、必ずパソコンやタブレットに専用のアプリをインストールする必要がありました。
(先の例でいうと「温度センサ受信アプリ」みたいなアプリを開発し、インストールしておく必要があります。)

HOGP版のLINBLEでは、専用のアプリが不要になります。温度センサデバイスはキーボードに見せかけてパソコンに接続し、センサ値が文字入力のように表示されるので、入力先のアプリはメモ帳でも、WordでもExcelでも何でも構いません。
専用のアプリが要らないというのは大きなメリットだと思います。

また、HOGPは互換性の高い規格なので、Windows、iPad、AndroidのそれぞれのOSで同じ様に動作することができます。

一方、LINBLE-Z1では双方向の通信が出来ますが、HOGP版LINBLEでは片方向の通信しか出来ません。データを文字として送るので、それほど多くのデータを送るのにも向いていません。

LINBLE Keyboardとの違いは?

「LINBLEをKeyboardのように使える・・・」といえば、ムセンコネクトではiOS向けにLINBLE Keyboardアプリをリリースしています。

こちらはiOS向けのキーボード着せ替えアプリです。LINBLE-Z1から受信したデータをキーボード入力に変換して、メモ帳などの他のアプリに文字入力ができるものです。

LINBLE Keyboardは通常のLINBLE-Z1と通信します。このときの通信方式はHOGPではなくLINBLE UART Serviceを利用しています。

「HOGP対応LINBLE」と同じ様な使い方ができて便利なのですが、LINBLE Keyboardアプリをインストールして、OSのキーボード設定を行う必要があります。
また、ムセンコネクトではiOS版のみ公開していますので、AndroidやWindowsには対応できません。

実際に試した動画を公開

実際に試してみた動画を公開します。

【デモ①】パソコンのターミナルソフトに入力したテキストをiPadのメモアプリに表示

左にiPadが置いてあります。
右にパソコンがあり、HOGP版LINBLEをUSBアダプタに載せて接続しています。予めTeraTermでCOMポートを開いています。

  1. iPad側ではBluetoothの設定画面を開いて、周囲のBluetoothデバイスをスキャンしています。
  2. HOGP版LINBLEに「BTAコマンド」を送りアドバタイズを開始させます。iPad側の周囲のBluetoothデバイスのリストに「LINBLE-HOGP」が表示されました。
  3. 「LINBLE-HOGP」をタップするとペアリングをするかどうか選択するメッセージが表示されました。「ペアリング」をタップします。
    無事に「LINBLE-HOGP」とiPadが接続されました。
  4. iPadをメモ帳アプリに切り替えます。
  5. TeraTermからLINBLE-HOGPに「Test」「1234567890」と入力すると、iPadのメモ帳アプリに文字列が表示されました。

デモ② HOGPモジュールを使ったセンサデータのBLE転送

環境光センサの値をマイコンで取得し、HOGPモジュールを使ってBLE転送・iPhoneの標準メモアプリに入力しています。

まとめ

今回、HOGP版LINBLEを試作しました。
ちょっとしたセンサデータを送りたいだけというシーンは意外に多いので、そのような場合にはLINBLE-Z1を使うよりも手軽に利用できそうです。

LINBLEの本機能として実装するかどうかはまだ決定していませんが、興味がある方がいましたら、お問い合わせいただければ嬉しいです。

(2023年7月追記)
HOGP機能を搭載した「LINBLE-Z2」を発表しました。下の記事も是非御覧ください。

あわせて読みたい
ムセンコネクトのBLEモジュールLINBLEシリーズに最新モデルLINBLE-Z2が登場 ムセンコネクトのBLEモジュールLINBLEシリーズに最新モデルLINBLE-Z2が登場します。 LINBLE-Z2はBluetooth 5.1に対応し、さらに長距離通信やHOGP通信などの新機能を追加...
よろしければシェアをお願いします
目次