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 をご覧ください。基盤となるデバイスのクエリ中にエラーが発生した場合、このフィールドは省略できます。

  • 一時停止

    boolean

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

  • 永続

    boolean

    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

    string(省略可)

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

  • parityBit

    ParityBit 省略可

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

  • 永続

    ブール値(省略可)

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

  • receiveTimeout

    number(省略可)

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

  • sendTimeout

    number(省略可)

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

  • stopBits

    StopBits 省略可

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

DataBits

Enum

"seven"

"eight"

DeviceControlSignals

プロパティ

  • cts

    boolean

    CTS(Clear To Send)。

  • DCD

    boolean

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

  • DSR

    boolean

    DSR(データセット準備完了)。

  • boolean

    RI(リング インジケーター)。

DeviceInfo

プロパティ

  • displayName

    string(省略可)

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

  • パス

    文字列

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

  • productId

    number(省略可)

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

  • vendorId

    number(省略可)

    基盤となるデバイスについて PCI または USB のベンダー ID を特定できる場合。

HostControlSignals

プロパティ

  • dtr

    ブール値(省略可)

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

  • RTS

    ブール値(省略可)

    RTS(Request To Send)。

ParityBit

Enum

ReceiveError

Enum

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

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

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

"break"
デバイスがブレーク状態を検出しました。

"frame_error"
デバイスがフレームエラーを検出しました。

"overrun"
文字バッファ オーバーランが発生しました。次の文字が入力されなくなります。

"buffer_overflow"
入力バッファ オーバーフローが発生しました。入力バッファにスペースがないか、ファイルの終わり(EOF)文字の後に文字が渡されました。

"parity_error"
デバイスがパリティエラーを検出しました。

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

ReceiveErrorInfo

プロパティ

  • connectionId

    数値

    接続 ID。

  • error

    エラーを示すエラーコード。

ReceiveInfo

プロパティ

  • connectionId

    数値

    接続 ID。

  • data

    ArrayBuffer

    受信したデータ。

SendError

Enum

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

"pending"
送信はすでに保留されています。

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

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

SendInfo

プロパティ

  • bytesSent

    数値

    送信されたバイト数。

  • error

    SendError 省略可

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

StopBits

Enum

"two"

Methods

clearBreak()

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

特定の接続での文字転送を復元し、伝送線をノンブレーク状態に配置します。

パラメータ

  • connectionId

    数値

    接続の ID。

  • callback

    関数(省略可)

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

    (result: boolean)=>void

    • 件の結果

      boolean

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

connect()

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

特定のシリアルポートに接続します。

パラメータ

  • パス

    文字列

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

  • オプション

    ポート構成オプション。

  • callback

    関数(省略可)

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

    (connectionInfo: ConnectionInfo)=>void

戻り値

  • Chrome 117 以降

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

disconnect()

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

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

パラメータ

  • connectionId

    数値

    開いている接続の ID。

  • callback

    関数(省略可)

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

    (result: boolean)=>void

    • 件の結果

      boolean

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

flush()

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

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

パラメータ

  • connectionId

    数値

  • callback

    関数(省略可)

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

    (result: boolean)=>void

    • 件の結果

      boolean

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

getConnections()

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

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

パラメータ

  • callback

    関数(省略可)

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

    (connectionInfos: ConnectionInfo[])=>void

戻り値

  • Promise<ConnectionInfo[]>

    Chrome 117 以降

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

getControlSignals()

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

指定された接続での制御シグナルの状態を取得します。

パラメータ

戻り値

  • Chrome 117 以降

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

getDevices()

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

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

パラメータ

  • callback

    関数(省略可)

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

    (ports: DeviceInfo[])=>void

戻り値

  • Promise<DeviceInfo[]>

    Chrome 117 以降

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

getInfo()

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

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

パラメータ

  • connectionId

    数値

    開いている接続の ID。

  • callback

    関数(省略可)

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

    (connectionInfo: ConnectionInfo)=>void

戻り値

  • Chrome 117 以降

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

send()

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

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

パラメータ

  • connectionId

    数値

    接続の ID。

  • data

    ArrayBuffer

    送信するデータ。

  • callback

    関数(省略可)

    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

    関数(省略可)

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

    (result: boolean)=>void

    • 件の結果

      boolean

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

setControlSignals()

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

特定の接続での制御シグナルの状態を設定します。

パラメータ

  • connectionId

    数値

    接続の ID。

  • シグナル

    デバイスに送信されるシグナルのセットが変わります。

  • callback

    関数(省略可)

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

    (result: boolean)=>void

    • 件の結果

      boolean

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

setPaused()

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

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

パラメータ

  • connectionId

    数値

    開いている接続の ID。

  • 一時停止

    boolean

    一時停止するか一時停止解除するかを示すフラグ。

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 117 以降

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

update()

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

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

パラメータ

  • connectionId

    数値

    開いている接続の ID。

  • オプション

    ポート構成オプション。

  • callback

    関数(省略可)

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

    (result: boolean)=>void

    • 件の結果

      boolean

戻り値

  • 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" エラーが発生しても接続は一時停止されません。

パラメータ