web-serial-rxjs API Documentation
    Preparing search index...

    クイックスタート

    最短でシリアルポートを開き、行単位で受信し、送信・切断するところまで進む手順です。state$ / isConnected$ / receive$ / lines$ / errors$ と各メソッドの一覧は、先に SerialSession(v2)の概要を参照してください。

    標準的な改行区切り(\n / \r\n)には lines$ を使います。receive$ はデコーダが返す生のチャンク列のままです。独自区切りや別の分割ルールが必要なときは receive$ 上に scan などで組み立てます(高度な使用方法)。接続の真偽は isConnected$ を使うか、従来どおり state$ から map しても構いません。

    定数 意味
    SerialSessionState.Idle 'idle' ポート未接続。Web Serial 利用可能な場合の初期値。
    SerialSessionState.Connecting 'connecting' connect$ 実行中。
    SerialSessionState.Connected 'connected' ポートが開き、read pump が動作中。
    SerialSessionState.Disconnecting 'disconnecting' disconnect$ 実行中。
    SerialSessionState.Unsupported 'unsupported' セッション生成時点で Web Serial が利用できない。
    SerialSessionState.Error 'error' 致命的な失敗。disconnect$ または新しいセッションで復帰。

    遷移・詳細は API リファレンスの SerialSessionState を参照してください。

    import { createSerialSession } from '@gurezo/web-serial-rxjs';

    const session = createSerialSession({ baudRate: 115200 });

    if (!session.isBrowserSupported()) {
    console.error('このブラウザは Web Serial API をサポートしていません');
    }

    session.isConnected$.subscribe((isConnected) => console.log('接続中:', isConnected));
    session.lines$.subscribe((line) => console.log('行:', line));

    // 本番では errors$ を購読して SerialError を扱うことを推奨します
    session.errors$.subscribe((err) => console.error('シリアルエラー:', err));

    session.connect$().subscribe({
    next: () => {
    session.send$('ls\r\n').subscribe({
    error: (e) => console.error('送信エラー:', e),
    });
    },
    error: (e) => console.error('接続エラー:', e),
    });

    state$ の分岐は SerialSessionState の定数で比較します('connected' などの文字列直書きは避けてください):

    import { SerialSessionState } from '@gurezo/web-serial-rxjs';

    session.state$.subscribe((s) => {
    if (s === SerialSessionState.Unsupported) {
    console.warn('このブラウザでは Web Serial を利用できません');
    }
    });

    ポートを閉じるときは disconnect$ を呼びます。

    session.disconnect$().subscribe({
    error: (e) => console.error('切断エラー:', e),
    });