はじめまして、丸山と申します。
オフコン/汎用機時代のCOBOLからキャリアをスタートし、現在に至るまで主に実装業務を中心にITエンジニアとして活動しています。最近はC#によるWebアプリケーションの開発・保守を中心に、BUSYBOX+C言語を用いた組み込み開発からサーバサイドまで、幅広く手を動かしています。
2025年2月に「2024年度 Web×IoT メイカーズチャレンジ PLUS」に参加した際、開発環境として利用したCHIRIMENから着想を得て、Web Serial APIとIoTデバイス(特にRaspberry Pi Pico W)の連携に可能性を感じました。
ある時、「VSCodeやThonnyなどで利用されるRaspberry Pi PicoのREPL(Read-Eval-Print Loop)は、単なるシリアル通信である」との情報を知り、「この仕組みを活かせば、ソースコードにハードコーディングされがちなWiFi設定情報を、エンドユーザーがWebブラウザ経由で簡単に設定できるのでは?」と考えました。
MicroPythonの知識は浅いながらも、まずは簡単な構成で一通りの仕組みを実装してみました。類似のオープンプロジェクトが見当たらなかった(※)こともあり、今回、GitHubでの公開とQiitaでの技術解説を行ってみようと思います。
※「ESP32/Raspberry Pi Pico W自体をWiFiルーターとしてブラウザ経由で設定させる」というプロジェクトはありましたが、REPLやWeb Serial APIを用いたものはありませんでした。何故こちらを利用しなかったかについては次回に解説します
解説予定の主な内容
- Web Serial APIの概要と使用方法
- Raspberry Pi Pico+MicroPythonによるJSONファイル操作
- 再利用性を考慮したCDN版Vue(Composition API)によるHTMLクライアント実装
今後の発展も視野に
- 多言語対応(特に英語UI)
- クライアント側コードのTypeScript化
なお、Raspberry Pi Pico WやMicroPythonについてはまだ学習中の部分も多く、記事中に誤りや不明瞭な点があるかもしれません。ご指摘・ご助言いただければ大変ありがたいです。
どうぞよろしくお願いいたします。