chrome.serial

説明

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

権限

serial

対象

ChromeOS のみ

型

ConnectionInfo

プロパティ

  • bitrate

    number 省略可

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

  • bufferSize

    数値

    ConnectionOptions.bufferSizeを見る

  • connectionId

    数値

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

  • ctsFlowControl

    boolean 省略可

    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

    boolean 省略可

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

  • dataBits

    DataBits 省略可

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

  • name

    文字列 省略可

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

  • parityBit

    ParityBit 省略可

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

  • 永続

    boolean 省略可

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

  • receiveTimeout

    number 省略可

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

  • sendTimeout

    number 省略可

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

  • stopBits

    StopBits 省略可

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

DataBits

列挙型

"seven"

"eight"

DeviceControlSignals

プロパティ

  • cts

    ブール値

    CTS(Clear To Send)。

  • dcd

    ブール値

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

  • dsr

    ブール値

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

  • ri

    ブール値

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

DeviceInfo

プロパティ

  • displayName

    文字列 省略可

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

  • パス

    文字列

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

  • productId

    number 省略可

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

  • vendorId

    number 省略可

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

HostControlSignals

プロパティ

  • dtr

    boolean 省略可

    DTR(データ端末レディ)。

  • rts

    boolean 省略可

    RTS(Request To Send)。

ParityBit

列挙型

「いいえ」

"odd"

"even"

ReceiveError

列挙型

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

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

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

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

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

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

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

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

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

ReceiveErrorInfo

プロパティ

  • connectionId

    数値

    接続識別子。

  • エラー

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

ReceiveInfo

プロパティ

  • connectionId

    数値

    接続識別子。

  • データ

    ArrayBuffer

    受信したデータ。

SendError

列挙型

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

"pending"
送信がすでに保留中。

"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

    function 省略可

    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

    function 省略可

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

    (connectionInfo: ConnectionInfo) => void

戻り値

  • Chrome 117 以降

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

disconnect()

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

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

パラメータ

  • connectionId

    数値

    開かれた接続の ID。

  • callback

    function 省略可

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

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

flush()

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

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

パラメータ

  • connectionId

    数値

  • callback

    function 省略可

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

    (result: boolean) => void

    • 件の結果

      ブール値

戻り値

  • Promise<boolean>

    Chrome 117 以降

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

getConnections()

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

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

パラメータ

  • callback

    function 省略可

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

    (connectionInfos: ConnectionInfo[]) => void

戻り値

  • Promise<ConnectionInfo[]>

    Chrome 117 以降

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

getControlSignals()

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

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

パラメータ

  • connectionId

    数値

    接続の ID。

  • callback

    function 省略可

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

    (signals: DeviceControlSignals) => void

戻り値

  • Chrome 117 以降

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

getDevices()

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

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

パラメータ

  • callback

    function 省略可

    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

    function 省略可

    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

    function 省略可

    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

    function 省略可

    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

    function 省略可

    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

    function 省略可

    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

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

パラメータ