Arduino UNO Q 4GBで遊ぶ
Arduino UNO Q 4GBを買ったので遊びます
RSコンポーネンツから購入させていただきました。3日ぐらいで届きました。
まず起動してssh
Arduino App Labを使う上でWebKit2GTKが必須との情報を見たのでそちらもインストール。
まず、Type-Cで接続して、セットアップ完了。このときwifiも設定。
Arduiono App Labの左下にターミナルで開く的なボタンがあるが、gnome-terminalを要求されたので導入。
変更はのちほどやる予定。
sudo pacman -S webkit2gtk gnome-terminal
一度デスクトップを見てみたかったのでリモート接続に挑戦。
Remmina + XRDPでできるらしい。
Arduino UNO Qにsshしてsudo apt install xrdp
写したいPCはArchなのでsudo pacman -S remmina freerdp
XRDPは常時起動したいわけじゃないので一時的にsudo systemctl start xrdpでつけた。

画面が小さいのでサイドバーの「動的な解像度の更新」をオンにしよう
普通にブラウザを触れた。日本語フォントがないので豆腐化するが今後GUIさわる予定はないので無問題
VINから電力供給
今後、Arduino UNO QにLipoから電力供給しなければならないのでVINに電源を接続。
秋月の使用可変安定化電源キットがあったので、8Vに合わせて使ってみた。
正常に動作した。が、どうやら勝手に他UNOと同じ7〜12Vだと思っていたが7〜24Vだったらしい。
何も問題はないんだが、かならず仕様を確認しよう...絶対に落とし穴がある。
あとこのキット、どうやら最大出力が1.5Aらしいので危ない。というか高負荷時に落ちそう。
一応かなり少電力なので耐えるが、余裕を持った電源を用意する。
追記
ベンチマーク等はしてないのだが、初期状態での待機電力はほんとに少ない

XREAL Air 2 Proでみたい
結論から言うと失敗。ARグラスにうつりませんでした。
おそらく電力不足かと思いますが、Arduino UNO QのType-CポートはPD出力対応らしいので、原因は不明。
もちろんDisplayPort Alt Mode対応なので、試しに家のモニターにつなぐと普通に使えた。
- USB 3.1 with Role-Switching Capabilities
- DisplayPort Alt-Mode via the ANX7625 DSI-to-DP bridge (U3001) (SuperSpeed differential pairs
on the Type-C are routed for DP Alt Mode)- Video output (SBC mode): Supports Full HD (1920 × 1080p) displays; optimal resolution is 1280
× 720p- USB Power Delivery negotiation requests a 5 V / 3 A contract only (no higher-voltage profiles)
- VBUS load-switch/back-drive protection (Q2801)
相性の問題なのか?原因か解決策がわかれば教えていただきたい。
Arduino App LabのExamplesとやら

いくつもExamplesが用意されているので、もっともシンプルそうなBlink LEDを動かしてみる。
Bridge.call("set_led_state", led_state)でpythonからstateを送信し、cpp側ではBridge.provide("set_led_state", set_led_state)で受信を待機するといった動きをしてるっぽい。
led_state = False
def loop():
global led_state
time.sleep(1)
led_state = not led_state
Bridge.call("set_led_state", led_state)
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Bridge.begin();
Bridge.provide("set_led_state", set_led_state);
}
void set_led_state(bool state) {
// LOW state means LED is ON
digitalWrite(LED_BUILTIN, state ? LOW : HIGH);
}
コードはこういう感じ。なるほど面白い。booleanをset_led_stateという名前で送って、受診時にBridge.provideで設定した関数を呼び出せるのか。
MPUとMCUの通信テストだけど、うまく動いて一安心。当たり前だけどね。
初回の実行時はすごく遅くて焦ったが、二回目以降は30秒ぐらいで実行される。
まあ、うん。といった感じ。使わないかも。
このあとPlatformIOとVSCodeで完結するシステムにしよう。あとopencodeでかけるようにしちゃお。
みんな大好きPlatformIOを使いたかったが、非対応らしい。これは悲しい
とりあえずopencodeにツール類作らせてます
次は本体をアクセスポイントにしてみるよ
VSCodeでできる開発環境づくりにかなり手こずっている。
どうやらArduino App LabのCLI版が開発中とのこと。
あとBrickライブラリはここ。
公式にはカメラシールドは発売されていないが、すでに非公式製品自体はあるらしい
$95は流石に高い…今1.5万円ぐらいするッピよ
以下の二つのサイトでも、近いうちに取り扱うらしいがいつになることやら