ESP32-C6をブラウザからいじる

前に作ったMovDiceの続きみたいな話。

アケコンでよく使われるラズパイpicoってあるじゃんね。あれってGP2040-CEなんかをいれてるとブラウザから設定変更ができて重宝するわけです。
ああいうのやりたい!同じようなもんでしょ? 同じチップだったりせんの? とClaudeにきくも、全然ちげえと怒られて問答開始。
そういやそもそもチップメーカーがEspressif Systemsだったわ。
USB経由でできることも違うし、かなり新しい考え方をインストールしないと追従できなさそう。

Web Serial API

Chrome/Edgeがつかえる技術で、ESP32のUSBシリアルポートに直接繋ぐことができる、ってポイントが今回の活路になった。
ほんとはREPLでもやれるんだけど、Pythonのコマンドをまんま流すってことはセキュリティ的にかなり問題がある。なにしろ、MovDiceではOFFにしてるけど、ESP32-C6は本来Wifiが使える。だからコード書き換えればWifiを有効かも自在だし、何でもありだもの。
バックドア作られたらたまんねえということで、シリアル通信で地道にやる方向に落ち着いた。

いうても、今回は真に1行もコードを書いていない。なのでどんな技術を使って解決するのかは理解したけど、実装の実際は全くみてない。typescriptで書いてねとか、cssこうしてとかいう注文だけ。

中で動くスクリプトのすべてを編集できるわけじゃなくて、表示の設定の変更と、表示させたい画像のアップロード・削除ができますというくらい。というか普通の人はそれ以上なにかしようと普通思わん。
いまのとこユーザは自分一人だからこんなもんを作る必要はないのだけど、気の利いたツールのあり方みたいなのを考えてたら作っちゃった。

マイコンは自分にとってまだハードルが高い世界なんだけど、ブラウザであるとかPythonであるとか、こっち側の文脈に寄せられるポイントがあれば手の出しようもでてくる。
特に今回はhtmlとjsでマイコンの一部をいじることができたというのが個人的に新しいポイントだった。