説明
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()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
指定された接続で文字送信を復元し、伝送線を非ブレーク状態にします。
パラメータ
-
connectionId
数値
接続の ID。
-
callback
関数 省略可
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
): Promise<ConnectionInfo>
指定されたシリアルポートに接続します。
パラメータ
-
パス
文字列
開くシリアルポートのシステムパス。
-
オプション
ポートの構成オプション。
-
callback
関数 省略可
callback
パラメータは次のようになります。(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
戻り値
-
Promise<ConnectionInfo>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
): Promise<boolean>
シリアルポートから切断します。
パラメータ
-
connectionId
数値
開かれた接続の ID。
-
callback
関数 省略可
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
): Promise<boolean>
指定された接続の入力バッファと出力バッファ内のすべてのバイトをフラッシュします。
パラメータ
-
connectionId
数値
-
callback
関数 省略可
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getConnections()
chrome.serial.getConnections(
callback?: function,
): Promise<ConnectionInfo[]>
アプリケーションが所有する現在開いているシリアルポート接続のリストを取得します。
パラメータ
-
callback
関数 省略可
callback
パラメータは次のようになります。(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
戻り値
-
Promise<ConnectionInfo[]>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
): Promise<DeviceControlSignals>
指定された接続の制御信号の状態を取得します。
パラメータ
-
connectionId
数値
接続の ID。
-
callback
関数 省略可
callback
パラメータは次のようになります。(signals: DeviceControlSignals) => void
-
シグナル
-
戻り値
-
Promise<DeviceControlSignals>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getDevices()
chrome.serial.getDevices(
callback?: function,
): Promise<DeviceInfo[]>
システムで使用可能なシリアル デバイスに関する情報を返します。このメソッドが呼び出されるたびに、リストが再生成されます。
パラメータ
-
callback
関数 省略可
callback
パラメータは次のようになります。(ports: DeviceInfo[]) => void
-
ports
-
戻り値
-
Promise<DeviceInfo[]>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
): Promise<ConnectionInfo>
指定された接続の状態を取得します。
パラメータ
-
connectionId
数値
開かれた接続の ID。
-
callback
関数 省略可
callback
パラメータは次のようになります。(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
戻り値
-
Promise<ConnectionInfo>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
): Promise<SendInfo>
指定された接続にデータを書き込みます。
パラメータ
-
connectionId
数値
接続の ID。
-
データ
ArrayBuffer
送信するデータ。
-
callback
関数 省略可
callback
パラメータは次のようになります。(sendInfo: SendInfo) => void
-
sendInfo
-
戻り値
-
Promise<SendInfo>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
setBreak()
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()
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()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
): Promise<void>
開いている接続を一時停止または一時停止解除します。
パラメータ
-
connectionId
数値
開かれた接続の ID。
-
一時停止
ブール値
一時停止または一時停止解除を行うかどうかを示すフラグ。
-
callback
関数 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
update()
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"
エラーが発生しても、接続は一時停止されません。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(info: ReceiveErrorInfo) => void