chrome.serial

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 an chrome.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()

Versprechen Chrome 45 oder höher
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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

connect()

Versprechen
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

    Optionen für die Portkonfiguration.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (connectionInfo: ConnectionInfo)=>void

Rückgaben

  • Chrome 117 oder höher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

disconnect()

Versprechen
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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

flush()

Versprechen
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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

getConnections()

Versprechen
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

Rückgaben

  • Promise<ConnectionInfo[]>

    Chrome 117 oder höher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

getControlSignals()

Versprechen
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)

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

Parameters

Rückgaben

  • Chrome 117 oder höher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

getDevices()

Versprechen
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

Rückgaben

  • Promise<DeviceInfo[]>

    Chrome 117 oder höher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

getInfo()

Versprechen
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

Rückgaben

  • Chrome 117 oder höher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

send()

Versprechen
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

Rückgaben

  • Promise<SendInfo>

    Chrome 117 oder höher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

setBreak()

Versprechen Chrome 45 oder höher
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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

setControlSignals()

Versprechen
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.

  • 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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

setPaused()

Versprechen
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öher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

update()

Versprechen
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 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öher

    Promise-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

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