Descrizione
Utilizza l'API chrome.serial
per leggere e scrivere su un dispositivo connesso a una porta seriale.
Autorizzazioni
serial
Tipi
ConnectionInfo
Proprietà
-
bitrate
number (facoltativo)
Leggi i
ConnectionOptions.bitrate
. Questo campo potrebbe essere omesso o impreciso se viene utilizzato un bitrate non standard o se si è verificato un errore durante l'interrogazione del dispositivo sottostante. -
bufferSize
numero
Visualizza
ConnectionOptions.bufferSize
-
connectionId
numero
L'ID della connessione della porta seriale.
-
ctsFlowControl
booleano facoltativo
Leggi i
ConnectionOptions.ctsFlowControl
. Questo campo può essere omesso se si è verificato un errore durante l'esecuzione di query sul dispositivo sottostante. -
dataBits
DataBits facoltativo
Leggi i
ConnectionOptions.dataBits
. Questo campo può essere omesso se si è verificato un errore durante l'esecuzione di query sul dispositivo sottostante. -
nome
stringa
Visualizza
ConnectionOptions.name
-
parityBit
ParityBit facoltativo
Leggi i
ConnectionOptions.parityBit
. Questo campo può essere omesso se si è verificato un errore durante l'esecuzione di query sul dispositivo sottostante. -
in pausa
booleano
Flag che indica se la connessione è bloccata dall'attivazione degli eventi onReceive.
-
persistente
booleano
Visualizza
ConnectionOptions.persistent
-
receiveTimeout
numero
Visualizza
ConnectionOptions.receiveTimeout
-
sendTimeout
numero
Visualizza
ConnectionOptions.sendTimeout
-
stopBits
StopBits facoltativo
Leggi i
ConnectionOptions.stopBits
. Questo campo può essere omesso se si è verificato un errore durante l'esecuzione di query sul dispositivo sottostante.
ConnectionOptions
Proprietà
-
bitrate
number (facoltativo)
Il bitrate richiesto della connessione da aprire. Per la compatibilità con la più ampia gamma di hardware, questo numero deve corrispondere a uno dei bit rate comunemente disponibili, ad esempio 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Naturalmente, non è garantito che il dispositivo connesso alla porta seriale supporti il bitrate richiesto, anche se la porta stessa lo supporta.
9600
verrà trasmesso per impostazione predefinita. -
bufferSize
number (facoltativo)
La dimensione del buffer utilizzato per ricevere i dati. Il valore predefinito è 4096.
-
ctsFlowControl
booleano facoltativo
Flag che indica se attivare o meno il controllo di flusso hardware RTS/CTS. Il valore predefinito è false.
-
dataBits
DataBits facoltativo
"eight"
verrà trasmesso per impostazione predefinita. -
nome
stringa facoltativa
Una stringa definita dall'applicazione da associare alla connessione.
-
parityBit
ParityBit facoltativo
"no"
verrà trasmesso per impostazione predefinita. -
persistente
booleano facoltativo
Flag che indica se la connessione deve essere lasciata aperta quando l'applicazione è sospesa (vedi Gestire il ciclo di vita dell'app). Il valore predefinito è "false". Quando l'applicazione viene caricata, tutte le connessioni seriali aperte in precedenza con persistent=true possono essere recuperate con
getConnections
. -
receiveTimeout
number (facoltativo)
Il tempo massimo (in millisecondi) di attesa dei nuovi dati prima di generare un evento
onReceiveError
con un errore "timeout". Se è zero, non verranno generati errori di timeout di ricezione per la connessione. Il valore predefinito è 0. -
sendTimeout
number (facoltativo)
Il tempo massimo (in millisecondi) di attesa per il completamento di un'operazione
send
prima di chiamare il callback con un errore "timeout". Se è zero, non verranno attivati errori di timeout di invio. Il valore predefinito è 0. -
stopBits
StopBits facoltativo
"one"
verrà trasmesso per impostazione predefinita.
DataBits
Enum
"sette"
"eight"
DeviceControlSignals
Proprietà
-
cts
booleano
CTS (Clear To Send).
-
dcd
booleano
DCD (Data Carrier Detect) o RLSD (Receive Line Signal/ Detect).
-
dsr
booleano
DSR (Data Set Ready).
-
ri
booleano
RI (Ring Indicator).
DeviceInfo
Proprietà
-
displayName
stringa facoltativa
Un nome visualizzato leggibile per il dispositivo sottostante, se è possibile eseguire una query dal driver host.
-
percorso
stringa
Il percorso di sistema del dispositivo. Questo valore deve essere passato come argomento
path
achrome.serial.connect
per connettersi a questo dispositivo. -
productId
number (facoltativo)
Un ID prodotto USB, se è possibile determinarne uno per il dispositivo sottostante.
-
vendorId
number (facoltativo)
Un ID fornitore PCI o USB, se è possibile determinarne uno per il dispositivo sottostante.
HostControlSignals
Proprietà
-
dtr
booleano facoltativo
DTR (Data Terminal Ready).
-
rts
booleano facoltativo
RTS (Request To Send).
ParityBit
Enum
"no"
"odd"
"even"
ReceiveError
Enum
"disconnesso"
La connessione è stata disconnessa.
"timeout"
Non sono stati ricevuti dati per receiveTimeout
millisecondi.
"device_lost"
È molto probabile che il dispositivo sia stato disconnesso dall'host.
"break"
Il dispositivo ha rilevato una condizione di interruzione.
"frame_error"
Il dispositivo ha rilevato un errore di inquadratura.
"overrun"
Si è verificato un overrun del buffer di caratteri. Il carattere successivo viene perso.
"buffer_overflow"
Si è verificato un overflow del buffer di input. Non c'è spazio nel buffer di input o è stato ricevuto un carattere dopo il carattere di fine file (EOF).
"parity_error"
Il dispositivo ha rilevato un errore di parità.
"system_error"
Si è verificato un errore di sistema e la connessione potrebbe essere irrecuperabile.
ReceiveErrorInfo
Proprietà
-
connectionId
numero
L'identificatore della connessione.
-
errore
Un codice di errore che indica cosa è andato storto.
ReceiveInfo
Proprietà
-
connectionId
numero
L'identificatore della connessione.
-
dati
ArrayBuffer
I dati ricevuti.
SendError
Enum
"disconnesso"
La connessione è stata disconnessa.
"In attesa"
Un invio era già in attesa.
"timeout"
L'invio è scaduto.
"system_error"
Si è verificato un errore di sistema e la connessione potrebbe essere irrecuperabile.
SendInfo
Proprietà
-
bytesSent
numero
Il numero di byte inviati.
-
errore
SendError opzionale
Un codice di errore, se si è verificato un errore.
StopBits
Enum
"one"
"due"
Metodi
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
Ripristina la trasmissione dei caratteri su una determinata connessione e imposta la linea di trasmissione in uno stato non interrotto.
Parametri
-
connectionId
numero
L'ID della connessione.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
): Promise<ConnectionInfo>
Si connette a una determinata porta seriale.
Parametri
-
percorso
stringa
Il percorso di sistema della porta seriale da aprire.
-
opzioni
ConnectionOptions facoltativo
Opzioni di configurazione della porta.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Resi
-
Promise<ConnectionInfo>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
): Promise<boolean>
Si disconnette da una porta seriale.
Parametri
-
connectionId
numero
L'ID della connessione aperta.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
): Promise<boolean>
Svuota tutti i byte nei buffer di input e output della connessione specificata.
Parametri
-
connectionId
numero
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
getConnections()
chrome.serial.getConnections(
callback?: function,
): Promise<ConnectionInfo[]>
Recupera l'elenco delle connessioni alla porta seriale attualmente aperte di proprietà dell'applicazione.
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Resi
-
Promise<ConnectionInfo[]>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
): Promise<DeviceControlSignals>
Recupera lo stato dei segnali di controllo su una determinata connessione.
Parametri
-
connectionId
numero
L'ID della connessione.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(signals: DeviceControlSignals) => void
-
indicatori
-
Resi
-
Promise<DeviceControlSignals>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
getDevices()
chrome.serial.getDevices(
callback?: function,
): Promise<DeviceInfo[]>
Restituisce informazioni sui dispositivi seriali disponibili sul sistema. L'elenco viene rigenerato ogni volta che viene chiamato questo metodo.
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(ports: DeviceInfo[]) => void
-
ports
-
Resi
-
Promise<DeviceInfo[]>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
): Promise<ConnectionInfo>
Recupera lo stato di una determinata connessione.
Parametri
-
connectionId
numero
L'ID della connessione aperta.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Resi
-
Promise<ConnectionInfo>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
): Promise<SendInfo>
Scrive i dati nella connessione specificata.
Parametri
-
connectionId
numero
L'ID della connessione.
-
dati
ArrayBuffer
I dati da inviare.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(sendInfo: SendInfo) => void
-
sendInfo
-
Resi
-
Promise<SendInfo>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
Sospende la trasmissione dei caratteri su una determinata connessione e pone la linea di trasmissione in uno stato di interruzione fino a quando non viene chiamato clearBreak.
Parametri
-
connectionId
numero
L'ID della connessione.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
): Promise<boolean>
Imposta lo stato dei segnali di controllo su una determinata connessione.
Parametri
-
connectionId
numero
L'ID della connessione.
-
indicatori
Il set di modifiche del segnale da inviare al dispositivo.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
): Promise<void>
Mette in pausa o riattiva una connessione aperta.
Parametri
-
connectionId
numero
L'ID della connessione aperta.
-
in pausa
booleano
Flag che indica se mettere in pausa o riattivare.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
): Promise<boolean>
Aggiorna le impostazioni delle opzioni su una connessione alla porta seriale aperta.
Parametri
-
connectionId
numero
L'ID della connessione aperta.
-
opzioni
Opzioni di configurazione della porta.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
Resi
-
Promise<boolean>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
Eventi
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Evento generato quando i dati sono stati letti dalla connessione.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: ReceiveInfo) => void
-
informazioni
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Evento generato quando si è verificato un errore mentre il runtime era in attesa di dati sulla porta seriale. Una volta generato questo evento, la connessione potrebbe essere impostata su paused
. Un errore "timeout"
non mette in pausa la connessione.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: ReceiveErrorInfo) => void
-
informazioni
-