Monocleことはじめ


概要

AppleGlass出るのかなー楽しみ。

というわけでARGlass? のちっこいやつ、monocleが届いたので使って遊んでいる。


これ

https://brilliant.xyz


買う

記録を見たら、ここで買うのを決心、一個買ってる。


2023/03/24

https://twitter.com/toru_inoue/status/1639197476522688513


注意:この会社すごくて、購入してもすぐには購入確認メールが来ません。

4日とか経つと来ます。

その旨は買う直前にちゃんと書いてあります。あるけど、自分の購入履歴が見れるページもねーーーーのよw

あれ、通知来ないなー、確認できないなー、って思って、なんか購入ミスったのかと思い

もう一度、まあ購入直前で引き返せば平気か?って思って


二個目を買ってしまう。

この時は、、やってしまった、、まあ、後でキャンセルすればいいか、ごめん、とか思ってた。

で、まだおもしろ状態が続く。


2023/03/28

発送確認メールが1通 とどく。

で。発送メールが1件しかこない。

二通来たら一通キャンセルしようとか思ってたのがこの頃。


→カードの支払い調べるとちゃんと2回払ってるのが確定

→こわ、、サイトからメールしよ

→failed to deliver、、!!

→は?、、は、、、? サイトに書いてあるメアドが到達不可で帰ってくる。 は?

→Discordがあるのでそこに向かう。特定のそういうサポート口は無いのでその辺で「二個買ったとおもうんすけど、、」って伝えると、

IMG_1988.jpg

意訳1: 二個買ったのであっとるで! で一個発送予定メール送るの失敗したわw ごめん。とのこと。


意訳2:(これはスクショを無くした) 

そんでお問合せメアドな、ごめん、サイトに載ってたの古いやつだったわガハハ!

治しとくね!!(そうですか)



そっかあ。

ちなみにこの頃には、二個目の買い手が知り合いから出てきていて、じゃあいっか、二個きたら送るね、とかなってて、もう逆に安心。



で待ってたら、ちゃんと二個きた。

2023/05/23

https://twitter.com/toru_inoue/status/1660863736100397057



時系列まとめ

3/24 購入

3/28 購入確認メールくる(1通のみ)

4月中 Discordでおはなし、解決

5/23 到着


動かしてみる

ドキュメントのページをもとにセットアップしてく

https://docs.brilliant.xyz


つってもファームウェアのアプデくらいしかやることない感じだけど。

WebREPLかVSCodeのextensionでmonocleのやつがあり、それがかなりいい感じなので、VSCodeを使っての開発がおすすめ。


ファームウェアアプデコマンドとか

https://docs.brilliant.xyz/#how-do-i-update-the-firmware



開発環境構築

1. VSCodeにmonocle extension入れる

2. VSCodeで⌘+shift+p → initialize new project folder

3. monocleをケースから出すと自動的に起動するので、2で作ったプロジェクトの下のほう、赤く輝くmonocleボタンを押すと、、

スクリーンショット 2023-05-27 22.45.16.png

自動的にmonoclebluetoothで繋がる。で、接続できるとVSCodeTERMINALでREPLが動く。


4. であとはmicroPythonを書く + 保存すると実機に自動的にコードが送り込まれ、表示が切り替わ、、、らない!

虹色の表示のまんま。なんで?

ファームウェアアプデ以外にやることがあったか?

→ ドキュメントにはなかったけど、Discordを漁ったら情報があり。

5/23? 以降に配布されたファームウェアだと、fpgaのアプデが掛からないのか、fpgaを自力でアプデする必要がある、ぽい。


VSCodeのmonocle extension入れると左のバーにmonocleのアイコンが出るのがあり

スクリーンショット 2023-05-27 22.50.52.png

ここでね、見つけるわけですよ。燦然と輝く Update FPGA ボタンを。

ちなみにこのボタンは最新状態でも元気に出る。


monocleをVSCodeに接続した状態で押すと、FPGAが無事アプデされ、、それ以降は、書いたコードの内容が、monocleのディスプレイにも反映されるようになった。

エラーも全然出ないし、見た目は虹色のまんまだしで、数日悩んだが。解決できた。


バグ

VSCodeと接続でき、FPGAアプデで表示も切り替えられるようになった段階で、タッチインターフェースの反応とかもいい感じになったんだけど、

次のようなバグを確認してる。


1. 文字の表示位置がバグる

表示座標を0,0でセットしても、xが真ん中から表示されるようになる。yも0からずれてるかも。

device.reset() をコード上で書いて、左右どっちかのタッチから実行したら、再起動完了した頃には問題なく動くようになってた。

再発したらタッチ → リセットで問題が消える。開発用にVSCodeを繋いでる時しか起きないかもしれない。



2. VSCode繋いだ状態だと、importが無視される

いまだに現象をよく掴めていないが、コードを保存するとmonocleにコードが転送されて、monocleが一瞬で再起動される。んだけど、

その際コードの全部が更新されるわけではないらしく、microPythonのコードで書かれてるimportがされなかったりする。


こうなったらコードのdevive files/main.pyとかを右クリックから手動で Upload File To Device を実行すると、ちゃんと更新される、、ことがある。

めんどくさいので自分は左タッチにresetを仕込んでて、困ったらresetしてる。resetして再起動すると送り込んだコードがきちんとロードされてるっぽい。

が、この方法には「毎回VSCodeとのbt接続が切断される」という悲しい副作用がある。


まーーーべつにいいんすけどね~~。



豆知識

・再帰で関数を呼ぶと4~5層くらいで死ぬ。

ちゃんとwhileとタイマーみたいなものを使うと良い。

・フレームレートみたいなものは持ってない。まあそりゃそう。

・日本語は表示されない

別に困ってないが、方法はあると思う。

・電池が持つ時間は表示の明るさと面積にだいぶ関係してそう

明るさが5段階で指定できて、一番暗くてもまあ十分読める。

その状態でVSCodeで開発しながら見てると、だいたい1時間くらいでバッテリーが0になる。

充電時間もかなり高速な感じなので、うーん、充電しながら開発したいが、、


シミュレータみたいなものがあるんだろうか。

・LEDは無灯火、弱く点灯状態と強く点灯状態があり、REDとGREENの2つのLEDがある。

赤は、monocleの起動中は弱く点灯状態でつきっぱなしになるっぽい。

といってもつけてる側からは全然見えないので、開発中にその辺に置いてコードが変更されたら光る~とかすると楽。



総評

カラー表示できて軽くてカメラ付きで画像表示できてbluetoothで他デバイスと通信できてタッチ取れてマイクついてて、って感じで、

よく詰め込んだな~これ。


挙動もめちゃくちゃ軽快なので、良い。


これで視界の片隅に表示出したりする。