Tachibana

Tachibana プロジェクト · WiFi モデム

PicoWiFiModemUSB

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 ライセンス。

機能

PicoWiFiModemUSB でできること

USB CDC インターフェース

USB 上のネイティブシリアル通信(RS-232 ハードウェア不要)。Pico W はシリアルポート(/dev/ttyACM* / COM ポート)として認識されます。任意のシリアル端末(picocom、minicom、PuTTY)で接続できます。

Hayes AT コマンド

完全な AT コマンドセット:発信、応答、短縮ダイヤル、Telnet、ステータス。1 行に複数コマンド、結果コードの設定、オンラインエスケープ(+++)に対応。

2.4 GHz WiFi

WiFi ステーションモード(2.4 GHz)、認証情報はフラッシュに保存。ネットワークスキャン(AT$SCAN)、起動時の自動再接続、mDNS、着信 TCP サーバ。

ドングル内で終端される HTTPS

このフォークの目玉機能ATGET https://… が TLS 1.2 ハンドシェイク(mbedTLS)を実行し、復号したページを返します。ユーザ提供の CA に対する任意の証明書検証も可能で、検証を素通りさせることはありません。

フラッシュストレージ(LittleFS)

設定と CA 証明書を、ファームウェアが使用しない領域に LittleFS 経由でフラッシュに保存。NVRAM の保存/復元(AT&W)、BOOTSEL 不要の再書き込み(1200 ボーのタッチ)。

フリー(GPL-3.0)

GitHub 上のフリーなファームウェア。Oric 8 ビットコンピュータ用の LOCI と組み合わせて使用します。OricTel が駆動し、Phosphoric がエミュレートするモデムです。

機能一覧の全体を見る → · 技術ドキュメント →

系譜と役割

このファームウェアの由来

このファームウェアは、レトロ WiFi モデムの長い系譜の上に立っています。このフォーク(系譜の末端)は TLS/SSL 終端(mbedTLS)と ATGET httpsAT$CAAT$CV コマンドを追加します。

jsalin · mecparts

Jussi Salin の ESP8266 仮想モデム → mecparts(Paul Rickards)の RetroWiFiModem / PicoWiFiModem。

祖先

sodiumlb

直接の親:Pico W 向けのネイティブ USB-CDC 版で、LOCI と組み合わせるよう設計されています。

このフォーク

TLS/SSL 終端(mbedTLS)と証明書検証を追加し、8 ビットマシンでも HTTPS サービスに到達できるようにします。

TLS / HTTPS

LOCI の役割

LOCI は Oric の USB ホストインターフェースで、プレーンな AT シリアルストリームを運びます。TLS に対して透過的:暗号処理はすべてドングル内にあり、LOCI 側の変更は不要です。

Oric ホスト

ダウンロードとインストール

Pico W への書き込み

ビルド済みファームウェア

各リリースにファームウェアが添付されています。BOOTSEL を押しながら Pico W を抜き差しし(ドライブ RPI-RP2)、.uf2 をコピーします。

最新リリース

初回設定

デフォルトは 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 リポジトリにあります。

AT モデム + WiFi

USB CDC、完全な Hayes AT コマンドセット、WiFi ステーション、Telnet、短縮ダイヤル、mDNS。

完了

TLS / HTTPS

TLS 1.2 終端(mbedTLS)、ATGET https / ATPOST、CA 管理と証明書検証。

完了

Oric / LOCI 統合

LOCI との組み合わせ、Oric 側の WiFi 設定ツール、USB ディスクリプタの修正(Windows)。

完了

SSH の研究開発

ドングル内での SSH 終端を検討中(設計ドキュメント)。

進行中