MicroPythonをブラウザ上で動かしているデモを見つけたので、リンクを貼っておきます。
MicroPython用ハードウェアであるPyBoardと、それに接続されたLEDやサーボモータもエミュレートされています。
手軽に雰囲気を楽しめて良いと思います。
これはMicroPythonの作者によるもので、こちらに解説があります。
MicroPython running “bare metal” in the browser via unicorn.js – MicroPython Forum
QEMUベースのマルチプラットフォームのエミュレータであるUnicornを、EmscriptenでJavaScriptに変換したUnicorn.jsをブラウザ上で動作させ、その上でARM用のMicroPythonを動かしているそうです。
上の記事にもありますが、コードが以下に置かれています。
micropython/micropython-unicorn: MicroPython on Unicorn
さすがに、速度はESP32の上で動かすMicroPythonにはだいぶ劣ります。
サンプルの中にマンデルブロ集合をテキストで出力する例が入っていましたが、同じものをESP32で動かしたら一瞬で終了してしまいます。
オマケとして、このマンデルブロ集合のコードをESP32+ST7735の上でビットマップ出力するように修正してみましたので、以下に載せておきます。
動作の様子です。この動画では1ピクセルずつ描画していますが、上のコードは1ライン分をまとめて描画するように変更しており、もう少し速くなっています。
コメント