Beschreibung
Mit der chrome.serial
API können Sie Daten auf einem Gerät lesen und schreiben, das an einen seriellen Port angeschlossen ist.
Berechtigungen
serial
Typen
ConnectionInfo
Attribute
-
Bitrate
Nummer optional
ConnectionOptions.bitrate
ansehen. Dieses Feld kann weggelassen oder ungenau sein, wenn eine nicht standardmäßige Bitrate verwendet wird oder wenn bei der Abfrage des zugrunde liegenden Geräts ein Fehler aufgetreten ist. -
bufferSize
Zahl
ConnectionOptions.bufferSize
ansehen -
connectionId
Zahl
Die ID der Verbindung mit dem seriellen Port.
-
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 beim Abfragen 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 beim Abfragen des zugrunde liegenden Geräts ein Fehler aufgetreten ist. -
pausiert
boolean
Flag, das angibt, ob onReceive-Ereignisse über die Verbindung nicht ausgelöst werden.
-
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 beim Abfragen des zugrunde liegenden Geräts ein Fehler aufgetreten ist.
ConnectionOptions
Attribute
-
Bitrate
Nummer optional
Die angeforderte Bitrate der zu öffnenden Verbindung. Aus Gründen der Kompatibilität mit einem möglichst großen Hardwarebereich sollte diese Zahl einer der allgemein verfügbaren Bitraten entsprechen, z. B. 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Natürlich gibt es keine Garantie, 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
Nummer optional
Die Größe des Zwischenspeichers, der zum Empfangen von Daten verwendet wird. Der Standardwert ist 4096.
-
ctsFlowControl
Boolescher Wert optional
Flag, das angibt, ob die RTS-/CTS-Hardwareflusssteuerung aktiviert werden soll. Die Standardeinstellung ist "false".
-
dataBits
DataBits optional
"eight"
wird standardmäßig übergeben. -
name
String optional
Ein anwendungsdefinierter String, der der Verbindung zugeordnet werden soll.
-
parityBit
ParityBit optional
"no"
wird standardmäßig übergeben. -
nichtflüchtige
Boolescher Wert optional
Flag, das angibt, ob die Verbindung offen bleiben soll, wenn die App gesperrt wird (siehe App-Lebenszyklus verwalten). Der Standardwert ist „false“. Wenn die Anwendung geladen wird, können alle zuvor mit persistenten=true geöffneten seriellen Verbindungen mit
getConnections
abgerufen werden. -
receiveTimeout
Nummer optional
Die maximale Zeit in Millisekunden, die auf neue Daten gewartet werden soll, bevor ein
onReceiveError
-Ereignis mit einem Zeitüberschreitungsfehler ausgelöst wird. Wenn null, werden keine Zeitüberschreitungsfehler beim Empfang der Verbindung ausgelöst. Die Standardeinstellung ist 0. -
sendTimeout
Nummer optional
Die maximale Wartezeit in Millisekunden, bis ein
send
-Vorgang abgeschlossen ist, bevor der Callback mit einem Zeitüberschreitungsfehler aufgerufen wird. Wenn null festgelegt ist, werden keine Zeitüberschreitungsfehler beim Senden ausgelöst. Die Standardeinstellung ist 0. -
stopBits
StopBits optional
"one"
wird standardmäßig übergeben.
DataBits
Enum
DeviceControlSignals
Attribute
-
cts
boolean
CTS (Clear To Send)
-
DCD
boolean
DCD (Data Carrier Detect) oder RLSD (Empfangsleitungssignal/ Erkennung).
-
DSR
boolean
DSR (Data Set Ready):
-
Ri
boolean
RI (Ring Indicator):
DeviceInfo
Attribute
-
displayName
String optional
Ein visuell lesbarer Anzeigename für das zugrunde liegende Gerät, falls 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
Nummer optional
Eine USB-Produkt-ID, falls für das zugrunde liegende Gerät ermittelt werden kann.
-
vendorId
Nummer optional
Eine PCI- oder USB-Anbieter-ID, falls für das zugrunde liegende Gerät eine ermittelt werden kann.
HostControlSignals
Attribute
-
DTR
Boolescher Wert optional
DTR (Data Terminal Ready).
-
RTS
Boolescher Wert optional
RTS (Request To Send)
ParityBit
Enum
ReceiveError
Enum
"disconnected"
Die Verbindung wurde getrennt.
"timeout"
Seit receiveTimeout
Millisekunden sind keine Daten eingegangen.
"device_lost"
Das Gerät wurde höchstwahrscheinlich vom Host getrennt.
"break"
Das Gerät hat eine Werbeunterbrechung erkannt.
"frame_error"
Das Gerät hat einen Framing-Fehler erkannt.
"overrun"
Es ist ein Zeichenpufferüberlauf aufgetreten. Das nächste Zeichen ist verloren.
"buffer_overflow"
Ein Eingabepufferüberlauf ist aufgetreten. Im Eingabepuffer ist entweder kein Platz mehr oder nach dem End-of-File-Zeichen (EOF-Zeichen) wurde ein Zeichen empfangen.
"parity_error"
Das Gerät hat einen Paritätsfehler erkannt.
"system_error"
Ein Systemfehler ist aufgetreten und die Verbindung ist möglicherweise nicht wiederherstellbar.
ReceiveErrorInfo
Attribute
-
connectionId
Zahl
Die Verbindungs-ID.
-
error
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"
Eine Übermittlung stand bereits aus.
"timeout"
Zeitüberschreitung beim Senden.
"system_error"
Ein Systemfehler ist aufgetreten und die Verbindung ist möglicherweise nicht wiederherstellbar.
SendInfo
Attribute
-
bytesSent
Zahl
Die Anzahl der gesendeten Byte.
-
error
SendError optional
Ein Fehlercode, wenn ein Fehler aufgetreten ist.
StopBits
Enum
Methoden
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
Stellen Sie die Zeichenübertragung bei einer bestimmten Verbindung wieder her und setzen Sie die Übertragungsleitung in einen störungsfreien Zustand.
Parameters
-
connectionId
Zahl
Die ID der Verbindung.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Rückgaben
-
Promise<boolean>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
Stellt eine Verbindung zu einem bestimmten seriellen Port her.
Parameters
-
Pfad
String
Der Systempfad des seriellen Ports, das geöffnet werden soll.
-
Optionen
ConnectionOptions optional
Optionen für die Portkonfiguration.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Rückgaben
-
Promise<ConnectionInfo>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
Trennt die Verbindung zu einem seriellen Port.
Parameters
-
connectionId
Zahl
Die ID der geöffneten Verbindung.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Rückgaben
-
Promise<boolean>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
Leert alle Byte im Eingabe- und Ausgabezwischenspeicher der angegebenen Verbindung.
Parameters
-
connectionId
Zahl
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Rückgaben
-
Promise<boolean>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
Ruft die Liste der aktuell geöffneten seriellen Portverbindungen ab, die der Anwendung gehören.
Parameters
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Rückgaben
-
Promise<ConnectionInfo[]>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
Ruft den Status von Steuersignalen für eine bestimmte Verbindung ab.
Parameters
-
connectionId
Zahl
Die ID der Verbindung.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(signals: DeviceControlSignals) => void
-
Signale
-
Rückgaben
-
Promise<DeviceControlSignals>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
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.
Parameters
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(ports: DeviceInfo[]) => void
-
ports
-
Rückgaben
-
Promise<DeviceInfo[]>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
)
Ruft den Status einer bestimmten Verbindung ab.
Parameters
-
connectionId
Zahl
Die ID der geöffneten Verbindung.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Rückgaben
-
Promise<ConnectionInfo>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
)
Schreibt Daten in die angegebene Verbindung.
Parameters
-
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
-
Rückgaben
-
Promise<SendInfo>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
Unterbricht die Zeichenübertragung bei einer bestimmten Verbindung und setzt die Übertragungsleitung in einen Unterbrechungsstatus, bis "clearBreak" aufgerufen wird.
Parameters
-
connectionId
Zahl
Die ID der Verbindung.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Rückgaben
-
Promise<boolean>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
)
Legt den Status der Steuersignale für eine bestimmte Verbindung fest.
Parameters
-
connectionId
Zahl
Die ID der Verbindung.
-
Signale
Die Signalgruppe wird an das Gerät gesendet.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: boolean) => void
-
Ergebnis
boolean
-
Rückgaben
-
Promise<boolean>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
Hält eine offene Verbindung an oder hebt die Pausierung auf.
Parameters
-
connectionId
Zahl
Die ID der geöffneten Verbindung.
-
pausiert
boolean
Flag, das angibt, ob die Pausierung aufgehoben oder die Pausierung aufgehoben werden soll.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
Aktualisieren Sie die Optionseinstellungen bei einer offenen Verbindung zum seriellen Port.
Parameters
-
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
-
Rückgaben
-
Promise<boolean>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
Veranstaltungen
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Ereignis ausgelöst, wenn Daten aus der Verbindung gelesen wurden.
Parameters
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveInfo) => void
-
Info
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn ein Fehler aufgetreten ist, während die Laufzeit auf Daten am seriellen Port gewartet hat. Sobald dieses Ereignis ausgelöst wurde, kann die Verbindung auf paused
gesetzt werden. Der Fehler "timeout"
unterbricht die Verbindung nicht.
Parameters
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveErrorInfo) => void
-
Info
-