Skip to content

Terminale seriale online (monitor seriale web)

Monitor seriale in Chrome o Edge senza installazione: collega CH340, CP2102, ESP32 o Arduino, invia testo o HEX anche a intervalli, con CRC-16 Modbus automatico. Testo illeggibile? Rileva il GBK e ridisegna quanto già ricevuto.

Funziona nel browser Gratuito
È il browser a leggere e scrivere direttamente sulla porta: i dati seriali non vengono mai inviati ai nostri server.
Non connesso

Collega un dispositivo e i dati che invia compariranno qui.

ms
Invio rapido
I percorsi di invio e ricezione sono testati byte per byte contro una porta seriale simulata nel browser: caratteri GBK e UTF-8 divisi tra due letture, CRC-16/MODBUS (01 03 00 00 00 0A → C5 CD, 01 06 00 01 00 03 → 98 0B), XOR, somma a 8 bit e separazione delle trame sulle pause sono coperti da test unitari ed end-to-end, con valori CRC presi da un'implementazione indipendente. — Team Go Tools · Oct 11, 2026

Realizzato e verificato dal team di ingegneria di Go Tools.

Terminale seriale: risposte rapide

Quali browser possono aprire una porta seriale?

Chrome, Edge e Opera su desktop Questi browser basati su Chromium (Chrome 89 e successivi) includono la Web Serial API: apri la pagina e fai clic su Seleziona porta e connetti. Funziona anche Firefox 151 e successivi su desktop, dopo aver installato il componente aggiuntivo per i permessi del sito che ti propone; Safari e iOS non la supportano. Il dispositivo demo mostra tutte le funzioni in qualsiasi browser.

Perché il testo cinese stampato con printf risulta illeggibile?

Una causa comune: il dispositivo invia GBK I progetti per microcontrollori cinesi in Keil o IAR sono spesso salvati in GBK, quindi printf invia byte GBK. Lo strumento si accorge quando i dati si leggono correttamente come GBK, propone di cambiare codifica e ridisegna quanto già ricevuto. Se anche lettere e cifre sono illeggibili, controlla prima il baud rate.

Che cosa significa Failed to open serial port?

Il browser non dice perché Ogni errore produce lo stesso messaggio, Failed to open serial port. Passa in rassegna le cause tipiche: chiudi gli altri programmi seriali, il monitor seriale dell'Arduino IDE e i debugger; su Linux aggiungi il tuo utente al gruppo dialout (uucp su Arch); verifica che il dispositivo sia ancora collegato; prova un baud rate standard.

Quale byte del CRC Modbus viene inviato per primo?

Il byte basso Il CRC-16/MODBUS di 01 03 00 00 00 0A è 0xCDC5 e sulla linea viaggia come C5 CD. Scegli Aggiungi checksum → CRC-16/MODBUS: lo strumento lo aggiunge in quest'ordine e lo mostra nell'anteprima.

I comandi AT non ricevono risposta?

Termina la riga con \r\n Il firmware AT di ESP8266 ed ESP32 considera ritorno carrello + avanzamento riga (\r\n) come fine del comando, quindi un AT da solo resta in attesa. Imposta il fine riga su \r\n (CRLF) e invia di nuovo.

Che cos'è un terminale seriale online?

Un terminale seriale, o monitor seriale, apre una porta seriale del computer — una porta COM, di solito creata da un chip USB-seriale come il CH340 o il CP2102 — e scambia byte con un dispositivo al suo baud rate: leggere il log stampato da un microcontrollore, inviare comandi AT a un modulo, comunicare con un dispositivo Modbus. Gli strumenti tradizionali sono programmi desktop. Questo usa la Web Serial API integrata nel browser, quindi non richiede installazione e funziona in Chrome ed Edge su Windows, macOS e Linux.

È il browser a leggere e scrivere direttamente sulla porta; lo strumento non invia mai i dati seriali ai nostri server. La pagina non può nemmeno cercare le porte da sola: può aprire solo una porta che scegli e autorizzi nella finestra del browser.

Due cose distinguono questo strumento dalla maggior parte dei terminali seriali. Conserva i byte grezzi che riceve, quindi passare da UTF-8 a GBK, o dalla vista Testo alla vista HEX, ridisegna l'intera schermata con la nuova impostazione: un output illeggibile non ti costringe a ricominciare da capo. E mostra in anteprima ogni byte che sta per scrivere, con checksum e fine riga segnati a parte; un errore di battitura nell'input HEX viene segnalato indicando il carattere sbagliato, invece di sparire in silenzio dalla trama.

# 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

Funzioni del terminale seriale web

Nessuna installazione — Windows, Mac e Linux

Basato sulla Web Serial API del browser: Chrome, Edge e Opera su desktop si collegano agli adattatori CH340, CP2102, FT232 e PL2303 e alla seriale USB nativa di schede come ESP32-S3 e Arduino. Comodo sui PC aziendali bloccati, o su un Mac senza un programma seriale che ti piaccia.

Diagnosi dei caratteri illeggibili

Quando i byte in arrivo si decodificano in caratteri senza senso, lo strumento rilegge i dati più recenti in un'altra codifica e, se il risultato ha senso, propone Passa a GBK. Il passaggio ridecodifica tutto ciò che è già stato ricevuto, non solo i dati nuovi. È disponibile anche la vista ASCII / Latin-1, un byte per carattere.

Testo e HEX, con anteprima dei byte

Scrivi l'HEX come 01 03 00, 0x01,0x03 o 010300; caratteri non validi e numeri dispari di cifre vengono segnalati, non saltati. I byte che stanno per essere scritti compaiono sotto il campo, con checksum e fine riga tra parentesi quadre. La modalità Testo offre i fine riga \r\n, \n o \r e, se vuoi, le sequenze di escape \r \n \xHH.

Checksum CRC, XOR e somma aggiunti per te

Aggiungi CRC-16/MODBUS (byte basso per primo), XOR (BCC) o una somma a 8 bit a ogni trama: per Modbus RTU non serve un calcolatore a parte. Per altre varianti di CRC, trova prima i parametri con un calcolatore CRC e poi aggiungi i byte a mano.

Trame separate sulle pause, timestamp al millisecondo

Nella vista HEX una nuova trama inizia ogni volta che la linea resta inattiva più a lungo dei millisecondi impostati (50 ms di default), così i protocolli richiesta/risposta mostrano una trama per riga. Ogni riga ha un timestamp al millisecondo e i contatori dei byte si aggiornano in tempo reale.

Invio temporizzato, cronologia ed esportazione del log

Ripeti un comando a intervalli fissi per il polling o per i test di durata, reinvia con un clic i comandi recenti ed esporta il log come testo con timestamp, direzione e HEX grezzo, così potrai ridecodificarlo o analizzarlo in seguito con un altro strumento.

Esempi seriali: comandi AT, Modbus, testo illeggibile

Test di un modulo AT (firmware AT ESP8266 / ESP32)

Invio (testo, fine riga \r\n): AT
Byte scritti: 41 54 0D 0A
Risposta: OK

Il firmware ESP-AT chiude un comando con ritorno carrello + avanzamento riga; se vengono scritti solo 41 54, il modulo resta in attesa. Con il fine riga \r\n l'anteprima mostra 41 54 [0D 0A].

Lettura di holding register Modbus RTU (CRC aggiunto in automatico)

Invio (HEX, aggiungi CRC-16/MODBUS): 01 03 00 00 00 0A
Byte scritti: 01 03 00 00 00 0A C5 CD
Risposta dello slave: 01 03 14 00 64 00 65 … 00 6D 63 D1

Slave 01, funzione 03, indirizzo iniziale 0000, quantità 000A. Il CRC è 0xCDC5 e Modbus invia per primo il byte basso, quindi sulla linea va C5 CD. Nella risposta, 14 è il numero di byte (20 byte = 10 registri) e gli ultimi due byte sono di nuovo un CRC con il byte basso per primo. Il dispositivo demo risponde esattamente in questo formato.

Il testo cinese stampato da un microcontrollore appare come caratteri senza senso

Ricevuto: CE C2 B6 C8 3A 32 35 A1 E6 0D 0A
Come UTF-8: �¶�:25��
Come GBK: 温度:25℃

Gli stessi byte sono illeggibili come UTF-8 e si leggono 温度:25℃ (temperatura: 25 °C) come GBK. Non c'è nulla di corrotto: i due estremi semplicemente non concordano sulla codifica. Lo strumento se ne accorge e propone di cambiarla.

Trama di un protocollo custom con checksum XOR

Invio (HEX, aggiungi XOR / BCC): AA 55 01 02
Byte scritti: AA 55 01 02 FC

XOR combina tra loro tutti i byte del payload: AA ⊕ 55 ⊕ 01 ⊕ 02 = FC. Il checksum copre ogni byte presente nel campo di input; se il tuo protocollo esclude l'header dal calcolo, calcola quel checksum a parte e scrivilo tu.

Come si usa il terminale seriale online

  1. 1

    Collega il dispositivo

    Collega la scheda o l'adattatore USB-seriale al computer. Su Windows dovrebbe comparire una nuova porta COM in Gestione dispositivi, sotto Porte (COM e LPT); se non compare, manca il driver oppure il cavo è solo di ricarica.

  2. 2

    Allinea le impostazioni della porta

    Baud rate, bit di dati, parità e bit di stop devono corrispondere al firmware: 115200 8N1 e 9600 8N1 sono i più comuni. Le impostazioni sono bloccate durante la connessione; disconnettiti per modificarle.

  3. 3

    Seleziona la porta e connettiti

    Fai clic su Seleziona porta e connetti e scegli la porta nell'elenco del browser. La barra di stato indica il produttore del chip in base al vendor ID USB, per esempio WCH (QinHeng) o Silicon Labs CP210x. Niente hardware? Fai clic su Dispositivo demo.

  4. 4

    Osserva i dati in arrivo

    La vista Testo mostra una riga per ogni riga ricevuta, ciascuna con un timestamp al millisecondo. Per i protocolli binari passa alla vista HEX, che separa le trame sulle pause. Se il testo è illeggibile, segui il suggerimento sulla codifica.

  5. 5

    Invia, poi salva il log

    Scegli Testo o HEX, un fine riga e un checksum, controlla l'anteprima dei byte e premi Ctrl+Invio. Usa l'invio temporizzato per il polling. Quando hai finito, fai clic su Salva log per esportare tutto.

Problemi seriali comuni: caratteri illeggibili, nessuna risposta, porta che non si apre

Il testo cinese appare come caratteri senza senso

Il dispositivo invia GBK ma il terminale decodifica in UTF-8, quindi ogni carattere cinese diventa un carattere sostitutivo o un simbolo casuale. I dati sono integri: leggili con la codifica giusta.

✗ Errato
Codifica: UTF-8
Visualizzato: �¶�:25��
✓ Corretto
Codifica: GBK
Visualizzato: 温度:25℃

Il comando AT non riceve risposta

Il firmware AT di ESP8266 ed ESP32 inizia ad analizzare un comando solo dopo \r\n. Con il fine riga impostato su Nessuno, sono stati scritti solo i due byte 41 54.

✗ Errato
41 54
✓ Corretto
41 54 0D 0A

Lo slave Modbus non risponde

Una trama RTU richiede un CRC corretto con il byte basso per primo, e nient'altro dopo. Senza CRC, con i suoi byte invertiti o con il fine riga 0D 0A ancora attivo in modalità HEX, lo slave scarta la trama come corrotta e non risponde nulla.

✗ Errato
01 03 00 00 00 0A CD C5
✓ Corretto
01 03 00 00 00 0A C5 CD

Tutto è illeggibile, anche lettere e cifre

Raramente è un problema di codifica. Il baud rate — oppure i bit di dati o la parità — non corrisponde al dispositivo, quindi ogni byte viene campionato negli istanti sbagliati; con un baud rate doppio o dimezzato rispetto al dispositivo di solito ricevi molti meno o molti più byte di quelli inviati, quasi tutti senza senso. Usa i valori impostati nel firmware.

✗ Errato
Terminale 57600 8N1, dispositivo 115200 8N1
✓ Corretto
Terminale 115200 8N1, dispositivo 115200 8N1

Quando serve un terminale seriale nel browser

Output di debug di Arduino ed ESP32
Leggi ciò che stampa Serial.println() — letture dei sensori, cambi di stato — con timestamp al millisecondo per seguire l'ordine di esecuzione.
Log printf di STM32 e 8051
Nei progetti in lingua cinese, printf rediretto su una USART stampa spesso in GBK. Cambia la codifica qui invece di modificare il firmware.
Messa in servizio di dispositivi Modbus RTU
Comunica con contatori e PLC tramite un adattatore RS-485-USB: invia HEX con il CRC aggiunto e vedi le risposte separate in trame. I registri che contengono valori in virgola mobile arrivano come quattro byte grezzi in formato IEEE 754.
Configurazione di moduli a comandi AT
Invia comandi AT a moduli Wi-Fi, cellulari e Bluetooth con il fine riga corretto e tieni i comandi frequenti nella cronologia di invio per reinviarli con un clic.
Verifiche rapide su macchine senza i tuoi strumenti
Su un PC aziendale bloccato, una postazione di laboratorio condivisa, un Mac o una macchina Linux, apri la pagina e sei pronto. Per leggere l'HEX catturato come testo in altre codifiche, incollalo in Da Hex a Testo.

Come funzionano la comunicazione seriale e Web Serial

Come la Web Serial API apre una porta
Il browser apre la porta tramite il driver seriale del sistema operativo — una porta COM su Windows, /dev/cu.* su macOS, /dev/ttyUSB* o /dev/ttyACM* su Linux — e passa alla pagina due flussi di byte: un ReadableStream per i dati in arrivo e un WritableStream per quelli in uscita. L'accesso viene concesso porta per porta e solo tramite il selettore del browser; una pagina non può elencare da sola le porte seriali del tuo computer.
8N1 e il baud rate
8N1 significa 8 bit di dati, nessuna parità, 1 bit di stop. Con il bit di start, ogni byte occupa 10 bit sulla linea, quindi a 115200 baud passano al massimo circa 11520 byte al secondo e a 9600 baud circa 960. Una forte differenza di baud rate, o bit di dati o parità non corrispondenti, rende i dati illeggibili (Windows segnala anche errori di framing).
Perché le trame vanno separate
Una linea seriale non ha il concetto di pacchetto. Il chip USB-seriale raccoglie i byte ricevuti in pacchetti USB e ogni lettura del browser restituisce uno di questi blocchi: una trama può arrivare in due blocchi, oppure più trame in un blocco solo. La vista HEX ridivide il flusso in base al tempo di inattività tra un blocco e l'altro. Il browser sa solo quando ogni blocco è arrivato alla pagina, non quando ogni byte ha attraversato la linea, perciò la soglia di default è 50 ms; regolala sul tuo protocollo. Modbus RTU richiede di per sé almeno 3.5 tempi di carattere di silenzio tra le trame — circa 4 ms a 9600 baud — che un browser non può misurare con tale precisione: la separazione sulle pause è un'approssimazione, non un rilevatore di trame conforme a Modbus.
Byte UTF-8 e byte GBK
温度 (temperatura) è E6 B8 A9 E5 BA A6 in UTF-8, tre byte per carattere, e CE C2 B6 C8 in GBK, due byte per carattere. I byte di un carattere possono essere divisi tra due letture, perciò la decodifica avviene in streaming e conserva una coda incompleta per il blocco successivo; cambiare codifica ridecodifica a partire dai byte grezzi.
Come funzionano i tre checksum
CRC-16/MODBUS: polinomio 0x8005 (0xA001 in forma riflessa), valore iniziale 0xFFFF, input e output riflessi, nessuno XOR finale, inviato con il byte basso per primo. XOR (BCC): tutti i byte combinati in XOR in un solo byte. SUM8: tutti i byte sommati, tenendo solo gli 8 bit meno significativi. Tutti e tre coprono solo il payload, mai il fine riga aggiunto dopo.

Consigli per il debug seriale

Controlla le impostazioni prima della codifica
Quando l'output è illeggibile, verifica prima che baud rate, bit di dati, parità e bit di stop corrispondano al dispositivo. Con impostazioni sbagliate nessuna codifica darà un testo leggibile.
Usa la vista HEX per i protocolli binari
Protocolli come Modbus sono pieni di byte 00, 0D e 0A che la vista testo tratta come a capo o caratteri di controllo — la tabella ASCII li elenca tutti. Passa alla vista HEX e imposta l'intervallo di separazione delle trame poco sopra la pausa di risposta del dispositivo.
Usa la stessa codifica nel firmware e nel terminale
Nei nuovi progetti salva i file sorgente in UTF-8, così i log si leggono correttamente ovunque. Per i progetti GBK esistenti, imposta qui la codifica su GBK una volta sola; lo strumento se la ricorda.
Conserva il log HEX grezzo
Quando insegui guasti intermittenti, il log esportato conserva i byte grezzi e il timestamp al millisecondo di ogni blocco. Salvare solo il testo decodificato congelerebbe nel file la scelta della codifica.
Non impostare un intervallo di invio temporizzato troppo breve
L'intervallo deve superare il tempo che serve al dispositivo per elaborare un comando e rispondere, altrimenti le richieste si accumulano e le risposte non corrispondono più. Prendi il tempo di risposta dal manuale del dispositivo e lascia un margine.

Domande frequenti sul terminale seriale

Devo scaricare o installare qualcosa?
In Chrome o Edge no: la pagina usa la Web Serial API integrata nel browser, senza client desktop né estensioni. In Firefox 151 e successivi installi prima il componente aggiuntivo per i permessi del sito che ti viene proposto: è il meccanismo di autorizzazione del browser, non un driver seriale. In ogni caso ti serve il driver del chip seriale: se in Gestione dispositivi compare una porta COM, il driver funziona; altrimenti scaricalo dal sito del produttore del chip.
Quali browser funzionano? Si può usare da telefono?
Chrome, Edge e Opera su desktop (Chrome 89 e successivi) si collegano direttamente. Funziona anche Firefox 151 e successivi su desktop, dopo aver installato il componente aggiuntivo per i permessi del sito che ti chiede. Safari e iOS non supportano Web Serial. Chrome per Android 138+ espone solo le porte seriali Bluetooth (RFCOMM); per la seriale USB via cavo serve Chrome 148+ su Android 17, e il telefono stesso deve rendere disponibili le porte seriali via cavo. Dove la pagina non può connettersi lo dice, e il dispositivo demo funziona comunque.
I dati seriali vengono caricati su un server?
No. È il browser a leggere e scrivere direttamente sulla porta, e lo strumento non invia mai ai nostri server i byte che invii o ricevi. La cronologia di invio e le impostazioni restano salvate nel tuo browser.
Dopo aver fatto clic su Seleziona porta e connetti l'elenco delle porte è vuoto. Che faccio?
Il sistema operativo non ha rilevato nessun dispositivo seriale. Controlla che il cavo trasporti dati e non solo alimentazione, e che la scheda sia alimentata. Su Windows dovrebbe comparire una porta COM in Gestione dispositivi; se non compare, installa il driver del chip (CH340, CP2102 e così via).
Perché la porta non si apre?
Il browser segnala ogni errore con lo stesso messaggio, Failed to open serial port., quindi la causa va trovata per esclusione. Una causa comune è un altro programma che tiene occupata la porta: chiudi gli altri programmi seriali, il monitor seriale dell'Arduino IDE, un IDE in debug o un'altra scheda del browser in cui è aperto questo strumento. Su Linux il tuo utente deve far parte del gruppo dialout (uucp su Arch). Controlla anche che il dispositivo sia ancora collegato e prova un baud rate standard: alcuni driver rifiutano i valori insoliti.
Come si risolve il testo cinese illeggibile?
Guarda prima le lettere latine e le cifre. Se sono corrette e solo il cinese è illeggibile, è un problema di codifica: un caso comune è un dispositivo che invia GBK. Lo strumento se ne accorge, propone di cambiare codifica e ridisegna quanto già ricevuto. Se anche lettere e cifre sono illeggibili, il baud rate o un'altra impostazione non corrisponde al dispositivo.
Come invio in HEX? Quali formati sono accettati?
Passa la modalità di invio a HEX e scrivi 01 03 00 0A, 0x01,0x03 o 0103000A, in maiuscolo o in minuscolo. I caratteri non validi come G e i numeri dispari di cifre vengono segnalati, mai saltati, e i byte da scrivere compaiono in anteprima sotto il campo.
Come aggiungo un CRC Modbus, e perché il byte basso va per primo?
Imposta Aggiungi checksum su CRC-16/MODBUS e scrivi solo indirizzo, codice funzione e dati; il CRC viene aggiunto in coda. Modbus RTU invia il CRC con il byte basso per primo: 0xCDC5 esce come C5 CD.
Perché una trama è spezzata su due righe, o più trame finiscono in una sola?
La vista HEX separa le trame in base al tempo di inattività tra un arrivo e l'altro, 50 ms di default. Se il dispositivo fa una pausa più lunga a metà trama, la trama si spezza; se le trame si susseguono più ravvicinate, si uniscono. Imposta l'intervallo di separazione sopra la pausa interna alla trama e sotto la distanza tra una trama e l'altra.
Cosa sono DTR e RTS, e perché la mia scheda si è resettata quando mi sono connesso?
DTR e RTS sono due linee di controllo seriali che molte schede collegano al circuito di reset. Quando Chrome apre una porta imposta entrambe le linee come attive — un dettaglio di implementazione, non un requisito dello standard — quindi le schede che si resettano su DTR, come Arduino Uno, di solito si resettano una volta alla connessione, e una pagina web non può impedirlo. Nel comune circuito di auto-programmazione dell'ESP32 il chip funziona normalmente quando entrambe le linee sono attive e resta in reset solo quando RTS è attivo e DTR no. Usa gli interruttori dopo la connessione; se un ESP32 smette di trasmettere, controlla di non aver disattivato solo DTR.
Posso aprire la stessa porta contemporaneamente in un altro programma seriale?
Su Windows no: una porta COM può essere aperta da un solo programma alla volta. Su Linux e macOS dipende da se il primo programma ha richiesto l'accesso esclusivo. Se l'ha fatto, l'apertura della porta qui fallisce; altrimenti la aprono entrambi i programmi e si dividono i dati in arrivo, il che sembra una perdita di byte. Usa un programma alla volta.
Sono supportati baud rate personalizzati?
Sì. L'ultima voce dell'elenco è Personalizzato, dove puoi inserire qualsiasi valore, per esempio 74880: il baud rate con cui stampa la boot ROM dell'ESP8266. Il browser passa il valore così com'è; che funzioni dipende dal chip USB-seriale e dal suo driver. Alcuni lo arrotondano al valore supportato più vicino, e su alcuni sistemi la porta a quel punto non si apre.
Che cos'è il dispositivo demo?
Un microcontrollore simulato integrato nella pagina, così non serve hardware. Alla connessione stampa un messaggio di avvio in GBK — una dimostrazione pronta del suggerimento sulla codifica — e poi invia una temperatura ogni 2 secondi. Risponde OK ad AT ed ERROR agli altri comandi AT. Risponde a una lettura Modbus con funzione 03 indirizzata allo slave 1 con un CRC corretto; come uno slave reale, resta in silenzio se il CRC è sbagliato o se la trama è per un altro indirizzo. Tutto il resto viene rimandato in eco.

Strumenti correlati

Vedi tutti gli strumenti →