Description
Utilisez l'API chrome.serial pour lire et écrire sur un appareil connecté à un port série.
Autorisations
serialDisponibilité
Types
ConnectionInfo
Propriétés
-
bitrate
number 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 les
ConnectionOptions.bufferSize -
connectionId
nombre
ID de la connexion au port série.
-
ctsFlowControl
boolean 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 les
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
Indicateur signalant si la connexion est bloquée pour déclencher des événements onReceive.
-
persistant
booléen
Voir les
ConnectionOptions.persistent -
receiveTimeout
nombre
Voir les
ConnectionOptions.receiveTimeout -
sendTimeout
nombre
Voir les
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
number facultatif
Débit demandé pour la connexion à ouvrir. Pour une compatibilité avec le plus grand nombre de matériels, ce nombre doit correspondre à l'un des débits couramment disponibles, tels que 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Bien entendu, rien ne garantit que l'appareil connecté au port série acceptera le débit demandé, même si le port lui-même le prend en charge.
9600sera transmis par défaut. -
bufferSize
number facultatif
Taille de la mémoire tampon utilisée pour recevoir les données. La valeur par défaut est 4096.
-
ctsFlowControl
boolean facultatif
Indicateur permettant d'activer ou non le contrôle de flux matériel RTS/CTS. Valeur par défaut : "false".
-
dataBits
DataBits facultatif
"eight"sera transmis par défaut. -
nom
chaîne facultatif
Chaîne définie par l'application à associer à la connexion.
-
parityBit
ParityBit facultatif
"no"sera transmis par défaut. -
persistant
boolean facultatif
Indicateur signalant si la connexion doit rester ouverte ou non lorsque l'application est suspendue (voir Gérer le cycle de vie de l'application). La valeur par défaut est "false". Lorsque l'application est chargée, toutes les connexions série précédemment ouvertes avec persistent=true peuvent être récupérées avec
getConnections. -
receiveTimeout
number facultatif
Durée maximale (en millisecondes) d'attente de nouvelles données avant de déclencher un événement
onReceiveErroravec une erreur "timeout". Si la valeur est zéro, aucune erreur de délai avant expiration de réception ne sera générée pour la connexion. La valeur par défaut est 0. -
sendTimeout
number facultatif
Durée maximale (en millisecondes) d'attente de la fin d'une opération
sendavant d'appeler le rappel avec une erreur de délai avant expiration. Si la valeur est zéro, les erreurs de délai avant expiration de l'envoi ne seront pas déclenchées. La valeur par défaut est 0. -
stopBits
StopBits facultatif
"one"sera transmis par défaut.
DataBits
Énumération
"seven"
"eight"
DeviceControlSignals
Propriétés
-
cts
booléen
CTS (Clear To Send).
-
dcd
booléen
DCD (Data Carrier Detect) ou RLSD (Receive Line Signal/Detect).
-
dsr
booléen
DSR (Data Set Ready).
-
ri
booléen
RI (Ring Indicator, indicateur de sonnerie).
DeviceInfo
Propriétés
-
displayName
chaîne facultatif
Nom à afficher lisible par l'humain pour l'appareil sous-jacent, s'il peut être interrogé à partir du 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.connectpour se connecter à cet appareil. -
productId
number facultatif
ID produit USB, s'il peut être déterminé pour l'appareil sous-jacent.
-
vendorId
number facultatif
Un ID de fournisseur PCI ou USB, s'il peut être déterminé pour l'appareil sous-jacent.
HostControlSignals
Propriétés
-
dtr
boolean facultatif
DTR (Data Terminal Ready).
-
rts
boolean facultatif
RTS (Request To Send).
ParityBit
Énumération
"no"
"odd"
"even"
ReceiveError
Énumération
"disconnected"
La connexion a été interrompue.
"timeout"
Aucune donnée n'a été reçue pendant receiveTimeout millisecondes.
"device_lost"
L'appareil a probablement été déconnecté de l'hôte.
"break"
L'appareil a détecté une condition d'interruption.
"frame_error"
L'appareil a détecté une erreur de cadrage.
"overrun"
Un dépassement de la mémoire tampon de caractères s'est produit. Le caractère suivant est perdu.
"buffer_overflow"
Un dépassement de la mémoire tampon d'entrée s'est produit. Il n'y a pas de place dans le tampon d'entrée, ou 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 la connexion.
-
erreur
Un code d'erreur indiquant le problème.
ReceiveInfo
Propriétés
-
connectionId
nombre
Identifiant de la connexion.
-
données
ArrayBuffer
Les 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,
): Promise<boolean>
Restaure la transmission de caractères sur une connexion donnée et place la ligne de transmission dans un état non interrompu.
Paramètres
-
connectionId
nombre
ID de la connexion.
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
): Promise<ConnectionInfo>
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 des ports.
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
): Promise<boolean>
Se déconnecte d'un port série.
Paramètres
-
connectionId
nombre
ID de la connexion ouverte.
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
): Promise<boolean>
Vide tous les octets des tampons d'entrée et de sortie de la connexion donnée.
Paramètres
-
connectionId
nombre
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getConnections()
chrome.serial.getConnections(
callback?: function,
): Promise<ConnectionInfo[]>
Récupère la liste des connexions de port série actuellement ouvertes appartenant à l'application.
Paramètres
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
): Promise<DeviceControlSignals>
Récupère l'état des signaux de contrôle sur une connexion donnée.
Paramètres
-
connectionId
nombre
ID de la connexion.
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getDevices()
chrome.serial.getDevices(
callback?: function,
): Promise<DeviceInfo[]>
Renvoie 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
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
): Promise<ConnectionInfo>
Récupère l'état d'une connexion donnée.
Paramètres
-
connectionId
nombre
ID de la connexion ouverte.
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
): Promise<SendInfo>
Écrit des données dans la connexion donnée.
Paramètres
-
connectionId
nombre
ID de la connexion.
-
données
ArrayBuffer
Données à envoyer.
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
Suspend la transmission de caractères sur une connexion donnée et place la ligne de transmission dans un état d'interruption jusqu'à ce que clearBreak soit appelé.
Paramètres
-
connectionId
nombre
ID de la connexion.
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
): Promise<boolean>
Définit l'état des signaux de contrôle sur une connexion donnée.
Paramètres
-
connectionId
nombre
ID de la connexion.
-
signaux
Ensemble de modifications de signal à envoyer à l'appareil.
-
callback
function facultatif
Le paramètre
callbackse 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 les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
): Promise<void>
Met en pause ou réactive une connexion ouverte.
Paramètres
-
connectionId
nombre
ID de la connexion ouverte.
-
mis en veille
booléen
Indicateur permettant de suspendre ou de réactiver la diffusion.
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
): Promise<boolean>
Mettez à jour les paramètres d'option sur une connexion de port série ouverte.
Paramètres
-
connectionId
nombre
ID de la connexion ouverte.
-
options
Options de configuration des ports.
-
callback
function facultatif
Le paramètre
callbackse 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 les 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 des données ont été lues à partir de la connexion.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(info: ReceiveInfo) => void
-
info
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Événement déclenché lorsqu'une erreur s'est produite pendant 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 met pas la connexion en pause.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(info: ReceiveErrorInfo) => void
-
info
-