説明
シリアルポートに接続されているデバイスの読み取りと書き込みを行うには、chrome.serial
API を使用します。
権限
serial
型
ConnectionInfo
プロパティ
-
bitrate
数値(省略可)
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
数値(省略可)
接続を開くためにリクエストされたビットレート。最も幅広いハードウェアとの互換性を確保するために、この数値は、一般的に利用可能なビットレート(110、300、1200、2400、4800、9600、14400、19200、38400、57600、115200 など)のいずれかと一致する必要があります。もちろん、たとえポート自体がビットレートをサポートしていても、シリアルポートに接続されたデバイスが要求されたビットレートをサポートする保証はありません。デフォルトでは
9600
が渡されます。 -
bufferSize
数値(省略可)
データの受信に使用されるバッファのサイズ。デフォルト値は 4096 です。
-
ctsFlowControl
ブール値(省略可)
RTS/CTS ハードウェア フロー制御を有効にするかどうかを示すフラグ。デフォルトは false です。
-
dataBits
DataBits オプション
デフォルトでは
"eight"
が渡されます。 -
name
文字列(省略可)
接続に関連付けるアプリケーション定義の文字列。
-
parityBit
ParityBit オプション
デフォルトでは
"no"
が渡されます。 -
永続
ブール値(省略可)
アプリが停止したときに接続を開いたままにするかどうかを示すフラグ(アプリのライフサイクルを管理するをご覧ください)。デフォルト値は「false」です。アプリケーションが読み込まれたら、Persistent=true で開かれたシリアル接続は、
getConnections
でフェッチできます。 -
receiveTimeout
数値(省略可)
onReceiveError
イベントが「タイムアウト」になるまで新しいデータを待機する最大時間(ミリ秒単位)。エラーが発生します。ゼロの場合、接続に対して受信タイムアウト エラーは発生しません。デフォルトは 0 です。 -
sendTimeout
数値(省略可)
send
オペレーションが完了するのを待機する最大時間(ミリ秒単位)。この時間を過ぎると、「タイムアウト」でコールバックが呼び出されます。エラーが発生します。ゼロの場合、送信タイムアウト エラーはトリガーされません。デフォルトは 0 です。 -
stopBits
StopBits(省略可)
デフォルトでは
"one"
が渡されます。
DataBits
列挙型
「seven」
「8」
DeviceControlSignals
プロパティ
-
クリック率
ブール値
CTS(送信クリア)。
-
dcd
ブール値
DCD(Data Carrier Detect)または RLSD(Receive Line Signal/ Detect)。
-
dsr
ブール値
DSR(データセット準備完了)。
-
リ
ブール値
RI(Ring Indicator)
DeviceInfo
プロパティ
-
displayName
文字列(省略可)
ホストドライバからクエリできる場合は、基盤となるデバイスの人が読める形式の表示名。
-
パス
文字列
デバイスのシステムパス。このデバイスに接続するには、これを
path
引数としてchrome.serial.connect
に渡す必要があります。 -
productId
数値(省略可)
USB プロダクト ID(基盤となるデバイスを特定できる場合)。
-
vendorId
数値(省略可)
PCI または USB のベンダー ID(基盤となるデバイスのベンダー ID を特定できる場合)。
HostControlSignals
プロパティ
-
dtr
ブール値(省略可)
DTR(データ端末準備完了)。
-
RTS
ブール値(省略可)
RTS(送信リクエスト)。
ParityBit
列挙型
"no"
"odd"
「均等」
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"
接続が切断されました。
"pending"
送信はすでに保留中です。
"timeout"
送信がタイムアウトしました。
"system_error"
システムエラーが発生したため、接続を復元できない可能性があります。
SendInfo
プロパティ
-
bytesSent
数値
送信されたバイト数。
-
エラー
SendError(オプション)
エラーが発生した場合のエラーコード。
StopBits
列挙型
"one"
"two"
メソッド
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
特定の接続の文字転送を復元し、伝送ラインを非中断状態に設定します。
パラメータ
-
connectionId
数値
接続の ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
指定したシリアルポートに接続します。
パラメータ
-
パス
文字列
開くシリアルポートのシステムパス。
-
オプション
ConnectionOptions(省略可)
ポート構成オプション。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
戻り値
-
Promise<ConnectionInfo>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
シリアルポートの接続を解除します。
パラメータ
-
connectionId
数値
開かれている接続の ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
指定された接続の入力バッファと出力バッファ内のすべてのバイトをフラッシュします。
パラメータ
-
connectionId
数値
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getConnections()
chrome.serial.getConnections(
callback?: function,
)
アプリケーションが所有する、現在開いているシリアルポート接続のリストを取得します。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
戻り値
-
Promise<ConnectionInfo[]>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
指定された接続の制御シグナルの状態を取得します。
パラメータ
-
connectionId
数値
接続の ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(signals: DeviceControlSignals) => void
-
シグナル
-
戻り値
-
Promise<DeviceControlSignals>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getDevices()
chrome.serial.getDevices(
callback?: function,
)
システムで使用可能なシリアル デバイスに関する情報を返します。このリストは、このメソッドが呼び出されるたびに再生成されます。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(ports: DeviceInfo[]) => void
-
ports
-
戻り値
-
Promise<DeviceInfo[]>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
)
指定した接続の状態を取得します。
パラメータ
-
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,
)
指定された接続にデータを書き込みます。
パラメータ
-
connectionId
数値
接続の ID。
-
データ
ArrayBuffer
送信するデータ。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(sendInfo: SendInfo) => void
-
sendInfo
-
戻り値
-
Promise<SendInfo>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
指定された接続で文字伝送を一時停止し、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,
)
所定の接続に制御信号の状態を設定します。
パラメータ
-
connectionId
数値
接続の ID。
-
シグナル
デバイスに送信されるシグナルのセットが変更されます。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
開いている接続を一時停止または一時停止解除します。
パラメータ
-
connectionId
数値
開かれている接続の ID。
-
一時停止
ブール値
一時停止するか一時停止解除するかを示すフラグ。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
開いているシリアルポート接続でオプション設定を更新します。
パラメータ
-
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