👌

Even G2にPCから直接BLE接続してHello Worldする

に公開

はじめに

Even G2を買いましたが、スマホアプリ経由だといろいろと不便なことがあります。
例えば、オフラインでは使えないとか。端末の不安定さに左右されるとか。

そこで、以前からEven G2への直接接続に関する情報は調べていて、色々試したりもしていました。

しかし、公式から止められていないとはいえ、権利的に微妙なやつがあったり、色々...

Mentra OSが登場

と、ヤキモキしていると、Mentra OSのEven G2対応が発表されました。

Mentra OSは、複数のスマートグラスプラットフォームに対応した(というか独自で通信を実装した)アプリケーションです。(以前からEven Realitiesと協力関係にあるらしい)

https://mentraglass.com/blogs/blog/even-realities-g2-supported-on-mentraos

https://x.com/caydengineer/status/2057883016538788061

で、Mentra OSはevenアプリに依存していません。自前でBLE通信をしています。
実際試しましたが、わりとちゃんと動きます。Caption機能くらいしか動きませんでしたが、少なくともちゃんと接続し、設定もでき、独自のダッシュボードも動きます。

なお、Mentra OSもEven Hubアプリのようにサードパーティアプリを動かす仕組みがあります。

https://zenn.dev/hololab/articles/eb6ad576156683

...が、私が気になったのはこっち。
MentraOSは100%オープンソースです。つまり、通信に関するコードも公開されているはず。

https://github.com/Mentra-Community/MentraOS

覗いてみると... ありました。
Even G2のプロトコルが実装されている箇所が。

初期化・認証・テキストや画像の表示・マイクの取得まで一通り。

https://github.com/Mentra-Community/MentraOS/blob/dev/mobile/modules/bluetooth-sdk/android/src/main/java/com/mentra/bluetoothsdk/sgcs/G2.kt

Pythonに移植

ここまでわかれば、PCから直接通信できるでしょう。

Github CopilotのGPT-5.4ににこのKotlinファイルを渡して実装してもらいました。
何度かエラーになりつつも、Windows PCから通信を成功させることが出来ました。

https://github.com/gpsnmeajp/mentra_g2_helloworld/

今後の展望

MentraOSがMITライセンスで公開されているので、その成果を使ってこうやって自由に色々表示することができる環境を手に入れられたのは、かなり嬉しいです。

EvenアプリおよびEven G2自体の大規模アップデートが5月末に予定されているとのことで、進化をとても期待しています。私自身、Even Hubアプリもいくつか開発しています。
出先で使うにはEvenアプリのいろいろな機能(翻訳とかナビとか)は便利ですからね。

が、その一方で、完全オフラインなり、自前で表示物を完全に制御できる環境は別の嬉しさがあります。EvenアプリもMentraOSアプリも、No Internet環境では全然使い物にならなくなってしまうので...。

OSS愛好家としては、ポストアポカリプスな状況でも動くのが望ましいのです。

この先、マイコンからEven G2に直接接続できないかな~と考えています。
ではでは。

追記: Mentra Bluetooth SDKについて

Mentra OSのDiscordに参加したら、Mentra Bluetooth SDKなるものについて説明されているのを見つけてしまいました。
これはつまり、各社のクラウドプラットフォームに依存することなくiOS/Androidアプリから直接ローカルでBLE接続・制御するためのSDKとのことです。

やっぱみんな同じことを考えますね。
来週くらいに出るらしい。これも楽しみ。

https://x.com/caydengineer/status/2057147326993740134

Discussion