jsalin · mecparts
Jussi Salin の ESP8266 仮想モデム → mecparts(Paul Rickards)の RetroWiFiModem / PicoWiFiModem。
Tachibana プロジェクト · WiFi モデム
Pico W · USB CDC ⇄ WiFi · Hayes AT
Raspberry Pi Pico W 向けの USB WiFi モデム — Hayes AT コマンド対応 — ドングル内で TLS/SSL 終端。
ホスト(例:LOCI 経由の Oric 8 ビットコンピュータ)は USB でプレーンなシリアル通信を行い、ネットワーク処理は Pico W が担います。TLS ハンドシェイク全体、復号、任意の証明書検証まで Pico W が処理します。追加のハードウェアは不要で、素の Pico W だけで動作します。sodiumlb をベースにしたフォーク。GPL-3.0 ライセンス。
機能
USB 上のネイティブシリアル通信(RS-232 ハードウェア不要)。Pico W はシリアルポート(/dev/ttyACM* / COM ポート)として認識されます。任意のシリアル端末(picocom、minicom、PuTTY)で接続できます。
完全な AT コマンドセット:発信、応答、短縮ダイヤル、Telnet、ステータス。1 行に複数コマンド、結果コードの設定、オンラインエスケープ(+++)に対応。
WiFi ステーションモード(2.4 GHz)、認証情報はフラッシュに保存。ネットワークスキャン(AT$SCAN)、起動時の自動再接続、mDNS、着信 TCP サーバ。
このフォークの目玉機能:ATGET https://… が TLS 1.2 ハンドシェイク(mbedTLS)を実行し、復号したページを返します。ユーザ提供の CA に対する任意の証明書検証も可能で、検証を素通りさせることはありません。
設定と CA 証明書を、ファームウェアが使用しない領域に LittleFS 経由でフラッシュに保存。NVRAM の保存/復元(AT&W)、BOOTSEL 不要の再書き込み(1200 ボーのタッチ)。
GitHub 上のフリーなファームウェア。Oric 8 ビットコンピュータ用の LOCI と組み合わせて使用します。OricTel が駆動し、Phosphoric がエミュレートするモデムです。
系譜と役割
このファームウェアは、レトロ WiFi モデムの長い系譜の上に立っています。このフォーク(系譜の末端)は TLS/SSL 終端(mbedTLS)と ATGET https、AT$CA、AT$CV コマンドを追加します。
Jussi Salin の ESP8266 仮想モデム → mecparts(Paul Rickards)の RetroWiFiModem / PicoWiFiModem。
直接の親:Pico W 向けのネイティブ USB-CDC 版で、LOCI と組み合わせるよう設計されています。
TLS/SSL 終端(mbedTLS)と証明書検証を追加し、8 ビットマシンでも HTTPS サービスに到達できるようにします。
LOCI は Oric の USB ホストインターフェースで、プレーンな AT シリアルストリームを運びます。TLS に対して透過的:暗号処理はすべてドングル内にあり、LOCI 側の変更は不要です。
ダウンロードとインストール
デフォルトは 9600 bps、8N1:
AT$SSID=your_network
AT$PASS=your_password
ATC1 # 接続
AT&W # NVRAM に保存
Pico SDK と依存関係は src/ 以下に同梱されており、ARM ツールチェーンを使用します:
cmake -S src -B src/build
cmake --build src/build -j
ステータス
sodiumlb/PicoWiFiModemUSB をベースにした アクティブなフォーク(v0.3.3)。最新のリファレンスドキュメントは GitHub リポジトリにあります。
USB CDC、完全な Hayes AT コマンドセット、WiFi ステーション、Telnet、短縮ダイヤル、mDNS。
TLS 1.2 終端(mbedTLS)、ATGET https / ATPOST、CA 管理と証明書検証。
LOCI との組み合わせ、Oric 側の WiFi 設定ツール、USB ディスクリプタの修正(Windows)。
ドングル内での SSH 終端を検討中(設計ドキュメント)。