Beschreibung
Die chrome.serial
API zum Lesen und Schreiben von Daten auf einem Gerät verwenden, das an einen seriellen Port angeschlossen ist
Berechtigungen
serial
Typen
ConnectionInfo
Attribute
-
Bitrate
Zahl optional
ConnectionOptions.bitrate
ansehen. Dieses Feld kann weggelassen werden oder ungenau sein, wenn eine nicht standardmäßige Bitrate verwendet wird oder bei der Abfrage des zugrunde liegenden Geräts ein Fehler aufgetreten ist. -
bufferSize
Zahl
ConnectionOptions.bufferSize
ansehen -
connectionId
Zahl
Die ID der seriellen Portverbindung.
-
ctsFlowControl
boolescher Wert optional
ConnectionOptions.ctsFlowControl
ansehen. Dieses Feld kann weggelassen werden, wenn beim Abfragen des zugrunde liegenden Geräts ein Fehler aufgetreten ist. -
dataBits
DataBits optional
ConnectionOptions.dataBits
ansehen. Dieses Feld kann weggelassen werden, wenn bei der Abfrage des zugrunde liegenden Geräts ein Fehler aufgetreten ist. -
name
String
ConnectionOptions.name
ansehen -
parityBit
ParityBit optional
ConnectionOptions.parityBit
ansehen. Dieses Feld kann weggelassen werden, wenn bei der Abfrage des zugrunde liegenden Geräts ein Fehler aufgetreten ist. -
pausiert
boolean
Gibt an, ob die Verbindung das Auslösen von onReceive-Ereignissen verhindert.
-
nichtflüchtige
boolean
ConnectionOptions.persistent
ansehen -
receiveTimeout
Zahl
ConnectionOptions.receiveTimeout
ansehen -
sendTimeout
Zahl
ConnectionOptions.sendTimeout
ansehen -
stopBits
StopBits optional
ConnectionOptions.stopBits
ansehen. Dieses Feld kann weggelassen werden, wenn bei der Abfrage des zugrunde liegenden Geräts ein Fehler aufgetreten ist.
ConnectionOptions
Attribute
-
Bitrate
Zahl optional
Die angeforderte Bitrate der zu öffnenden Verbindung. Für eine möglichst breite Palette an Hardware sollte diese Zahl einer der allgemein verfügbaren Bitraten entsprechen, z. B. 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Es gibt natürlich keine Garantie dafür, dass das mit dem seriellen Port verbundene Gerät die angeforderte Bitrate unterstützt, auch wenn der Port selbst diese Bitrate unterstützt.
9600
wird standardmäßig übergeben. -
bufferSize
Zahl optional
Die Größe des Zwischenspeichers, der für den Empfang von Daten verwendet wird. Der Standardwert ist 4.096.
-
ctsFlowControl
boolescher Wert optional
Angabe, ob die Ablaufsteuerung für RTS/CTS-Hardware aktiviert werden soll. Die Standardeinstellung ist "false".
-
dataBits
DataBits optional
"eight"
wird standardmäßig übergeben. -
name
String optional
Ein anwendungsdefinierter String, der mit der Verbindung verknüpft werden soll.
-
parityBit
ParityBit optional
"no"
wird standardmäßig übergeben. -
nichtflüchtige
Boolescher Wert optional
Gibt an, ob die Verbindung offen bleiben soll, wenn die Anwendung angehalten wird (siehe App-Lebenszyklus verwalten). Der Standardwert ist „false“. Wenn die Anwendung geladen wird, können alle zuvor mit persistent=true geöffneten seriellen Verbindungen mit
getConnections
abgerufen werden. -
receiveTimeout
Zahl optional
Die maximale Zeit (in Millisekunden), die auf neue Daten gewartet werden soll, bevor ein
onReceiveError
-Ereignis mit einem Zeitlimit ausgelöst wird Fehler. Bei null werden Fehler beim Empfangen von Zeitüberschreitungen für die Verbindung nicht ausgelöst. Die Standardeinstellung ist 0. -
sendTimeout
Zahl optional
Die maximale Wartezeit (in Millisekunden), die auf den Abschluss eines
send
-Vorgangs gewartet wird, bevor der Rückruf mit einem „Zeitüberschreitung“-Fehler aufgerufen wird. Bei null werden keine Zeitüberschreitungsfehler beim Senden ausgelöst. Die Standardeinstellung ist 0. -
stopBits
StopBits optional
"one"
wird standardmäßig übergeben.
DataBits
Enum
"seven"
DeviceControlSignals
Attribute
-
cts
boolean
CTS (Löschen zum Senden).
-
dcd
boolean
DCD (Data Carrier Detect) oder RLSD (Receive Line Signal/ Detect)
-
dsr
boolean
DSR (Datensatz bereit).
-
ri
boolean
RI (Ring Indicator)
DeviceInfo
Attribute
-
displayName
String optional
Ein für Menschen lesbarer Anzeigename für das zugrunde liegende Gerät, sofern dieser vom Hosttreiber abgefragt werden kann.
-
Pfad
String
Der Systempfad des Geräts. Sollte als
path
-Argument anchrome.serial.connect
übergeben werden, um eine Verbindung zu diesem Gerät herzustellen. -
productId
number optional
Eine USB-Produkt-ID, sofern eine für das zugrunde liegende Gerät ermittelt werden kann.
-
vendorId
number optional
Eine PCI- oder USB-Anbieter-ID, sofern für das zugrunde liegende Gerät eine ermittelt werden kann.
HostControlSignals
Attribute
-
dtr
boolescher Wert optional
DTR (Data Terminal Ready).
-
Aufrufe
boolescher Wert optional
RTS (Sendeanfrage)
ParityBit
Enum
„nein“
ReceiveError
Enum
"disconnected"
Die Verbindung wurde getrennt.
"timeout"
Es wurden receiveTimeout
Millisekunden lang keine Daten empfangen.
"device_lost"
Das Gerät wurde höchstwahrscheinlich vom Host getrennt.
"break"
Das Gerät hat einen Fehlerzustand erkannt.
„frame_error“
Das Gerät hat einen Framing-Fehler erkannt.
"overrun"
Es ist ein Zeichenpufferüberlauf aufgetreten. Das nächste Zeichen geht verloren.
"buffer_overflow"
Es ist ein Pufferüberlauf aufgetreten. Entweder ist im Eingabezwischenspeicher kein Platz vorhanden oder nach dem EOF-Zeichen (End of File) wurde ein Zeichen empfangen.
"parity_error"
Das Gerät hat einen Paritätsfehler erkannt.
„system_error“
Es ist ein Systemfehler aufgetreten und die Verbindung kann möglicherweise nicht wiederhergestellt werden.
ReceiveErrorInfo
Attribute
-
connectionId
Zahl
Die Verbindungs-ID.
-
Fehler
Ein Fehlercode, der angibt, was schiefgelaufen ist.
ReceiveInfo
Attribute
-
connectionId
Zahl
Die Verbindungs-ID.
-
Daten
ArrayBuffer
Die empfangenen Daten.
SendError
Enum
„disconnected“
Die Verbindung wurde getrennt.
"pending"
Es steht bereits eine Übermittlung aus.
"timeout"
Zeitüberschreitung beim Senden
„system_error“
Es ist ein Systemfehler aufgetreten und die Verbindung kann möglicherweise nicht wiederhergestellt werden.
SendInfo
Attribute
-
bytesSent
Zahl
Die Anzahl der gesendeten Byte.
-
Fehler
SendError: optional
Ein Fehlercode, falls ein Fehler aufgetreten ist.
StopBits
Enum
„two“
Methoden
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
Die Zeichenübertragung in einer bestimmten Verbindung wiederherstellen und die Übertragungsleitung in den Zustand „Nicht unterbrochen“ versetzen.
Parameter
-
connectionId
Zahl
Die ID der Verbindung.
-
callback
function optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Gibt Folgendes zurück:
-
Promise<boolean>
Chrome 117 oder höherVersprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
Stellt eine Verbindung zu einem bestimmten seriellen Port her.
Parameter
-
Pfad
String
Der Systempfad des zu öffnenden seriellen Ports.
-
Optionen
ConnectionOptions optional
Optionen für die Portkonfiguration.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Gibt Folgendes zurück:
-
Promise<ConnectionInfo>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
Trennt die Verbindung zu einem seriellen Port.
Parameter
-
connectionId
Zahl
Die ID der geöffneten Verbindung.
-
callback
function optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Gibt Folgendes zurück:
-
Promise<boolean>
Chrome 117 und höherVersprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
Alle Bytes in den Eingabe- und Ausgabepuffern der angegebenen Verbindung werden geleert.
Parameter
-
connectionId
Zahl
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Gibt Folgendes zurück:
-
Promise<boolean>
Chrome 117 und höherVersprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
Ruft die Liste der derzeit geöffneten seriellen Portverbindungen ab, die der Anwendung gehören.
Parameter
-
callback
function optional
Der Parameter
callback
sieht so aus:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Gibt Folgendes zurück:
-
Promise<ConnectionInfo[]>
Chrome 117 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
Ruft den Status der Steuersignale für eine bestimmte Verbindung ab.
Parameter
-
connectionId
Zahl
Die ID der Verbindung.
-
callback
function optional
Der Parameter
callback
sieht so aus:(signals: DeviceControlSignals) => void
-
Signale
-
Gibt Folgendes zurück:
-
Promise<DeviceControlSignals>
Chrome 117 und höherVersprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getDevices()
chrome.serial.getDevices(
callback?: function,
)
Gibt Informationen zu verfügbaren seriellen Geräten im System zurück. Die Liste wird bei jedem Aufruf dieser Methode neu generiert.
Parameter
-
callback
function optional
Der Parameter
callback
sieht so aus:(ports: DeviceInfo[]) => void
-
ports
-
Gibt Folgendes zurück:
-
Promise<DeviceInfo[]>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
)
Ruft den Status einer bestimmten Verbindung ab.
Parameter
-
connectionId
Zahl
Die ID der geöffneten Verbindung.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Gibt Folgendes zurück:
-
Promise<ConnectionInfo>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
)
Schreibt Daten in die angegebene Verbindung.
Parameter
-
connectionId
Zahl
Die ID der Verbindung.
-
Daten
ArrayBuffer
Die zu sendenden Daten.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(sendInfo: SendInfo) => void
-
sendInfo
-
Gibt Folgendes zurück:
-
Promise<SendInfo>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
Unterbricht die Zeichenübertragung bei einer bestimmten Verbindung und versetzt die Übertragungsleitung in einen Unterbrechungszustand, bis ClearBreak aufgerufen wird.
Parameter
-
connectionId
Zahl
Die ID der Verbindung.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Gibt Folgendes zurück:
-
Promise<boolean>
Chrome 117 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
)
Legt den Status der Steuersignale für eine bestimmte Verbindung fest.
Parameter
-
connectionId
Zahl
Die ID der Verbindung.
-
Signale
Die Signale, die an das Gerät gesendet werden, ändern sich.
-
callback
function optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Gibt Folgendes zurück:
-
Promise<boolean>
Chrome 117 und höherVersprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
Unterbricht eine offene Verbindung oder hebt die Pausierung auf.
Parameter
-
connectionId
Zahl
Die ID der geöffneten Verbindung.
-
pausiert
boolean
Markierung zur Angabe, ob die Pausierung pausiert oder die Pausierung aufgehoben werden soll.
-
callback
function optional
Der Parameter
callback
sieht so aus:() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 117 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
Aktualisieren Sie die Optionen für eine offene serielle Portverbindung.
Parameter
-
connectionId
Zahl
Die ID der geöffneten Verbindung.
-
Optionen
Optionen für die Portkonfiguration.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Gibt Folgendes zurück:
-
Promise<boolean>
Chrome 117 oder höherVersprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
Ereignisse
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn Daten aus der Verbindung gelesen wurden.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveInfo) => void
-
Info
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Das Ereignis wird ausgelöst, wenn ein Fehler aufgetreten ist, während die Laufzeit auf Daten am seriellen Port wartet. Sobald dieses Ereignis ausgelöst wird, wird die Verbindung möglicherweise auf paused
gesetzt. Ein "timeout"
-Fehler führt nicht dazu, dass die Verbindung pausiert wird.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveErrorInfo) => void
-
Info
-