説明
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、1,200、2,400、4,800、9,600、14,400、19,200、38,400、57,600、115,200 などの一般的なビットレートにする必要があります。もちろん、ポート自体がそのビットレートをサポートしていても、シリアルポートに接続されたデバイスがリクエストされたビットレートをサポートするとは限りません。デフォルトでは
9600
が渡されます。 -
bufferSize
number(省略可)
データの受信に使用されるバッファのサイズ。デフォルト値は 4096 です。
-
ctsFlowControl
ブール値(省略可)
RTS/CTS ハードウェア フロー制御を有効にするかどうかを示すフラグ。デフォルトは false です。
-
dataBits
DataBits 省略可
デフォルトでは
"eight"
が渡されます。 -
name
文字列(省略可)
接続に関連付けるアプリケーション定義の文字列。
-
parityBit
ParityBit 省略可
デフォルトでは
"no"
が渡されます。 -
永続
ブール値(省略可)
アプリケーションが停止されたときに接続を開いたままにするかどうかを示すフラグ(アプリのライフサイクルを管理するをご覧ください)。デフォルト値は「false」です。アプリケーションが読み込まれると、persistent=true で以前に開いたシリアル接続は
getConnections
で取得できます。 -
receiveTimeout
number(省略可)
新しいデータが届くまで待機し、タイムアウト エラーで
onReceiveError
イベントを発生させるまでの最大時間(ミリ秒単位)。0 の場合、接続で受信タイムアウト エラーは発生しません。デフォルトは 0 です。 -
sendTimeout
number(省略可)
send
オペレーションが完了するまで待機し、その後「タイムアウト」エラーでコールバックを呼び出すまでの最大時間(ミリ秒単位)。0 の場合、送信タイムアウト エラーはトリガーされません。デフォルトは 0 です。 -
stopBits
StopBits 省略可
デフォルトでは
"one"
が渡されます。
DataBits
列挙型
「seven」
「eight」
DeviceControlSignals
プロパティ
-
cts
ブール値
CTS(送信可能)。
-
dcd
ブール値
DCD(データ キャリア検出)または RLSD(受信ライン シグナル/ 検出)。
-
dsr
ブール値
DSR(データセット レディ)。
-
ri
ブール値
RI(着信インジケーター)。
DeviceInfo
プロパティ
-
displayName
文字列(省略可)
ホスト ドライバからクエリできる場合、基盤となるデバイスの人間可読の表示名。
-
パス
文字列
デバイスのシステムパス。このデバイスに接続するには、この IP アドレスを
path
引数としてchrome.serial.connect
に渡す必要があります。 -
productId
number(省略可)
基盤となるデバイスの USB プロダクト ID(判明する場合)。
-
vendorId
number(省略可)
基盤となるデバイスの PCI または USB ベンダー ID(特定できる場合)。
HostControlSignals
プロパティ
-
dtr
ブール値(省略可)
DTR(データ ターミナルの準備完了)。
-
rts
ブール値(省略可)
RTS(送信リクエスト)。
ParityBit
列挙型
「no」
「odd」
「even」
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」
接続が切断されました。
「保留中」
送信がすでに保留中です。
「timeout」
送信がタイムアウトしました。
「system_error」
システムエラーが発生し、接続を復元できない可能性があります。
SendInfo
プロパティ
-
bytesSent
数値
送信されたバイト数。
-
エラー
SendError 省略可
エラーが発生した場合のエラーコード。
StopBits
列挙型
「one」
「2」
メソッド
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
特定の接続で文字送信を復元し、送信ラインを非中断状態にします。
パラメータ
-
connectionId
数値
接続の ID。
-
callback
function 省略可
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
指定されたシリアルポートに接続します。
パラメータ
-
パス
文字列
開くシリアルポートのシステムパス。
-
オプション
ポートの構成オプション。
-
callback
function 省略可
callback
パラメータは次のようになります。(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
戻り値
-
Promise<ConnectionInfo>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
シリアルポートとの接続を解除します。
パラメータ
-
connectionId
数値
開いている接続の ID。
-
callback
function 省略可
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
指定された接続の入力バッファと出力バッファ内のすべてのバイトをフラッシュします。
パラメータ
-
connectionId
数値
-
callback
function 省略可
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getConnections()
chrome.serial.getConnections(
callback?: function,
)
アプリケーションが所有する、現在開いているシリアルポート接続のリストを取得します。
パラメータ
-
callback
function 省略可
callback
パラメータは次のようになります。(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
戻り値
-
Promise<ConnectionInfo[]>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
特定の接続の制御信号の状態を取得します。
パラメータ
-
connectionId
数値
接続の ID。
-
callback
function 省略可
callback
パラメータは次のようになります。(signals: DeviceControlSignals) => void
-
シグナル
-
戻り値
-
Promise<DeviceControlSignals>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getDevices()
chrome.serial.getDevices(
callback?: function,
)
システムで使用可能なシリアル デバイスに関する情報を返します。このメソッドが呼び出されるたびに、リストが再生成されます。
パラメータ
-
callback
function 省略可
callback
パラメータは次のようになります。(ports: DeviceInfo[]) => void
-
ports
-
戻り値
-
Promise<DeviceInfo[]>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
)
特定の接続の状態を取得します。
パラメータ
-
connectionId
数値
開いている接続の ID。
-
callback
function 省略可
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
function 省略可
callback
パラメータは次のようになります。(sendInfo: SendInfo) => void
-
sendInfo
-
戻り値
-
Promise<SendInfo>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
特定の接続での文字送信を停止し、clearBreak が呼び出されるまで送信ラインを中断状態にします。
パラメータ
-
connectionId
数値
接続の ID。
-
callback
function 省略可
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
)
特定の接続の制御信号の状態を設定します。
パラメータ
-
connectionId
数値
接続の ID。
-
シグナル
デバイスに送信する一連のシグナル変更。
-
callback
function 省略可
callback
パラメータは次のようになります。(result: boolean) => void
-
件の結果
ブール値
-
戻り値
-
Promise<boolean>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
開いている接続を一時停止または一時停止解除します。
パラメータ
-
connectionId
数値
開いている接続の ID。
-
一時停止
ブール値
一時停止または一時停止解除を示すフラグ。
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
開いているシリアルポート接続のオプション設定を更新します。
パラメータ
-
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"
エラーが発生しても接続は中断されません。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(info: ReceiveErrorInfo) => void