LODGE XR Talk Vol.30 にて Even G1 と Marp の連携デモを展示するよ
最近こちこちと作ってた Even G1 とブラウザを Web Bluetooth でつなげる仕組みだが無事接続ができ、プロトタイプを作ることができた。ありがたいことに、8月21日に開催される 【XRトレンドウォッチ&体験会!】LODGE XR Talk Vol.30 にて展示の機会をいただいたので、参加者向けに体験会をすることにした。
このプロトタイプは、Even G1 と Marp (Markdown でスライドを作れるツール)を Web Bluetooth でつないで空中にカンペを出すというものだ。空中に発表者ノートが出ると思えば想像しやすいと思う。
みなさんは聞き手のほうを見て話せていますか?
聞き手のほうを見ながら話すというのは結構難しいことなのだ。全てを丸暗記してプレゼンに挑めるのであれば、または度胸があれば聴衆のほうを向きつつ話すことができると思う。とはいえ、なかなかに難しいというのをそれなりに登壇してきて感じてきた。
ちょいちょい聞き手の方を向くというテクニックだけでもプレゼンは良くなるが、ついつい次に話すことを確認したくなって目の前のPCを見ながら話してしまったりする。発表者ノートとかを使えば確かに何を話すかわからなくなる不安はなくなるのだが。
理想を言えば、空中に今話すことが浮かんでいればいい。そうなればそのテキストを見て話せばいいわけなので、PCを見ながら話すことになりにくい。
ということで Even G1 と Marp を Web Bluetooth でつないで空中にカンペを出すツールの必要性が高まってくる。欲を言えば、Keynote と連動する軽くて1日中バッテリーが持つような Apple 製のおしゃれな AR グラスがあれば必要ないのかもしれない。しかしそんなものは 2025 年現在はどこにもない。
Even G1 向けに自分で作ろうと思ったきっかけは、以前投稿したこのエントリにある。
この時は Even G1 向けの操作が必要で、慣れなくてうまくいかなかったけれど、スマートグラスを使うと前を向いて話しやすいという気づきがあった。同時にスマートグラスによるプレゼンのサポートってめちゃくちゃ可能性あるんじゃないだろかと思ったのだ。
今回展示するものは正直いって、まだ全然拙いし、プロトタイプレベルでしかない。でも個人的にはすごく可能性を感じていて、いずれは OSS にしようと思っているし、今回の体験会でいろいろフィードバックをもらえたらと思っている。ということで、直近ではあるけど8月21日、LODGEにぜひ遊びに来てください!
開発までの道のり
ついでに試行錯誤のログも貼っておく。まず Web Bluetooth でやればいいじゃんに至るにもしばらく時間がかかったし、公式のサンプルなんかもいろいろ試したりはした。HelloWorld を出せるまでの道のりも結構遠かったのである。
Even G1、Web Bluetooth で Chrome と接続できないもんかとごにょごにょやってる。一応ペアリングして、idを取得するところまではできた。Hello World を画面に表示する信号を送っているはずなんだけど画面には出ない、というところで今日はおしまい
— Kazuhiro Hara ᯅ (@kara_d) July 21, 2025
まったく見当違いなことかもしれないけど Even Realities 本家のアプリでペアリングをしている状況だと Web Bluetooth でペアリングを認識しなくて、外すとペアリングが認識する。まあどっちかしかペアリングできないのはそりゃそうかという感じだけどテストが面倒だなあ。
— Kazuhiro Hara ᯅ (@kara_d) July 22, 2025
地道にやってる Web Bluetooth の Even G1 への接続ですが LR 両方に接続できたというところまできた。Hello World はまだ出せないなあ。送信はしているんだけど。 pic.twitter.com/H5Q3V6YvKd
— Kazuhiro Hara ᯅ (@kara_d) August 14, 2025
Even G1 と Web Bluetooth 、これまででわかったところとしては、Evenアプリと連携解除、なおかつBluetooth接続も解除した上で、ケースに入れた状態でブラウザからペアリングをしないと接続できない。これはペアリング同時接続数が1になっているものと推測。どこかの情報が残ってしまうと接続できない
— Kazuhiro Hara ᯅ (@kara_d) August 14, 2025
あと、グラスの左右、LとRは別々にBluetoothペアリングをする必要がある。
— Kazuhiro Hara ᯅ (@kara_d) August 14, 2025
0x4e, 0x01, 0x01, 0x01, 0x71 + data でテキスト新規メッセージなはずなんだけど、よくわからんなあ。。レスポンスは返ってきているけどレスポンス内容を読み解くドキュメントがなく。。
— Kazuhiro Hara ᯅ (@kara_d) August 14, 2025
0x4e, 0xcb, 0x01, 0x01, 0x01, 0x00, ... というデータは返ってきているものの、0x4eはテキスト送信であることは推測できるとして0xcbというのはなんだろう?何かのメッセージ性を感じるけど。
— Kazuhiro Hara ᯅ (@kara_d) August 14, 2025
https://t.co/NJp1ai6ExI
— Kazuhiro Hara ᯅ (@kara_d) August 14, 2025
によれば0xcbは成功という意味合いにみえる。しかし画面にはでてこないな。。
Lデバイスにテキスト送信を送るあたりでタイムアウトしているところまでわかった(ということで今日はここまで...)
— Kazuhiro Hara ᯅ (@kara_d) August 14, 2025
だいぶ不毛なことをやっている気がしないでもないが、とりあえず Web Bluetooth にはなかなか詳しくなった気がする。いつか何かの役に立つであろう
— Kazuhiro Hara ᯅ (@kara_d) August 14, 2025
まあうまくWeb Bluetooth 接続でいけたとして、もはやEvenアプリとも切り離された孤高のデバイスになってしまう道しか待ってないのであるが
— Kazuhiro Hara ᯅ (@kara_d) August 14, 2025
Even G1でWeb Blutooth 経由でChromeからバイトアレイ送ってHello World表示できた!!! これどっかで発表したい pic.twitter.com/BHfpMP6VGf
— Kazuhiro Hara ᯅ (@kara_d) August 16, 2025
Even G1 の Web Blutooth 連携で、Marp のスライドページ送り時にテキスト情報を送るのができた。これでChromeでMarpつかってプレゼンするときに空中にページごとに話すことを空中に出しておけそう!
— Kazuhiro Hara ᯅ (@kara_d) August 17, 2025
Even G1 の Web Bluetooth 接続でもう一つわかったこと。長い文字列を表示したい場合の問題。送信は20バイトずつしか行えないが、先頭9バイトは制御系で使ってしまうので実質数文字くらいしか送れない。ということで何度も送信をする必要がある。全て送信しないと表示はされない。むずい。
— Kazuhiro Hara ᯅ (@kara_d) August 17, 2025
しかし Even G1 は現状、生(?)で接続できる Bluetooth 接続表示装置としても使えるのでアイデア次第でいろいろな使い方ができるはずです
— Kazuhiro Hara ᯅ (@kara_d) August 17, 2025