Skip to content

Terminal série en ligne (moniteur série Web Serial)

Moniteur série dans Chrome ou Edge, sans installation : CH340, CP2102, ESP32 ou Arduino, envoi texte ou HEX en boucle, CRC-16 Modbus ajouté d'office. Texte illisible ? L'outil repère le GBK et réaffiche les données déjà reçues.

Fonctionne dans le navigateur Gratuit
Votre navigateur lit et écrit directement sur le port — les données série ne sont jamais envoyées à nos serveurs.
Non connecté

Connectez un appareil : les données qu'il envoie s'affichent ici.

ms
Envoi rapide
Les chemins d'envoi et de réception sont testés octet par octet face à un port série simulé dans le navigateur : caractères GBK et UTF-8 coupés entre deux lectures, CRC-16/MODBUS (01 03 00 00 00 0A → C5 CD, 01 06 00 01 00 03 → 98 0B), XOR, somme sur 8 bits et découpage des trames sur silence sont couverts par des tests unitaires et de bout en bout, avec des valeurs de CRC issues d'une implémentation indépendante. — Équipe Go Tools · 11 oct. 2026

Conçu et vérifié par l'équipe d'ingénierie Go Tools.

Terminal série : réponses rapides

Quels navigateurs peuvent ouvrir un port série ?

Chrome, Edge et Opera sur ordinateur Ces navigateurs basés sur Chromium (Chrome 89 et versions ultérieures) intègrent la Web Serial API : ouvrez la page et cliquez sur Choisir le port et connecter. Firefox 151 et versions ultérieures sur ordinateur fonctionne aussi, une fois installé le module complémentaire de permission de site qu'il propose ; Safari et iOS ne la prennent pas en charge. L'appareil de démo montre toutes les fonctions dans n'importe quel navigateur.

Pourquoi le texte chinois envoyé par printf s'affiche-t-il illisible ?

Une cause fréquente : l'appareil envoie du GBK Les projets de microcontrôleur chinois sous Keil ou IAR sont souvent enregistrés en GBK : printf envoie donc des octets GBK. L'outil remarque quand les données se lisent correctement en GBK, propose de basculer et réaffiche ce qui a déjà été reçu. Si les lettres et les chiffres sont illisibles eux aussi, vérifiez d'abord le débit en bauds.

Que signifie le message Failed to open serial port ?

Le navigateur ne dit pas pourquoi Tous les échecs produisent le même message, Failed to open serial port. Passez en revue les causes habituelles : fermez les autres outils série, le moniteur série de l'Arduino IDE et les débogueurs ; sous Linux, ajoutez votre utilisateur au groupe dialout (uucp sous Arch) ; vérifiez que l'appareil est toujours branché ; essayez un débit standard.

Quel octet du CRC Modbus part en premier ?

L'octet de poids faible Le CRC-16/MODBUS de 01 03 00 00 00 0A vaut 0xCDC5 et part sur la ligne sous la forme C5 CD. Choisissez Ajouter une somme de contrôle → CRC-16/MODBUS : l'outil l'ajoute dans cet ordre et l'affiche dans l'aperçu.

Les commandes AT restent sans réponse ?

Terminez la ligne par \r\n Le firmware AT des ESP8266 et ESP32 considère retour chariot + saut de ligne (\r\n) comme la fin d'une commande : un AT seul reste donc en attente. Réglez la fin de ligne sur \r\n (CRLF) et renvoyez.

Qu'est-ce qu'un terminal série en ligne ?

Un terminal série, ou moniteur série, ouvre un port série de votre ordinateur — un port COM, généralement créé par une puce USB-série comme le CH340 ou le CP2102 — et échange des octets avec un appareil à son débit en bauds : lire les logs qu'imprime un microcontrôleur, envoyer des commandes AT à un module, dialoguer avec un équipement Modbus. Les outils classiques sont des logiciels de bureau. Celui-ci utilise la Web Serial API intégrée au navigateur : rien à installer, et il fonctionne dans Chrome et Edge sous Windows, macOS et Linux.

Votre navigateur lit et écrit directement sur le port ; l'outil n'envoie jamais de données série à nos serveurs. La page ne peut pas non plus rechercher les ports d'elle-même : elle ne peut ouvrir qu'un port que vous choisissez et autorisez dans la boîte de dialogue du navigateur.

Deux choses distinguent cet outil de la plupart des terminaux série. Il conserve les octets bruts qu'il reçoit : passer d'UTF-8 à GBK, ou de la vue Texte à la vue HEX, redessine tout l'écran avec le nouveau réglage — un affichage illisible n'oblige pas à tout recommencer. Et il affiche en aperçu chaque octet qu'il s'apprête à écrire, avec la somme de contrôle et la fin de ligne marquées à part ; une faute de frappe dans une saisie HEX est signalée avec le caractère fautif au lieu d'être discrètement retirée de la trame.

# Text view, line ending \r\n
[09:30:01.204] → AT␍␊
[09:30:01.219] OK
# HEX view, CRC-16/MODBUS appended (low byte first)
[09:30:02.517] → 01 03 00 00 00 0A C5 CD
[09:30:02.539] 01 03 14 00 64 00 65 00 66 00 67 00 68 00 69 00 6A 00 6B 00 6C 00 6D 63 D1

Fonctions du terminal série web

Sans installation — Windows, Mac et Linux

Repose sur la Web Serial API du navigateur : Chrome, Edge et Opera sur ordinateur se connectent aux adaptateurs CH340, CP2102, FT232 et PL2303 ainsi qu'au port série USB natif de cartes comme l'ESP32-S3 et l'Arduino. Pratique sur un poste de travail verrouillé, ou sur un Mac sans outil série qui vous convienne.

Diagnostic des caractères illisibles

Quand les octets reçus se décodent en charabia, l'outil relit les données les plus récentes dans un autre encodage et, si le résultat a du sens, propose Passer en GBK. Le basculement redécode tout ce qui a déjà été reçu, pas seulement les nouvelles données. Une vue ASCII / Latin-1, un octet par caractère, est aussi disponible.

Texte et HEX, avec aperçu des octets

Saisissez l'HEX sous la forme 01 03 00, 0x01,0x03 ou 010300 ; les caractères invalides et les nombres impairs de chiffres sont signalés, pas ignorés. Les octets sur le point d'être écrits s'affichent sous la saisie, avec la somme de contrôle et la fin de ligne entre crochets. Le mode Texte propose les fins de ligne \r\n, \n ou \r et, en option, les échappements \r \n \xHH.

Sommes de contrôle CRC, XOR et somme ajoutées pour vous

Ajoutez CRC-16/MODBUS (octet de poids faible en premier), XOR (BCC) ou une somme sur 8 bits à chaque trame — plus besoin d'un calculateur à part pour Modbus RTU. Pour les autres variantes de CRC, trouvez d'abord les paramètres avec un calculateur CRC, puis ajoutez les octets à la main.

Trames découpées sur les silences, horodatage à la milliseconde

En vue HEX, une nouvelle trame commence dès que la ligne est restée silencieuse plus longtemps que le nombre de millisecondes réglé (50 ms par défaut) : les protocoles requête/réponse affichent ainsi une trame par ligne. Chaque ligne porte un horodatage à la milliseconde et les compteurs d'octets se mettent à jour en direct.

Envoi périodique, historique et export du journal

Répétez une commande à intervalle fixe pour du polling ou des tests d'endurance, renvoyez en un clic les commandes récentes et exportez le journal en texte avec horodatage, sens et HEX brut — pour pouvoir le redécoder ou l'analyser plus tard avec un autre outil.

Exemples série : commandes AT, Modbus, texte illisible

Tester un module AT (firmware AT ESP8266 / ESP32)

Envoi (texte, fin de ligne \r\n) : AT
Octets écrits : 41 54 0D 0A
Réponse : OK

Le firmware ESP-AT termine une commande au retour chariot + saut de ligne ; si seuls 41 54 sont écrits, le module continue d'attendre. Avec la fin de ligne \r\n, l'aperçu affiche 41 54 [0D 0A].

Lire des registres de maintien Modbus RTU (CRC ajouté automatiquement)

Envoi (HEX, ajout CRC-16/MODBUS) : 01 03 00 00 00 0A
Octets écrits : 01 03 00 00 00 0A C5 CD
Réponse de l'esclave : 01 03 14 00 64 00 65 … 00 6D 63 D1

Esclave 01, fonction 03, adresse de départ 0000, quantité 000A. Le CRC vaut 0xCDC5 et Modbus envoie l'octet de poids faible en premier : c'est donc C5 CD qui part sur la ligne. Dans la réponse, 14 est le nombre d'octets (20 octets = 10 registres) et les deux derniers octets sont à nouveau un CRC, poids faible en premier. L'appareil de démo répond exactement dans ce format.

Le texte chinois imprimé par un microcontrôleur s'affiche en charabia

Reçu : CE C2 B6 C8 3A 32 35 A1 E6 0D 0A
En UTF-8 : �¶�:25��
En GBK : 温度:25℃

Les mêmes octets sont illisibles en UTF-8 et se lisent 温度:25℃ (température : 25 °C) en GBK. Rien n'est corrompu — les deux extrémités ne sont simplement pas d'accord sur l'encodage. L'outil le détecte et propose de basculer.

Trame de protocole maison avec somme de contrôle XOR

Envoi (HEX, ajout XOR / BCC) : AA 55 01 02
Octets écrits : AA 55 01 02 FC

Le XOR combine tous les octets de la charge utile : AA ⊕ 55 ⊕ 01 ⊕ 02 = FC. La somme de contrôle couvre tous les octets de la zone de saisie ; si votre protocole exclut l'en-tête du calcul, calculez cette somme à part et saisissez-la vous-même.

Comment utiliser le terminal série en ligne

  1. 1

    Branchez l'appareil

    Branchez la carte ou l'adaptateur USB-série sur l'ordinateur. Sous Windows, un nouveau port COM doit apparaître sous Ports (COM et LPT) dans le Gestionnaire de périphériques ; sinon, le pilote manque ou le câble ne sert qu'à la charge.

  2. 2

    Alignez les paramètres du port

    Débit en bauds, bits de données, parité et bits d'arrêt doivent correspondre au firmware — 115200 8N1 et 9600 8N1 sont les plus courants. Les réglages sont verrouillés pendant la connexion ; déconnectez-vous pour les modifier.

  3. 3

    Choisissez le port et connectez-vous

    Cliquez sur Choisir le port et connecter, puis sélectionnez le port dans la liste du navigateur. La barre d'état nomme le fabricant de la puce d'après son identifiant vendeur USB, par exemple WCH (QinHeng) ou Silicon Labs CP210x. Pas de matériel ? Cliquez sur Appareil de démo.

  4. 4

    Observez les données reçues

    La vue Texte affiche une ligne par ligne reçue, chacune avec un horodatage à la milliseconde. Pour les protocoles binaires, passez en vue HEX, qui découpe les trames sur les silences. Si le texte est illisible, suivez l'indication d'encodage.

  5. 5

    Envoyez, puis enregistrez le journal

    Choisissez Texte ou HEX, une fin de ligne et une somme de contrôle, vérifiez l'aperçu des octets et appuyez sur Ctrl+Entrée. Utilisez l'envoi périodique pour le polling. Une fois terminé, cliquez sur Enregistrer le journal pour tout exporter.

Problèmes série courants : charabia, pas de réponse, port qui ne s'ouvre pas

Le texte chinois s'affiche en charabia

L'appareil envoie du GBK mais le terminal décode en UTF-8 : chaque caractère chinois se transforme en caractères de remplacement ou en symboles parasites. Les données sont intactes ; lisez-les avec le bon encodage.

✗ Incorrect
Encodage : UTF-8
Affiché : �¶�:25��
✓ Correct
Encodage : GBK
Affiché : 温度:25℃

La commande AT reste sans réponse

Le firmware AT des ESP8266 et ESP32 ne commence l'analyse d'une commande qu'après \r\n. Avec la fin de ligne réglée sur Aucune, seuls les deux octets 41 54 ont été écrits.

✗ Incorrect
41 54
✓ Correct
41 54 0D 0A

L'esclave Modbus ne répond pas

Une trame RTU exige un CRC correct, octet de poids faible en premier, et rien après. Sans CRC, avec ses octets inversés, ou avec une fin de ligne 0D 0A encore activée en mode HEX, l'esclave rejette la trame comme corrompue et ne renvoie rien.

✗ Incorrect
01 03 00 00 00 0A CD C5
✓ Correct
01 03 00 00 00 0A C5 CD

Tout est illisible, même les lettres et les chiffres

C'est rarement un problème d'encodage. Le débit en bauds — ou les bits de données, ou la parité — ne correspond pas à l'appareil : chaque octet est donc échantillonné aux mauvais instants ; au double ou à la moitié du débit de l'appareil, on reçoit typiquement bien moins ou bien plus d'octets qu'il n'en a été envoyé, pour la plupart incohérents. Utilisez les valeurs définies par le firmware.

✗ Incorrect
Terminal 57600 8N1, appareil 115200 8N1
✓ Correct
Terminal 115200 8N1, appareil 115200 8N1

Quand un terminal série dans le navigateur est utile

Sortie de débogage Arduino et ESP32
Lisez ce qu'imprime Serial.println() — mesures de capteurs, changements d'état — avec un horodatage à la milliseconde pour suivre l'ordre d'exécution.
Logs printf STM32 et 8051
Un printf redirigé vers un USART dans un projet en langue chinoise imprime souvent du GBK. Changez l'encodage ici au lieu de modifier le firmware.
Mise en service d'équipements Modbus RTU
Dialoguez avec des compteurs et des automates (PLC) via un adaptateur RS-485-USB : envoyez de l'HEX avec le CRC ajouté et voyez les réponses découpées en trames. Les registres qui contiennent des valeurs à virgule flottante arrivent sous forme de quatre octets bruts au format IEEE 754.
Configuration de modules à commandes AT
Envoyez des commandes AT à des modules Wi-Fi, cellulaires et Bluetooth avec la bonne fin de ligne, et gardez les commandes fréquentes dans l'historique d'envoi pour les renvoyer en un clic.
Vérifications rapides sur une machine sans vos outils
Sur un PC de travail verrouillé, une machine de labo partagée, un Mac ou un poste Linux, ouvrez la page et c'est parti. Pour lire de l'HEX capturé sous forme de texte dans d'autres encodages, collez-le dans Hexadécimal en texte.

Comment fonctionnent la communication série et Web Serial

Comment la Web Serial API ouvre un port
Le navigateur ouvre le port via le pilote série du système d'exploitation — un port COM sous Windows, /dev/cu.* sous macOS, /dev/ttyUSB* ou /dev/ttyACM* sous Linux — et remet à la page deux flux d'octets : un ReadableStream pour les données entrantes et un WritableStream pour les données sortantes. L'accès est accordé port par port, et uniquement via le sélecteur propre au navigateur ; une page ne peut pas lister d'elle-même les ports série de votre machine.
8N1 et le débit en bauds
8N1 signifie 8 bits de données, pas de parité, 1 bit d'arrêt. Avec le bit de start, chaque octet occupe 10 bits sur la ligne : 115200 bauds transportent donc au plus environ 11 520 octets par seconde, et 9600 bauds environ 960. Un fort écart de débit, ou des bits de données ou une parité qui ne correspondent pas, transforment les données en charabia (Windows signale aussi des erreurs de trame).
Pourquoi il faut découper les trames
Une liaison série n'a aucune notion de paquet. La puce USB-série regroupe les octets reçus en paquets USB, et chaque lecture du navigateur renvoie un de ces blocs — une trame peut arriver en deux blocs, ou plusieurs trames en un seul. La vue HEX redécoupe le flux selon le temps de silence entre les blocs. Le navigateur sait seulement quand chaque bloc a atteint la page, pas quand chaque octet a traversé la ligne : le seuil par défaut est donc de 50 ms ; ajustez-le à votre protocole. Modbus RTU exige lui-même au moins 3,5 temps caractère de silence entre les trames — environ 4 ms à 9600 bauds —, ce qu'un navigateur ne peut pas mesurer aussi précisément : le découpage sur silence est une approximation, pas un détecteur de trames exact au sens de Modbus.
Octets UTF-8 et octets GBK
温度 (température) s'écrit E6 B8 A9 E5 BA A6 en UTF-8, trois octets par caractère, et CE C2 B6 C8 en GBK, deux octets par caractère. Les octets d'un caractère peuvent être répartis sur deux lectures : le décodage se fait donc en flux et garde une fin incomplète pour le bloc suivant ; changer d'encodage redécode à partir des octets bruts.
Comment fonctionnent les trois sommes de contrôle
CRC-16/MODBUS : polynôme 0x8005 (0xA001 sous forme réfléchie), valeur initiale 0xFFFF, entrée et sortie réfléchies, pas de XOR final, envoi octet de poids faible en premier. XOR (BCC) : tous les octets combinés par XOR en un seul octet. SUM8 : tous les octets additionnés, en ne gardant que les 8 bits de poids faible. Les trois ne couvrent que la charge utile, jamais la fin de ligne ajoutée après.

Conseils de débogage série

Vérifiez les réglages avant l'encodage
Quand l'affichage est illisible, assurez-vous d'abord que le débit en bauds, les bits de données, la parité et les bits d'arrêt correspondent à l'appareil. Avec de mauvais réglages, aucun encodage ne donnera un texte lisible.
Utilisez la vue HEX pour les protocoles binaires
Des protocoles comme Modbus sont pleins d'octets 00, 0D et 0A que la vue texte traite comme des sauts de ligne ou des caractères de contrôle — la table ASCII les liste tous. Passez en vue HEX et réglez le délai de trame un peu au-dessus de l'écart de réponse de l'appareil.
Un seul encodage pour le firmware et le terminal
Pour les nouveaux projets, enregistrez les fichiers source en UTF-8 afin que les logs s'affichent correctement partout. Pour les projets GBK existants, réglez une fois l'encodage sur GBK ici ; l'outil s'en souvient.
Conservez le journal HEX brut
Pour traquer les défauts intermittents, le journal exporté garde les octets bruts et l'horodatage à la milliseconde de chaque bloc. N'enregistrer que le texte décodé figerait le choix d'encodage dans le fichier.
Ne réglez pas l'intervalle d'envoi périodique trop court
L'intervalle doit dépasser le temps dont l'appareil a besoin pour traiter une commande et répondre ; sinon les requêtes s'accumulent et les réponses ne correspondent plus aux requêtes. Prenez le temps de réponse dans la documentation de l'appareil et gardez une marge.

FAQ du terminal série

Faut-il télécharger ou installer quelque chose ?
Pas dans Chrome ni dans Edge : la page utilise la Web Serial API intégrée au navigateur — ni client de bureau, ni extension. Dans Firefox 151 et versions ultérieures, installez d'abord le module complémentaire de permission de site demandé par Firefox ; c'est le mécanisme d'autorisation du navigateur, pas un pilote série. Dans tous les cas, il vous faut le pilote de la puce série : si un port COM apparaît dans le Gestionnaire de périphériques, le pilote fonctionne ; sinon, téléchargez le pilote sur le site du fabricant de la puce.
Quels navigateurs fonctionnent ? Peut-on l'utiliser sur un téléphone ?
Chrome, Edge et Opera sur ordinateur (Chrome 89 et versions ultérieures) se connectent directement. Firefox 151 et versions ultérieures sur ordinateur fonctionne aussi, après installation du module complémentaire de permission de site qu'il demande. Safari et iOS ne prennent pas en charge Web Serial. Chrome pour Android 138+ ne donne accès qu'aux ports série Bluetooth (RFCOMM) ; les ports série USB filaires nécessitent Chrome 148+ sous Android 17, et le téléphone lui-même doit exposer des ports série filaires. Là où la page ne peut pas se connecter, elle l'indique, et l'appareil de démo fonctionne quand même.
Des données série sont-elles envoyées à un serveur ?
Non. Votre navigateur lit et écrit directement sur le port, et l'outil n'envoie jamais à nos serveurs les octets que vous envoyez ou recevez. L'historique d'envoi et les réglages sont stockés dans votre propre navigateur.
La liste des ports est vide après un clic sur Choisir le port et connecter. Que faire ?
Le système d'exploitation n'a détecté aucun périphérique série. Vérifiez que le câble transporte des données, pas seulement l'alimentation, et que la carte est alimentée. Sous Windows, un port COM doit apparaître dans le Gestionnaire de périphériques ; sinon, installez le pilote de la puce (CH340, CP2102, etc.).
Pourquoi le port ne s'ouvre-t-il pas ?
Le navigateur signale tous les échecs avec le même message, Failed to open serial port., la cause doit donc être trouvée par élimination. Une cause fréquente est un autre programme qui occupe le port : fermez les autres outils série, le moniteur série de l'Arduino IDE, un IDE en cours de débogage ou un autre onglet de cet outil. Sous Linux, votre utilisateur doit faire partie du groupe dialout (uucp sous Arch). Vérifiez aussi que l'appareil est toujours branché et essayez un débit standard — certains pilotes refusent les valeurs inhabituelles.
Comment corriger un texte chinois illisible ?
Regardez d'abord les lettres latines et les chiffres. S'ils sont corrects et que seul le chinois est illisible, c'est un problème d'encodage — un cas fréquent est un appareil qui envoie du GBK. L'outil le détecte, propose de basculer et réaffiche ce qui a déjà été reçu. Si les lettres et les chiffres sont illisibles eux aussi, le débit en bauds ou un autre réglage ne correspond pas à l'appareil.
Comment envoyer en HEX ? Quels formats sont acceptés ?
Passez le mode d'envoi sur HEX et saisissez 01 03 00 0A, 0x01,0x03 ou 0103000A, en majuscules ou en minuscules. Les caractères invalides comme G et les nombres impairs de chiffres sont signalés, jamais ignorés, et les octets à écrire s'affichent en aperçu sous la saisie.
Comment ajouter un CRC Modbus, et pourquoi l'octet de poids faible passe-t-il en premier ?
Réglez Ajouter une somme de contrôle sur CRC-16/MODBUS et saisissez seulement l'adresse, le code fonction et les données ; le CRC est ajouté à la fin. Modbus RTU envoie le CRC octet de poids faible en premier : 0xCDC5 part sous la forme C5 CD.
Pourquoi une trame est-elle coupée sur deux lignes, ou plusieurs trames fusionnées en une seule ?
La vue HEX découpe les trames selon le temps de silence entre les arrivées, 50 ms par défaut. Si l'appareil marque une pause plus longue au milieu d'une trame, la trame est coupée ; si les trames se suivent de plus près, elles fusionnent. Réglez le délai de trame au-dessus de la pause interne à la trame et en dessous de l'écart entre deux trames.
Que sont DTR et RTS, et pourquoi ma carte a-t-elle redémarré à la connexion ?
DTR et RTS sont deux lignes de contrôle série que beaucoup de cartes relient à leur circuit de reset. Quand Chrome ouvre un port, il met les deux lignes à l'état actif — un détail d'implémentation, pas une exigence de la norme —, si bien que les cartes qui redémarrent sur DTR, comme l'Arduino Uno, redémarrent généralement une fois à la connexion, et une page web ne peut pas l'empêcher. Sur le circuit d'auto-programmation courant de l'ESP32, la puce fonctionne normalement quand les deux lignes sont actives et n'est maintenue en reset que lorsque RTS est actif et DTR inactif. Utilisez les interrupteurs après la connexion ; si un ESP32 devient muet, vérifiez que vous n'avez pas désactivé DTR seul.
Puis-je ouvrir le même port dans un autre outil série en même temps ?
Sous Windows, non : un port COM ne peut être ouvert que par un seul programme à la fois. Sous Linux et macOS, cela dépend de si le premier programme a demandé un accès exclusif. Si oui, l'ouverture du port échoue ici ; sinon, les deux programmes l'ouvrent et se partagent les données entrantes, ce qui ressemble à des octets perdus. Utilisez un seul programme à la fois.
Les débits en bauds personnalisés sont-ils pris en charge ?
Oui. La dernière entrée de la liste est Personnalisé, où vous pouvez saisir n'importe quel débit, par exemple 74880 — le débit auquel la ROM de démarrage de l'ESP8266 imprime. Le navigateur transmet la valeur telle quelle ; que cela fonctionne ou non dépend de la puce USB-série et de son pilote. Certains l'arrondissent au débit pris en charge le plus proche, et sur certains systèmes le port refuse alors de s'ouvrir.
Qu'est-ce que l'appareil de démo ?
Un microcontrôleur simulé intégré à la page, pour se passer de matériel. À la connexion, il imprime un message de démarrage en GBK — une démonstration toute prête de l'indication d'encodage — puis envoie une température toutes les 2 secondes. Il répond OK à AT et ERROR aux autres commandes AT. Il répond à une lecture Modbus fonction 03 adressée à l'esclave 1 avec un CRC correct ; comme un vrai esclave, il reste muet si le CRC est faux ou si la trame est destinée à une autre adresse. Tout le reste est renvoyé en écho.