chrome.serial

Beschreibung

Mit der chrome.serial API können Sie Daten von einem Gerät lesen und auf ein Gerät schreiben, das mit einem seriellen Port verbunden ist.

Berechtigungen

serial

Typen

ConnectionInfo

Attribute

  • Bitrate

    number optional

    ConnectionOptions.bitrate ansehen. Dieses Feld kann ausgelassen werden oder ungenau sein, wenn eine nicht standardmäßige Bitrate verwendet wird oder beim Abfragen des zugrunde liegenden Geräts ein Fehler aufgetreten ist.

  • bufferSize

    Zahl

    ConnectionOptions.bufferSize ansehen

  • connectionId

    Zahl

    Die ID der Verbindung über den seriellen Port.

  • ctsFlowControl

    boolean optional

    ConnectionOptions.ctsFlowControl ansehen. Dieses Feld kann ausgelassen werden, wenn beim Abfragen des zugrunde liegenden Geräts ein Fehler aufgetreten ist.

  • dataBits

    DataBits optional

    ConnectionOptions.dataBits ansehen. Dieses Feld kann ausgelassen 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 ausgelassen werden, wenn beim Abfragen des zugrunde liegenden Geräts ein Fehler aufgetreten ist.

  • pausiert

    boolean

    Gibt an, ob die Verbindung daran gehindert wird, onReceive-Ereignisse auszulösen.

  • 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 ausgelassen werden, wenn beim Abfragen des zugrunde liegenden Geräts ein Fehler aufgetreten ist.

ConnectionOptions

Attribute

  • Bitrate

    number optional

    Die angeforderte Bitrate der zu öffnenden Verbindung. Für die Kompatibilität mit einer möglichst großen Bandbreite an Hardware sollte diese Zahl mit einer der gängigen Bitraten übereinstimmen, z. B. 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Es gibt natürlich keine Garantie dafür, dass das an den seriellen Port angeschlossene Gerät die angeforderte Bitrate unterstützt, auch wenn der Port selbst diese Bitrate unterstützt. 9600 wird standardmäßig übergeben.

  • bufferSize

    number optional

    Die Größe des Puffers, der zum Empfangen von Daten verwendet wird. Der Standardwert ist 4096.

  • ctsFlowControl

    boolean optional

    Flag, das angibt, ob die Hardware-Flusssteuerung RTS/CTS aktiviert werden soll. Die Standardeinstellung ist "false".

  • dataBits

    DataBits optional

    "eight" wird standardmäßig übergeben.

  • name

    String optional

    Ein von der Anwendung definierter String, der mit der Verbindung verknüpft werden soll.

  • parityBit

    ParityBit optional

    "no" wird standardmäßig übergeben.

  • nichtflüchtige

    boolean optional

    Flag, das angibt, 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 seriellen Verbindungen, die zuvor mit „persistent=true“ geöffnet wurden, mit getConnections abgerufen werden.

  • receiveTimeout

    number optional

    Die maximale Wartezeit in Millisekunden für neue Daten, bevor ein onReceiveError-Ereignis mit einem „timeout“-Fehler ausgelöst wird. Wenn der Wert null ist, werden für die Verbindung keine Empfangszeitüberschreitungsfehler ausgegeben. Die Standardeinstellung ist 0.

  • sendTimeout

    number optional

    Die maximale Wartezeit in Millisekunden, bis ein send-Vorgang abgeschlossen ist, bevor der Callback mit einem „timeout“-Fehler aufgerufen wird. Wenn der Wert null ist, werden keine Zeitüberschreitungsfehler beim Senden ausgelöst. Die Standardeinstellung ist 0.

  • stopBits

    StopBits optional

    "one" wird standardmäßig übergeben.

DataBits

Enum

"seven"

"eight"

DeviceControlSignals

Attribute

  • cts

    boolean

    CTS (Clear To Send).

  • dcd

    boolean

    DCD (Data Carrier Detect) oder RLSD (Receive Line Signal/ Detect).

  • dsr

    boolean

    DSR (Data Set Ready).

  • ri

    boolean

    RI (Ring Indicator, Rufanzeige).

DeviceInfo

Attribute

  • displayName

    String optional

    Ein für Menschen lesbarer Anzeigename für das zugrunde liegende Gerät, sofern er vom Hosttreiber abgerufen werden kann.

  • Pfad

    String

    Der Systempfad des Geräts. Dieser Wert sollte als path-Argument an chrome.serial.connect übergeben werden, um eine Verbindung zu diesem Gerät herzustellen.

  • productId

    number optional

    Eine USB-Produkt-ID, sofern sie für das zugrunde liegende Gerät ermittelt werden kann.

  • vendorId

    number optional

    Eine PCI- oder USB-Anbieter-ID, sofern sie für das zugrunde liegende Gerät ermittelt werden kann.

HostControlSignals

Attribute

  • dtr

    boolean optional

    DTR (Data Terminal Ready).

  • rts

    boolean optional

    RTS (Request To Send, Sendesignal).

ParityBit

Enum

„Nein“

"odd"

"even"

ReceiveError

Enum

„disconnected“
Die Verbindung wurde getrennt.

„timeout“
Seit receiveTimeout Millisekunden wurden keine Daten empfangen.

device_lost
Das Gerät wurde höchstwahrscheinlich vom Host getrennt.

„break“
Das Gerät hat eine Unterbrechungsbedingung erkannt.

„frame_error“
Das Gerät hat einen Framing-Fehler erkannt.

„Pufferüberlauf“
Es ist ein Zeichenpufferüberlauf aufgetreten. Das nächste Zeichen geht verloren.

buffer_overflow
Ein Eingabepufferüberlauf ist aufgetreten. Entweder ist im Eingabepuffer kein Platz mehr oder nach dem End-of-File-Zeichen (EOF) 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.

„Ausstehend“
Eine Sendung war bereits ausstehend.

„Zeitüberschreitung“
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, wenn ein Fehler aufgetreten ist.

StopBits

Enum

"one"

"two"

Methoden

clearBreak()

Promise Chrome 45 und höher
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Stellt die Zeichenübertragung über eine bestimmte Verbindung wieder her und versetzt die Übertragungsleitung in einen Zustand ohne Unterbrechung.

Parameter

  • connectionId

    Zahl

    Die ID der Verbindung.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: boolean) => void

    • Ergebnis

      boolean

Ausgabe

  • Promise<boolean>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

connect()

Promise
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)
: Promise<ConnectionInfo>

Stellt eine Verbindung zu einem bestimmten seriellen Port her.

Parameter

  • Pfad

    String

    Der Systempfad des zu öffnenden seriellen Ports.

  • Optionen

    Optionen für die Portkonfiguration.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (connectionInfo: ConnectionInfo) => void

Ausgabe

  • Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

disconnect()

Promise
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Trennt die Verbindung zu einem seriellen Port.

Parameter

  • connectionId

    Zahl

    Die ID der geöffneten Verbindung.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: boolean) => void

    • Ergebnis

      boolean

Ausgabe

  • Promise<boolean>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

flush()

Promise
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Leert alle Bytes in den Ein- und Ausgabepuffern der angegebenen Verbindung.

Parameter

  • connectionId

    Zahl

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: boolean) => void

    • Ergebnis

      boolean

Ausgabe

  • Promise<boolean>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getConnections()

Promise
chrome.serial.getConnections(
  callback?: function,
)
: Promise<ConnectionInfo[]>

Ruft die Liste der derzeit geöffneten seriellen Portverbindungen ab, die der Anwendung gehören.

Parameter

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (connectionInfos: ConnectionInfo[]) => void

Ausgabe

  • Promise<ConnectionInfo[]>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getControlSignals()

Promise
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

Ruft den Status von Steuersignalen für eine bestimmte Verbindung ab.

Parameter

Ausgabe

  • Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getDevices()

Promise
chrome.serial.getDevices(
  callback?: function,
)
: Promise<DeviceInfo[]>

Gibt Informationen zu verfügbaren seriellen Geräten im System zurück. Die Liste wird bei jedem Aufruf dieser Methode neu generiert.

Parameter

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (ports: DeviceInfo[]) => void

Ausgabe

  • Promise<DeviceInfo[]>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getInfo()

Promise
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)
: Promise<ConnectionInfo>

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

Ausgabe

  • Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

send()

Promise
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<SendInfo>

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

Ausgabe

  • Promise<SendInfo>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setBreak()

Promise Chrome 45 und höher
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Unterbricht die Zeichenübertragung über eine bestimmte Verbindung und versetzt die Übertragungsleitung in einen Break-Zustand, 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

Ausgabe

  • Promise<boolean>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setControlSignals()

Promise
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)
: Promise<boolean>

Legt den Status von Steuersignalen für eine bestimmte Verbindung fest.

Parameter

  • connectionId

    Zahl

    Die ID der Verbindung.

  • Die Menge der Signaländerungen, die an das Gerät gesendet werden sollen.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: boolean) => void

    • Ergebnis

      boolean

Ausgabe

  • Promise<boolean>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setPaused()

Promise
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Pausiert oder hebt die Pausierung einer offenen Verbindung auf.

Parameter

  • connectionId

    Zahl

    Die ID der geöffneten Verbindung.

  • pausiert

    boolean

    Flag, das angibt, ob pausiert oder die Pausierung aufgehoben werden soll.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

update()

Promise
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)
: Promise<boolean>

Aktualisieren Sie die Optionseinstellungen für eine offene Verbindung über einen seriellen Port.

Parameter

  • connectionId

    Zahl

    Die ID der geöffneten Verbindung.

  • Optionen für die Portkonfiguration.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: boolean) => void

    • Ergebnis

      boolean

Ausgabe

  • Promise<boolean>

    Chrome 117 und höher

    Promises 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

onReceiveError

chrome.serial.onReceiveError.addListener(
  callback: function,
)

Ereignis, das ausgelöst wird, wenn ein Fehler auftritt, während die Laufzeit auf Daten am seriellen Port wartet. Sobald dieses Ereignis ausgelöst wird, kann die Verbindung auf paused gesetzt werden. Bei einem "timeout"-Fehler wird die Verbindung nicht unterbrochen.

Parameter