chrome.serial

説明

chrome.serial API を使用して、シリアルポートに接続されたデバイスから読み取り、書き込みを行います。

権限

serial

ConnectionInfo

プロパティ

  • bitrate

    number 省略可

    ConnectionOptions.bitrate をご覧ください。標準以外のビットレートが使用されている場合や、基盤となるデバイスのクエリ中にエラーが発生した場合は、このフィールドが省略されるか、不正確になることがあります。

  • bufferSize

    数値

    ConnectionOptions.bufferSizeを見る

  • connectionId

    数値

    シリアルポート接続の ID。

  • ctsFlowControl

    ブール値(省略可)

    ConnectionOptions.ctsFlowControl をご覧ください。基盤となるデバイスのクエリ中にエラーが発生した場合、このフィールドは省略されることがあります。

  • dataBits

    DataBits 省略可

    ConnectionOptions.dataBits をご覧ください。基盤となるデバイスのクエリ中にエラーが発生した場合、このフィールドは省略されることがあります。

  • name

    文字列

    ConnectionOptions.nameを見る

  • parityBit

    ParityBit 省略可

    ConnectionOptions.parityBit をご覧ください。基盤となるデバイスのクエリ中にエラーが発生した場合、このフィールドは省略されることがあります。

  • 一時停止

    ブール値

    接続が onReceive イベントの配信をブロックされているかどうかを示すフラグ。

  • 永続

    ブール値

    ConnectionOptions.persistentを見る

  • receiveTimeout

    数値

    ConnectionOptions.receiveTimeoutを見る

  • sendTimeout

    数値

    ConnectionOptions.sendTimeoutを見る

  • stopBits

    StopBits 省略可

    ConnectionOptions.stopBits をご覧ください。基盤となるデバイスのクエリ中にエラーが発生した場合、このフィールドは省略されることがあります。

ConnectionOptions

プロパティ

  • bitrate

    number 省略可

    開く接続の要求されたビットレート。幅広いハードウェアとの互換性を確保するため、この数値は、110、300、1200、2400、4800、9600、14400、19200、38400、57600、115200 など、一般的に利用可能なビットレートのいずれかに一致している必要があります。もちろん、ポート自体がそのビットレートをサポートしていても、シリアルポートに接続されたデバイスがリクエストされたビットレートをサポートする保証はありません。デフォルトでは 9600 が渡されます。

  • bufferSize

    number 省略可

    データの受信に使用されるバッファのサイズ。デフォルト値は 4096 です。

  • ctsFlowControl

    ブール値(省略可)

    RTS/CTS ハードウェア フロー制御を有効にするかどうかを示すフラグ。デフォルトは false です。

  • dataBits

    DataBits 省略可

    デフォルトでは "eight" が渡されます。

  • name

    文字列 省略可

    接続に関連付けるアプリケーション定義の文字列。

  • parityBit

    ParityBit 省略可

    デフォルトでは "no" が渡されます。

  • 永続

    ブール値(省略可)

    アプリケーションが一時停止されたときに接続を開いたままにするかどうかを示すフラグ(アプリのライフサイクルを管理するを参照)。デフォルト値は「false」です。アプリケーションが読み込まれると、persistent=true で以前に開いたシリアル接続は getConnections で取得できます。

  • receiveTimeout

    number 省略可

    新しいデータを待機する最大時間(ミリ秒単位)。この時間を過ぎると、「タイムアウト」エラーで onReceiveError イベントが発生します。ゼロの場合、接続に対して受信タイムアウト エラーは発生しません。デフォルトは 0 です。

  • sendTimeout

    number 省略可

    send オペレーションが完了するまで待機する最大時間(ミリ秒単位)。この時間を過ぎると、タイムアウト エラーでコールバックが呼び出されます。ゼロの場合、送信タイムアウト エラーはトリガーされません。デフォルトは 0 です。

  • stopBits

    StopBits 省略可

    デフォルトでは "one" が渡されます。

DataBits

列挙型

"seven"

"eight"

DeviceControlSignals

プロパティ

  • cts

    ブール値

    CTS(送信可)。

  • dcd

    ブール値

    DCD(データ キャリア検出)または RLSD(受信ライン信号/ 検出)。

  • dsr

    ブール値

    DSR(データセット レディ)。

  • ブール値

    RI(着信インジケーター)。

DeviceInfo

プロパティ

  • displayName

    文字列 省略可

    基盤となるデバイスの人が読める表示名(ホスト ドライバからクエリできる場合)。

  • パス

    文字列

    デバイスのシステムパス。このデバイスに接続するには、path 引数として chrome.serial.connect に渡す必要があります。

  • productId

    number 省略可

    基盤となるデバイスの USB プロダクト ID(特定できる場合)。

  • vendorId

    number 省略可

    基盤となるデバイスの PCI または USB ベンダー ID(特定できる場合)。

HostControlSignals

プロパティ

  • dtr

    ブール値(省略可)

    DTR(Data Terminal Ready)。

  • rts

    ブール値(省略可)

    RTS(送信リクエスト)。

ParityBit

列挙型

"no"

"odd"

"even"

ReceiveError

列挙型

「disconnected」
接続が切断されました。

「timeout」
receiveTimeout ミリ秒間データが受信されていません。

「device_lost」
デバイスがホストから切断された可能性が高いです。

「break」
デバイスがブレーク条件を検出しました。

「frame_error」
デバイスでフレーミング エラーが検出されました。

「オーバーラン」
文字バッファのオーバーランが発生しました。次の文字が失われます。

"buffer_overflow"
入力バッファ オーバーフローが発生しました。入力バッファに空きがないか、ファイル終了(EOF)文字の後に文字が受信されました。

「parity_error」
デバイスでパリティ エラーが検出されました。

「system_error」
システムエラーが発生し、接続を復元できない可能性があります。

ReceiveErrorInfo

プロパティ

  • connectionId

    数値

    接続識別子。

  • エラー

    何が間違っていたかを示すエラーコード。

ReceiveInfo

プロパティ

  • connectionId

    数値

    接続識別子。

  • データ

    ArrayBuffer

    受信したデータ。

SendError

列挙型

「disconnected」
接続が切断されました。

「保留中」
送信はすでに保留中です。

「timeout」
送信がタイムアウトしました。

「system_error」
システムエラーが発生し、接続を復元できない可能性があります。

SendInfo

プロパティ

  • bytesSent

    数値

    送信されたバイト数。

  • エラー

    SendError 省略可

    エラーが発生した場合のエラーコード。

StopBits

列挙型

"one"

"two"

メソッド

clearBreak()

Promise Chrome 45 以降
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

指定された接続で文字送信を復元し、伝送線を非ブレーク状態にします。

パラメータ

  • connectionId

    数値

    接続の ID。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

connect()

Promise
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)
: Promise<ConnectionInfo>

指定されたシリアルポートに接続します。

パラメータ

  • パス

    文字列

    開くシリアルポートのシステムパス。

  • オプション

    ポートの構成オプション。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (connectionInfo: ConnectionInfo) => void

戻り値

  • Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

disconnect()

Promise
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

シリアルポートから切断します。

パラメータ

  • connectionId

    数値

    開かれた接続の ID。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

flush()

Promise
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

指定された接続の入力バッファと出力バッファ内のすべてのバイトをフラッシュします。

パラメータ

  • connectionId

    数値

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getConnections()

Promise
chrome.serial.getConnections(
  callback?: function,
)
: Promise<ConnectionInfo[]>

アプリケーションが所有する現在開いているシリアルポート接続のリストを取得します。

パラメータ

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (connectionInfos: ConnectionInfo[]) => void

戻り値

  • Promise<ConnectionInfo[]>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getControlSignals()

Promise
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

指定された接続の制御信号の状態を取得します。

パラメータ

戻り値

  • Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getDevices()

Promise
chrome.serial.getDevices(
  callback?: function,
)
: Promise<DeviceInfo[]>

システムで使用可能なシリアル デバイスに関する情報を返します。このメソッドが呼び出されるたびに、リストが再生成されます。

パラメータ

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (ports: DeviceInfo[]) => void

戻り値

  • Promise<DeviceInfo[]>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getInfo()

Promise
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)
: Promise<ConnectionInfo>

指定された接続の状態を取得します。

パラメータ

  • connectionId

    数値

    開かれた接続の ID。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (connectionInfo: ConnectionInfo) => void

戻り値

  • Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

send()

Promise
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<SendInfo>

指定された接続にデータを書き込みます。

パラメータ

  • connectionId

    数値

    接続の ID。

  • データ

    ArrayBuffer

    送信するデータ。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (sendInfo: SendInfo) => void

戻り値

  • Promise<SendInfo>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

setBreak()

Promise Chrome 45 以降
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

指定された接続での文字送信を一時停止し、clearBreak が呼び出されるまで伝送線をブレーク状態にします。

パラメータ

  • connectionId

    数値

    接続の ID。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

setControlSignals()

Promise
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)
: Promise<boolean>

指定された接続の制御信号の状態を設定します。

パラメータ

  • connectionId

    数値

    接続の ID。

  • シグナル

    デバイスに送信するシグナルの変更のセット。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

setPaused()

Promise
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

開いている接続を一時停止または一時停止解除します。

パラメータ

  • connectionId

    数値

    開かれた接続の ID。

  • 一時停止

    ブール値

    一時停止または一時停止解除を行うかどうかを示すフラグ。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

update()

Promise
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)
: Promise<boolean>

開いているシリアルポート接続のオプション設定を更新します。

パラメータ

  • connectionId

    数値

    開かれた接続の ID。

  • オプション

    ポートの構成オプション。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

イベント

onReceive

chrome.serial.onReceive.addListener(
  callback: function,
)

接続からデータが読み取られたときに発生するイベント。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (info: ReceiveInfo) => void

onReceiveError

chrome.serial.onReceiveError.addListener(
  callback: function,
)

ランタイムがシリアルポートのデータを待機しているときにエラーが発生した場合に発生するイベント。このイベントが発生すると、接続を paused に設定できます。"timeout" エラーが発生しても、接続は一時停止されません。

パラメータ