Description
Utilisez l'API chrome.serial
pour lire et écrire sur un appareil connecté à un port série.
Autorisations
serial
Types
ConnectionInfo
Propriétés
-
bitrate
numéro facultatif
Consultez les
ConnectionOptions.bitrate
. Ce champ peut être omis ou inexact si un débit non standard est utilisé ou si une erreur s'est produite lors de l'interrogation de l'appareil sous-jacent. -
bufferSize
Nombre
Voir
ConnectionOptions.bufferSize
-
connectionId
Nombre
Identifiant de la connexion du port série.
-
ctsFlowControl
Booléen facultatif
Consultez les
ConnectionOptions.ctsFlowControl
. Ce champ peut être omis si une erreur s'est produite lors de l'interrogation de l'appareil sous-jacent. -
dataBits
DataBits facultatif
Consultez les
ConnectionOptions.dataBits
. Ce champ peut être omis si une erreur s'est produite lors de l'interrogation de l'appareil sous-jacent. -
nom
chaîne
Voir
ConnectionOptions.name
-
parityBit
ParityBit facultatif
Consultez les
ConnectionOptions.parityBit
. Ce champ peut être omis si une erreur s'est produite lors de l'interrogation de l'appareil sous-jacent. -
mis en veille
booléen
Indique si le déclenchement d'événements onReceive est bloqué pour la connexion.
-
SSD
booléen
Voir
ConnectionOptions.persistent
-
receiveTimeout
Nombre
Voir
ConnectionOptions.receiveTimeout
-
sendTimeout
Nombre
Voir
ConnectionOptions.sendTimeout
-
stopBits
StopBits facultatif
Consultez les
ConnectionOptions.stopBits
. Ce champ peut être omis si une erreur s'est produite lors de l'interrogation de l'appareil sous-jacent.
ConnectionOptions
Propriétés
-
bitrate
numéro facultatif
Débit demandé de la connexion à ouvrir. Pour assurer la compatibilité avec la plus large gamme de matériel, ce nombre doit correspondre à l'un des débits couramment disponibles, tels que 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600 ou 115200. Bien entendu, rien ne garantit que l'appareil connecté au port série prendra en charge le débit demandé, même si le port lui-même accepte ce débit.
9600
est transmis par défaut. -
bufferSize
numéro facultatif
Taille du tampon utilisé pour recevoir des données. La valeur par défaut est 4096.
-
ctsFlowControl
Booléen facultatif
Indique si le contrôle de flux matériel RTS/CTS doit être activé ou non. Valeur par défaut : "false".
-
dataBits
DataBits facultatif
"eight"
est transmis par défaut. -
nom
chaîne facultatif
Chaîne définie par l'application à associer à la connexion.
-
parityBit
ParityBit facultatif
"no"
est transmis par défaut. -
SSD
Booléen facultatif
Indique si la connexion doit être laissée ouverte ou non lorsque l'application est suspendue (voir Gérer le cycle de vie d'une application). La valeur par défaut est "false". Une fois l'application chargée, toutes les connexions série précédemment ouvertes avec "persistant=true" peuvent être récupérées avec
getConnections
. -
receiveTimeout
numéro facultatif
Délai maximal (en millisecondes) d'attente de nouvelles données avant de déclencher un événement
onReceiveError
avec "délai avant expiration" . Si la valeur est zéro, aucune erreur de délai avant expiration de réception n'est générée pour la connexion. La valeur par défaut est 0. -
sendTimeout
numéro facultatif
Délai maximal (en millisecondes) d'attente avant la fin d'une opération
send
avant d'appeler le rappel avec un "délai avant expiration" . Si la valeur est zéro, les erreurs d'expiration de délai d'envoi ne sont pas déclenchées. La valeur par défaut est 0. -
stopBits
StopBits facultatif
"one"
est transmis par défaut.
DataBits
Énumération
"sept"
"huit"
DeviceControlSignals
Propriétés
-
cts
booléen
CTS (Clear to Send) (Effacer pour envoyer).
-
dcd
booléen
DCD (Data Carrier Detect) ou RLSD (Signal de ligne de réception/ Détection).
-
dsr
booléen
Ensemble de données prêt à l'emploi (DSR, Data Set Ready).
-
ri
booléen
RI (indicateur de sonnerie).
DeviceInfo
Propriétés
-
displayName
chaîne facultatif
Nom lisible à afficher de l'appareil sous-jacent, s'il peut être interrogé depuis le pilote hôte.
-
chemin d'accès
chaîne
Chemin d'accès système de l'appareil. Il doit être transmis en tant qu'argument
path
àchrome.serial.connect
pour permettre la connexion à cet appareil. -
productId
numéro facultatif
ID produit USB, s'il en existe un pour l'appareil sous-jacent.
-
vendorId
numéro facultatif
ID de fournisseur PCI ou USB, le cas échéant, pour l'appareil sous-jacent.
HostControlSignals
Propriétés
-
dtr
Booléen facultatif
DTR (Data Terminal Ready, prêt pour le terminal de données)
-
rts
Booléen facultatif
RTS (Request To Send)
ParityBit
Énumération
"non"
"odd"
régulièrement
ReceiveError
Énumération
"disconnected"
La connexion a été interrompue.
"timeout"
Aucune donnée n'a été reçue depuis receiveTimeout
millisecondes.
"device_lost"
L'appareil a probablement été déconnecté de l'hôte.
"break"
L'appareil a détecté un dysfonctionnement.
"frame_error"
L'appareil a détecté une erreur de cadrage.
"overrun"
Un dépassement de tampon de caractères s'est produit. Le caractère suivant est perdu.
"buffer_overflow"
Un dépassement de tampon d'entrée s'est produit. Soit il n'y a pas d'espace dans le tampon d'entrée, soit un caractère a été reçu après le caractère de fin de fichier (EOF).
"parity_error"
L'appareil a détecté une erreur de parité.
"system_error"
Une erreur système s'est produite, et la connexion est peut-être irrécupérable.
ReceiveErrorInfo
Propriétés
-
connectionId
Nombre
Identifiant de connexion.
-
erreur
Code d'erreur indiquant le problème rencontré.
ReceiveInfo
Propriétés
-
connectionId
Nombre
Identifiant de connexion.
-
données
ArrayBuffer
Données reçues.
SendError
Énumération
"disconnected"
La connexion a été interrompue.
"pending"
Un envoi était déjà en attente.
"timeout"
Le délai d'envoi a expiré.
"system_error"
Une erreur système s'est produite, et la connexion est peut-être irrécupérable.
SendInfo
Propriétés
-
bytesSent
Nombre
Nombre d'octets envoyés.
-
erreur
SendError facultatif
Un code d'erreur si une erreur s'est produite.
StopBits
Énumération
"one"
"two"
Méthodes
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
Restaurer la transmission de caractères sur une connexion donnée et placer la ligne de transmission dans un état permanent.
Paramètres
-
connectionId
Nombre
Identifiant de la connexion.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(result: boolean) => void
-
résultat
booléen
-
Renvoie
-
Promise<boolean>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
Se connecte à un port série donné.
Paramètres
-
chemin d'accès
chaîne
Chemin d'accès système du port série à ouvrir.
-
options
ConnectionOptions facultatif
Options de configuration du port.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Renvoie
-
Promise<ConnectionInfo>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
Se déconnecte d'un port série.
Paramètres
-
connectionId
Nombre
Identifiant de la connexion ouverte.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(result: boolean) => void
-
résultat
booléen
-
Renvoie
-
Promise<boolean>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
Vide tous les octets des tampons d'entrée et de sortie de la connexion donnée.
Paramètres
-
connectionId
Nombre
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(result: boolean) => void
-
résultat
booléen
-
Renvoie
-
Promise<boolean>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
Récupère la liste des connexions via le port série actuellement ouvertes appartenant à l'application.
Paramètres
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Renvoie
-
Promise<ConnectionInfo[]>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
Récupère l'état des signaux de contrôle sur une connexion donnée.
Paramètres
-
connectionId
Nombre
Identifiant de la connexion.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(signals: DeviceControlSignals) => void
-
signaux
-
Renvoie
-
Promise<DeviceControlSignals>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getDevices()
chrome.serial.getDevices(
callback?: function,
)
Affiche des informations sur les appareils série disponibles sur le système. La liste est générée à nouveau chaque fois que cette méthode est appelée.
Paramètres
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(ports: DeviceInfo[]) => void
-
ports
-
Renvoie
-
Promise<DeviceInfo[]>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
)
Récupère l'état d'une connexion donnée.
Paramètres
-
connectionId
Nombre
Identifiant de la connexion ouverte.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Renvoie
-
Promise<ConnectionInfo>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
)
Écrit des données sur la connexion donnée.
Paramètres
-
connectionId
Nombre
Identifiant de la connexion.
-
données
ArrayBuffer
Données à envoyer.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(sendInfo: SendInfo) => void
-
sendInfo
-
Renvoie
-
Promise<SendInfo>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
Suspend la transmission de caractères sur une connexion donnée et place la ligne de transmission en état de rupture jusqu'à ce que clearBreak soit appelé.
Paramètres
-
connectionId
Nombre
Identifiant de la connexion.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(result: boolean) => void
-
résultat
booléen
-
Renvoie
-
Promise<boolean>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
)
Définit l'état des signaux de contrôle sur une connexion donnée.
Paramètres
-
connectionId
Nombre
Identifiant de la connexion.
-
signaux
Ensemble des signaux à envoyer à l'appareil.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(result: boolean) => void
-
résultat
booléen
-
Renvoie
-
Promise<boolean>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
Suspend ou réactive une connexion ouverte.
Paramètres
-
connectionId
Nombre
Identifiant de la connexion ouverte.
-
mis en veille
booléen
Indicateur pour indiquer si la mise en veille ou la réactivation doit être effectuée.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
Mettez à jour les paramètres des options sur une connexion de port série ouverte.
Paramètres
-
connectionId
Nombre
Identifiant de la connexion ouverte.
-
options
Options de configuration du port.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(result: boolean) => void
-
résultat
booléen
-
Renvoie
-
Promise<boolean>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
Événements
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Événement déclenché lorsque les données ont été lues à partir de la connexion.
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(info: ReceiveInfo) => void
-
infos
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Événement déclenché lorsqu'une erreur s'est produite alors que l'environnement d'exécution attendait des données sur le port série. Une fois cet événement déclenché, la connexion peut être définie sur paused
. Une erreur "timeout"
ne suspend pas la connexion.
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(info: ReceiveErrorInfo) => void
-
infos
-