安全なコンテキスト: この機能は、一部またはすべてのサポート ブラウザのセキュア コンテキスト(HTTPS)でのみ使用できます。
WebシリアルAPIのSerialPortインターフェイスは、ホストデバイスのシリアル ポートへのアクセスを提供します。
このインターフェイスのインスタンスは、シリアル インターフェイスのメソッドを呼び出すことで取得できます。したがって、独自のコンストラクターはありません。
シリアルポートで通信する前に、それを開く必要があります。ポートを開くと、サイトはデータの送受信方法を制御するために必要なパラメータを指定できます。開発者は、接続しているデバイスのドキュメントで適切なパラメータを確認する必要があります。
await port.open({ baudRate: /* ボーレートを選択してください */ });
open() によって返された Promise が解決されると、読み取り可能および書き込み可能な属性にアクセスして、接続されたデバイスとの間でデータを送受信するための ReadableStream および WritableStream インスタンスを取得できます。
次の例は、ポートからデータを読み取る方法を示しています。外側のループは致命的でないエラーを処理しますが、致命的なエラーが発生し、readable がnullになるまで、新しいリーダーを作成します。
while (port.readable) {
const reader = port.readable.getReader();
try {
while (true) {
const { value, done } = await reader.read();
if (done) {
// |reader| キャンセルされました
break;
}
// |value| で何をするか...
}
} catch (error) {
// 処理 |error|...
} finally {
reader.releaseLock();
}
}
次の例は、ポートに文字列を書き込む方法を示しています。TextEncoderは、送信前に文字列を Uint8Array に変換します。
const encoder = new TextEncoder();
const writer = port.writable.getWriter();
await writer.write(encoder.encode("PING"));
writer.releaseLock();
| 表示内容: |
| 表示内容: |