CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

Even Realities G1用SDKをつかってG2にテキストを表示させてみた

前回、Even Realities G2向けのスマートフォンアプリビルドを試していることを書きました。

www.crossroad-tech.com

このときは、G2との情報送受信ができないままでした。

その後、GitHub Copilotを使いながら色々調整した結果、自分でビルドしたスマホアプリが送ったテキストをG2で表示させることができました。

今回は、どのように実現したかと、これらが可能なリポジトリを公開したので紹介します。

注意:1/22時点に公開したリポジトリでは、iPhoneでは成功していません。

今回の環境
- Mac OS Tahoe 26.2
- Nothing Phone 3a (Android 16)

  • Android Studio 2025.3
  • Flutter 3.38.6

1. G1用公式リポジトリのソースコードを改修しないと、G2向けには使えない

公式Discordのreverse-engineeringというチャネルを読んでいると、G1とG2は通信プロトコルの仕様が変わっているようです。そのため、Bluetoothのペアリングができても、スマホからの通信はできなかったようでした。

さらに調べてみると、このGitHubリポジトリではG2向けのBLEプロトコル仕様を解析して、G2とPC間で動くようにしていました。

github.com

そこで、GitHub Copilotを使って、上記リポジトリを参考にしてG1向け公式リポジトリを改修しました。

こちらのリポジトリにまとめました。

github.com

2. ビルド手順

Readme.mdにも書きましたが以下の通りです。

Visual Studio Code、Flutterがインストールされた環境で、これらのコマンドを実行します。

Androidスマートフォンの場合です。

$ pwd
-> top directory
$ flutter pub get
(スマートフォンをPCと接続する)
$ flutter run

スマートフォンをPCと接続してからflutter runを実行すると、そのデバイスに合わせたplatformでビルドしてくれます。

iPhoneの場合、iPhoneをMacに接続し、あらかじめios/Runner.xcodeprojを開いて、"Signing and Capabilities"のTeamという箇所を自分のApple Accountに変更する必要があります。

その後で、以下のコマンドを実行します。

$ cd ios
$ flutter precache --ios  
$ pod install 
$ cd ../  //top directory
$ flutter run

3. 使い方

前提として、Apple Store/Googl PlayからインストールしたEvenAppとG2がBLE接続されていると、自分のアプリとG2は通信をしません。

そのため、まずは公式EvenAppとG2のBluetooth接続を切ります。私は検証の過程で公式EvenAppをアンインストールしていますが、そこまでしなくても良いはずです。

使い方です。自分のアプリを起動し、"Not Connected"をタッチします。すると、近くにあるG2の名称が表示されるので、そこでデバイス名をタッチします。この後、Connectedという表示になればBluetoothのペアリング成功です。

この辺は今回準備したGitHubリポジトリにスクリーンショット付きで書いているので、そちらもご参考ください。

元々参考にしたリポジトリには、スマホからBMP画像、テキスト、通知? (「テキスト」との違いがわからないので、わかったら書きます) をG2に送る機能が入っています。

注意:1/22時点ではテキスト送信しかG2に対応していません。

左の画像がスマートフォン側で作った文章、右側はG2の画面です。 スマートフォン側で"Send to Glasses"という場所をタップすると、テキストメッセージがG2に送信され、G2側にはPush通知として表示されます。

G2 received text from smartphone app

見づらいですが、G2の画面に "Send text to G2 Welcome to G2"という文字が表示されていることが確認できます。

なお、この画像ではG2に"Send text to G2 Welcome to G2"としか表示されていませんが、実際はG2側の操作でスクロールができるので、長文メッセージも読むことができます。

4. おわりに

ひとまず自分で作るアプリからテキスト送信ができたので、続けて画像送信も試したいと思います。