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、1,200、2,400、4,800、9,600、14,400、19,200、38,400、57,600、115,200 などの一般的なビットレートにする必要があります。もちろん、ポート自体がそのビットレートをサポートしていても、シリアルポートに接続されたデバイスがリクエストされたビットレートをサポートするとは限りません。デフォルトでは 9600 が渡されます。

  • bufferSize

    number(省略可)

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

  • ctsFlowControl

    ブール値(省略可)

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

  • dataBits

    DataBits 省略可

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

  • name

    文字列(省略可)

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

  • parityBit

    ParityBit 省略可

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

  • 永続

    ブール値(省略可)

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

  • receiveTimeout

    number(省略可)

    新しいデータが届くまで待機し、タイムアウト エラーで onReceiveError イベントを発生させるまでの最大時間(ミリ秒単位)。0 の場合、接続で受信タイムアウト エラーは発生しません。デフォルトは 0 です。

  • sendTimeout

    number(省略可)

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

  • stopBits

    StopBits 省略可

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

DataBits

列挙型

「seven」

「eight」

DeviceControlSignals

プロパティ

  • cts

    ブール値

    CTS(送信可能)。

  • dcd

    ブール値

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

  • dsr

    ブール値

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

  • ri

    ブール値

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

DeviceInfo

プロパティ

  • displayName

    文字列(省略可)

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

  • パス

    文字列

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

  • productId

    number(省略可)

    基盤となるデバイスの USB プロダクト ID(判明する場合)。

  • vendorId

    number(省略可)

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

HostControlSignals

プロパティ

  • dtr

    ブール値(省略可)

    DTR(データ ターミナルの準備完了)。

  • rts

    ブール値(省略可)

    RTS(送信リクエスト)。

ParityBit

列挙型

「no」

「odd」

「even」

ReceiveError

列挙型

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

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

「device_lost」
デバイスがホストから切断された可能性があります。

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

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

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

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

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

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

ReceiveErrorInfo

プロパティ

  • connectionId

    数値

    接続 ID。

  • エラー

    エラーの原因を示すエラーコード。

ReceiveInfo

プロパティ

  • connectionId

    数値

    接続 ID。

  • データ

    ArrayBuffer

    受信したデータ。

SendError

列挙型

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

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

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

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

SendInfo

プロパティ

  • bytesSent

    数値

    送信されたバイト数。

  • エラー

    SendError 省略可

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

StopBits

列挙型

「one」

「2」

メソッド

clearBreak()

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

特定の接続で文字送信を復元し、送信ラインを非中断状態にします。

パラメータ

  • connectionId

    数値

    接続の ID。

  • callback

    function 省略可

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

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

connect()

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

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

パラメータ

  • パス

    文字列

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

  • オプション

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

  • callback

    function 省略可

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

    (connectionInfo: ConnectionInfo) => void

戻り値

  • Chrome 117 以降

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

disconnect()

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

シリアルポートとの接続を解除します。

パラメータ

  • connectionId

    数値

    開いている接続の ID。

  • callback

    function 省略可

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

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

flush()

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

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

パラメータ

  • connectionId

    数値

  • callback

    function 省略可

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

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

getConnections()

Promise
chrome.serial.getConnections(
  callback?: function,
)

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

パラメータ

  • callback

    function 省略可

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

    (connectionInfos: ConnectionInfo[]) => void

戻り値

  • Promise<ConnectionInfo[]>

    Chrome 117 以降

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

getControlSignals()

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

特定の接続の制御信号の状態を取得します。

パラメータ

  • connectionId

    数値

    接続の ID。

  • callback

    function 省略可

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

    (signals: DeviceControlSignals) => void

戻り値

  • Chrome 117 以降

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

getDevices()

Promise
chrome.serial.getDevices(
  callback?: function,
)

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

パラメータ

  • callback

    function 省略可

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

    (ports: DeviceInfo[]) => void

戻り値

  • Promise<DeviceInfo[]>

    Chrome 117 以降

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

getInfo()

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

特定の接続の状態を取得します。

パラメータ

  • connectionId

    数値

    開いている接続の ID。

  • callback

    function 省略可

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

    (connectionInfo: ConnectionInfo) => void

戻り値

  • Chrome 117 以降

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

send()

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

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

パラメータ

  • connectionId

    数値

    接続の ID。

  • データ

    ArrayBuffer

    送信するデータ。

  • callback

    function 省略可

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

    (sendInfo: SendInfo) => void

戻り値

  • Promise<SendInfo>

    Chrome 117 以降

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

setBreak()

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

特定の接続での文字送信を停止し、clearBreak が呼び出されるまで送信ラインを中断状態にします。

パラメータ

  • connectionId

    数値

    接続の ID。

  • callback

    function 省略可

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

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

setControlSignals()

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

特定の接続の制御信号の状態を設定します。

パラメータ

  • connectionId

    数値

    接続の ID。

  • シグナル

    デバイスに送信する一連のシグナル変更。

  • callback

    function 省略可

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

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

setPaused()

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

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

パラメータ

  • connectionId

    数値

    開いている接続の ID。

  • 一時停止

    ブール値

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 117 以降

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

update()

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

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

パラメータ

  • connectionId

    数値

    開いている接続の ID。

  • オプション

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

  • callback

    function 省略可

    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" エラーが発生しても接続は中断されません。

パラメータ