Opis
Użyj interfejsu API chrome.serial, aby odczytywać i zapisywać dane na urządzeniu podłączonym do portu szeregowego.
Uprawnienia
serialDostępność
Typy
ConnectionInfo
Właściwości
-
bitrate
number optional
Zobacz
ConnectionOptions.bitrate. To pole może zostać pominięte lub być niedokładne, jeśli używana jest niestandardowa szybkość transmisji bitów lub jeśli podczas wysyłania zapytania do urządzenia wystąpił błąd. -
bufferSize
liczba
Zobacz:
ConnectionOptions.bufferSize -
connectionId
liczba
Identyfikator połączenia z portem szeregowym.
-
ctsFlowControl
boolean opcjonalne
Zobacz
ConnectionOptions.ctsFlowControl. To pole może zostać pominięte, jeśli podczas wysyłania zapytania do urządzenia wystąpił błąd. -
dataBits
DataBits opcjonalny
Zobacz
ConnectionOptions.dataBits. To pole może zostać pominięte, jeśli podczas wysyłania zapytania do urządzenia wystąpił błąd. -
nazwa
tekst
Zobacz:
ConnectionOptions.name -
parityBit
ParityBit opcjonalny
Zobacz
ConnectionOptions.parityBit. To pole może zostać pominięte, jeśli podczas wysyłania zapytania do urządzenia wystąpił błąd. -
wstrzymana
wartość logiczna
Flaga wskazująca, czy połączenie jest zablokowane i nie może wywoływać zdarzeń onReceive.
-
trwałe
wartość logiczna
Zobacz:
ConnectionOptions.persistent -
receiveTimeout
liczba
Zobacz:
ConnectionOptions.receiveTimeout -
sendTimeout
liczba
Zobacz:
ConnectionOptions.sendTimeout -
stopBits
StopBits opcjonalny
Zobacz
ConnectionOptions.stopBits. To pole można pominąć, jeśli podczas wysyłania zapytania do urządzenia wystąpił błąd.
ConnectionOptions
Właściwości
-
bitrate
number optional
Żądana szybkość transmisji bitów połączenia, które ma zostać otwarte. Aby zapewnić zgodność z najszerszą gamą sprzętu, ta liczba powinna odpowiadać jednej z powszechnie dostępnych szybkości transmisji bitów, np. 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Nie ma oczywiście gwarancji, że urządzenie podłączone do portu szeregowego będzie obsługiwać żądaną szybkość transmisji bitów, nawet jeśli sam port ją obsługuje. Domyślnie przekazywana będzie wartość
9600. -
bufferSize
number optional
Rozmiar bufora używanego do odbierania danych. Wartością domyślną jest 4096.
-
ctsFlowControl
boolean opcjonalne
Flaga wskazująca, czy włączyć sprzętową kontrolę przepływu RTS/CTS. Wartość domyślna to fałsz.
-
dataBits
DataBits opcjonalne
Domyślnie przekazywana będzie wartość
"eight". -
nazwa
ciąg znaków opcjonalny
Zdefiniowany przez aplikację ciąg znaków, który ma zostać powiązany z połączeniem.
-
parityBit
ParityBit opcjonalny
Domyślnie przekazywana będzie wartość
"no". -
trwałe
boolean opcjonalne
Flaga wskazująca, czy połączenie powinno pozostać otwarte, gdy aplikacja jest zawieszona (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false”. Po wczytaniu aplikacji wszystkie połączenia szeregowe otwarte wcześniej z ustawieniem persistent=true można pobrać za pomocą
getConnections. -
receiveTimeout
number optional
Maksymalny czas (w milisekundach) oczekiwania na nowe dane przed wywołaniem zdarzenia
onReceiveErrorz błędem „timeout”. Jeśli wartość wynosi 0, błędy przekroczenia limitu czasu odbioru nie będą zgłaszane w przypadku połączenia. Domyślna wartość to 0. -
sendTimeout
number optional
Maksymalny czas oczekiwania (w milisekundach) na zakończenie operacji
sendprzed wywołaniem wywołania zwrotnego z błędem „timeout”. Jeśli ustawisz wartość 0, błędy przekroczenia limitu czasu wysyłania nie będą wywoływane. Domyślna wartość to 0. -
stopBits
StopBits opcjonalny
Domyślnie przekazywana będzie wartość
"one".
DataBits
Typ wyliczeniowy
"seven"
"eight"
DeviceControlSignals
Właściwości
-
cts
wartość logiczna
CTS (Clear To Send).
-
dcd
wartość logiczna
DCD (Data Carrier Detect) lub RLSD (Receive Line Signal/ Detect).
-
dsr
wartość logiczna
DSR (Data Set Ready).
-
ri
wartość logiczna
RI (Ring Indicator – wskaźnik dzwonka).
DeviceInfo
Właściwości
-
wyświetlanaNazwa
ciąg znaków opcjonalny
Zrozumiała dla człowieka wyświetlana nazwa urządzenia, jeśli można ją pobrać ze sterownika hosta.
-
ścieżka
tekst
Ścieżka systemowa urządzenia. Aby połączyć się z tym urządzeniem, należy przekazać go jako argument
pathdochrome.serial.connect. -
productId
number optional
Identyfikator produktu USB, jeśli można go określić dla urządzenia podstawowego.
-
vendorId
number optional
Identyfikator dostawcy PCI lub USB, jeśli można go określić dla urządzenia bazowego.
HostControlSignals
Właściwości
-
dtr
boolean opcjonalne
DTR (Data Terminal Ready).
-
rts
boolean opcjonalne
RTS (Request To Send).
ParityBit
Typ wyliczeniowy
"no"
"odd"
"even"
ReceiveError
Typ wyliczeniowy
"disconnected"
Połączenie zostało rozłączone.
"timeout"
Od receiveTimeout milisekund nie otrzymano żadnych danych.
thought
"device_lost"
Urządzenie zostało najprawdopodobniej odłączone od hosta.
"break"
Urządzenie wykryło warunek przerwania.
"frame_error"
Urządzenie wykryło błąd ramki.
"overrun"
Wystąpiło przepełnienie bufora znaków. Następny znak zostanie utracony.
"buffer_overflow"
Wystąpiło przepełnienie bufora wejściowego. W buforze wejściowym nie ma miejsca lub po znaku końca pliku (EOF) został odebrany znak.
"parity_error"
Urządzenie wykryło błąd parzystości.
"system_error"
Wystąpił błąd systemu i połączenie może być nie do odzyskania.
ReceiveErrorInfo
Właściwości
-
connectionId
liczba
Identyfikator połączenia.
-
błąd
Kod błędu wskazujący, co poszło nie tak.
ReceiveInfo
Właściwości
-
connectionId
liczba
Identyfikator połączenia.
-
dane
ArrayBuffer
Odebrane dane.
SendError
Typ wyliczeniowy
"disconnected"
Połączenie zostało rozłączone.
"pending"
Wysyłanie było już oczekujące.
"timeout"
Przekroczono limit czasu wysyłania.
"system_error"
Wystąpił błąd systemu i połączenie może być nie do odzyskania.
SendInfo
Właściwości
-
bytesSent
liczba
Liczba wysłanych bajtów.
-
błąd
SendError opcjonalny
kod błędu, jeśli wystąpił błąd;
StopBits
Typ wyliczeniowy
"one"
"two"
Metody
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
Przywróć transmisję znaków na danym połączeniu i ustaw linię transmisyjną w stanie bez przerwy.
Parametry
-
connectionId
liczba
Identyfikator połączenia.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
): Promise<ConnectionInfo>
Łączy się z danym portem szeregowym.
Parametry
-
ścieżka
tekst
Ścieżka systemowa portu szeregowego, który ma zostać otwarty.
-
Opcje
ConnectionOptions opcjonalne
Opcje konfiguracji portu.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Zwroty
-
Promise<ConnectionInfo>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
): Promise<boolean>
Odłącza od portu szeregowego.
Parametry
-
connectionId
liczba
Identyfikator otwartego połączenia.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
): Promise<boolean>
Czyści wszystkie bajty w buforach wejściowych i wyjściowych danego połączenia.
Parametry
-
connectionId
liczba
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
getConnections()
chrome.serial.getConnections(
callback?: function,
): Promise<ConnectionInfo[]>
Pobiera listę aktualnie otwartych połączeń z portami szeregowymi, które należą do aplikacji.
Parametry
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Zwroty
-
Promise<ConnectionInfo[]>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
): Promise<DeviceControlSignals>
Pobiera stan sygnałów sterujących w danym połączeniu.
Parametry
-
connectionId
liczba
Identyfikator połączenia.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(signals: DeviceControlSignals) => void
-
sygnały
-
Zwroty
-
Promise<DeviceControlSignals>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
getDevices()
chrome.serial.getDevices(
callback?: function,
): Promise<DeviceInfo[]>
Zwraca informacje o dostępnych urządzeniach szeregowych w systemie. Lista jest generowana ponownie za każdym razem, gdy ta metoda jest wywoływana.
Parametry
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(ports: DeviceInfo[]) => void
-
ports
-
Zwroty
-
Promise<DeviceInfo[]>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
): Promise<ConnectionInfo>
Pobiera stan danego połączenia.
Parametry
-
connectionId
liczba
Identyfikator otwartego połączenia.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Zwroty
-
Promise<ConnectionInfo>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
): Promise<SendInfo>
Zapisuje dane w danym połączeniu.
Parametry
-
connectionId
liczba
Identyfikator połączenia.
-
dane
ArrayBuffer
Dane do wysłania.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(sendInfo: SendInfo) => void
-
sendInfo
-
Zwroty
-
Obiekt Promise<SendInfo>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
Zawiesza przesyłanie znaków w danym połączeniu i ustawia linię przesyłania w stan przerwania do czasu wywołania metody clearBreak.
Parametry
-
connectionId
liczba
Identyfikator połączenia.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
): Promise<boolean>
Ustawia stan sygnałów sterujących na danym połączeniu.
Parametry
-
connectionId
liczba
Identyfikator połączenia.
-
sygnały
Zestaw zmian sygnałów do wysłania na urządzenie.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
): Promise<void>
Wstrzymuje lub wznawia otwarte połączenie.
Parametry
-
connectionId
liczba
Identyfikator otwartego połączenia.
-
wstrzymana
wartość logiczna
Flaga wskazująca, czy wstrzymać, czy wznowić.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:() => void
Zwroty
-
thought Promise<void>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
): Promise<boolean>
Zaktualizuj ustawienia opcji otwartego połączenia z portem szeregowym.
Parametry
-
connectionId
liczba
Identyfikator otwartego połączenia.
-
Opcje
Opcje konfiguracji portu.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
Wydarzenia
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Zdarzenie wywoływane, gdy dane zostały odczytane z połączenia.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(info: ReceiveInfo) => void
-
informacje
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Zdarzenie wywoływane, gdy wystąpi błąd podczas oczekiwania środowiska wykonawczego na dane na porcie szeregowym. Po wywołaniu tego zdarzenia połączenie może zostać ustawione na paused. Błąd "timeout" nie powoduje wstrzymania połączenia.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-