ディスカッション (7件)
Velxio 2.0がリリースされました!このツールを使えば、Arduino、ESP32、さらにはRaspberry Pi 3といった主要なマイコンやシングルボードコンピュータをブラウザ上で直接エミュレートできます。実機が手元になくても、ウェブブラウザさえあればどこでも手軽にコードの動作確認やテストが行える画期的なシミュレータです。IoT開発のハードルを一段と下げてくれる強力なツールになりそうです。
HNのみんな、少し前にVelxioをここで紹介した時に素晴らしいフィードバックをありがとう。それから大規模なアップデートをリリースしたんだ。
v2の新機能:
- 5つのCPUアーキテクチャ(AVR8、Xtensa、RISC-V、ARM Cortex-M0+、ARM Cortex-A53)にまたがる19種類のボード
- QEMU(lcgamboaフォーク)によるESP32エミュレーション — 本物のフラッシュイメージ、ROM機能のエミュレーション、GPIO/ADC/タイマーに対応
- TypeScriptで書かれたカスタムRISC-Vコア上で、ESP32-C3とCH32V003が完全にブラウザ内で動作
- QEMU raspi3bによるRaspberry Pi 3B — 本物のPi OSが起動し、Pythonが動作
- リアルなセンサーシミュレーション:DHT22(40ビットプロトコルのタイミング)、HC-SR04(トリガー/エコー)、WS2812B NeoPixel(GRBデコード)
- wokwi-elements由来の48以上の電子部品
アーキテクチャ:
- AVR、RP2040、RISC-Vのエミュレーションはクライアントサイドで動作(avr8js、rp2040js、カスタムTSコア)
- ESP32 XtensaとPi 3はバックエンドのQEMUで動作
- 本物のarduino-cliによるコンパイル
- React + Viteのフロントエンド、FastAPIのバックエンド
- Dockerでセルフホスト可能、アカウント不要
ソース:https://github.com/davidmonterocrespo24/velxio (AGPLv3)
エミュレーションのアーキテクチャ、特にブラウザ内とバックエンドQEMUのトレードオフについて議論できるのを楽しみにしてるよ。
Velxio 2.0が公開されたよ。
Arduino、ESP32、Raspberry Pi、RISC-Vなど、19種類の組み込みボードに対応した無料のオープンソース・エミュレーターで、ブラウザ上で実際にコンパイルされたコードを動かせるんだ。
一番のポイントは、完全にローカルで完結すること。
クラウド依存も、学生アカウントも、ネットワーク外へのデータ送信も一切なし。Dockerコンテナ一つでセルフホストできるよ。
大学やブートキャンプなら、自前のサーバーにデプロイして、学生全員に完全な組み込み開発環境を無料で提供できるはずだ。
1年以上かけて開発して、ESP32エミュレーション(QEMU経由)やカスタムRISC-Vコア、本物のPythonが動くRaspberry Pi 3サポートを盛り込んだv2.0をリリースしたばかりなんだ。
まずは、素晴らしい出来だね!今ちょうどいじってるところだよ。
一つ提案なんだけど、メインのスプラッシュ画面の画像が8MB近くあってかなり大きい。俺の回線だとダウンロードに結構時間がかかるんだ。最近の帯域コストがどれくらいか分からないけど、ここは最適化の余地がありそうだね。
よくESPHomeの「コード」を書いて、それをesphome/HomeAssistant経由で色んなESP32デバイス(主にM5Stack)で使ってるんだ。
実機に書き込んでから「動かない」って気づく前の開発段階で、このプロジェクトが役立つことってあるかな?例えば、このエミュレーターでESPHomeのYAMLをコンパイルして動かしてみる、みたいなことは可能?
これは素晴らしいアイデアだね。この手のプロジェクトをテストするためだけに、いちいち物理的なボードにアクセスしなきゃいけないのは、いつも不便だと思ってたんだ。
いい仕事だね!個人的に気になった細かい点だけど、「Play」が有効になる前に「Compile」を押す必要があるのが、すぐには分からなかったな(例えばArduino IDEだと、必要に応じて自動でコンパイルしてそのままアップロードできたりするしね)。