説明
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()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
特定の接続での文字転送を復元し、伝送線をノンブレーク状態に配置します。
パラメータ
-
connectionId
数値
接続の ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
boolean
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
特定のシリアルポートに接続します。
パラメータ
-
パス
文字列
開くシリアルポートのシステムパス。
-
オプション
ポート構成オプション。
-
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
-
件の結果
boolean
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
指定された接続の入力バッファと出力バッファ内のすべてのバイトをフラッシュします。
パラメータ
-
connectionId
数値
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
boolean
-
戻り値
-
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。
-
data
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
-
件の結果
boolean
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
setControlSignals()
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()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
開いている接続を一時停止または一時停止解除します。
パラメータ
-
connectionId
数値
開いている接続の ID。
-
一時停止
boolean
一時停止するか一時停止解除するかを示すフラグ。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
update()
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"
エラーが発生しても接続は一時停止されません。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(info: ReceiveErrorInfo) => void