Cookie
Electronic Team, Inc. uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

Porte Seriali su Linux – Guida Completa

Editorial Team Editorial Team
Aggiornato: Dec 3, 2025

In questa guida vedrai come connetterti a un dispositivo seriale su Linux e come collegare facilmente dispositivi seriali locali a un computer remoto. Utilizzeremo come esempio una stampante di ricevute compatibile ESC/POS.

14-giorni disponibili di prova gratuita
Il prezzo della licenza parte da $259.95
Disponibile per
usb a desktop remoto

Controllo delle Porte

Le porte seriali sono una tipologia di dispositivi seriali. Il comando dmesg ti consente di verificare se un dispositivo seriale è stato rilevato e riconosciuto dal sistema operativo. Se è presente, sarà elencato nell'output del comando.

Poiché dmesg mostra tutti i dispositivi di sistema, possiamo filtrare l’output con grep, che cerca righe di testo contenenti parole chiave specifiche. I nomi delle porte seriali su Linux iniziano con “ttyS”, quindi possiamo utilizzarlo come parametro di ricerca. Colleghiamo dmesg e grep con una pipe (|) e aggiungiamo sudo per i privilegi di superutente:

sudo dmesg | grep tty
schermata 1
I dispositivi verranno elencati insieme ai nomi dei file associati, situati in /dev, come ttyS0 o ttyS1. Questi file verranno poi usati per specificare la porta seriale nei comandi. Se il dispositivo non appare, dmesg può indicare un problema tecnico.

Interazione con Dispositivi Seriali

Utilizzo di strumenti standard

Su Linux, le porte seriali sono rappresentate da file, quindi è possibile utilizzare comandi standard come echo e cat per interagire con esse. Il comando stty permette invece di configurare la porta.

Con stty, puoi impostare la velocità in baud, il numero di bit dati, la parità, il tipo di handshake (controllo di flusso), e altri parametri. I parametri devono corrispondere a quelli del dispositivo o applicazione per stabilire una connessione corretta.

Per visualizzare la configurazione attuale della porta, usa:

sudo stty -a -F <tuo_dispositivo>
schermata 2
Ecco un esempio per impostare la porta ttyS0 a 9600 baud, 8 bit, e handshake RTS/CTS:

sudo stty -F /dev/ttyS0 9600 cs8 crtscts

Una volta configurata, è possibile inviare dati alla porta usando echo. Ad esempio:

echo ‘TESTO’ > /dev/ttyS0

Tuttavia, per fare ciò, devi accedere come superutente. Puoi farlo con il comando su -.

Nel nostro caso, per utilizzare appieno la stampante collegata, sono necessari simboli ASCII speciali, come ESC e Carriage Return. Un modo per farlo è utilizzare l’argomento -e di echo e le sequenze di escape. Una sequenza di escape per caratteri ASCII si inizia con \x, seguita da un numero esadecimale che corrisponde al carattere.
Ad esempio, ecco come può essere stampata la parola “TEXT” con sequenze di escape:

echo -e '\x54\x45\x58\x54'‘

Invieremo i seguenti messaggi:

1B 40 (ESC @, Inizializza)
1B 6D (ESC m, Taglio completo)
4C 49 4E 45 20 31 ("LINEA 1")
1B 21 80 (Abilita sottolineatura)
4C 49 4E 45 20 32 ("LINEA 2")
0D 0A (A capo)
1B 40 (Taglio completo)
L’argomento -e è necessario per abilitare le sequenze di escape esadecimali \x. Questo è ciò che vedrai nel terminale e nel risultato stampato.
schermata 3
Mentre echo può essere utilizzato per inviare dati su una connessione seriale, cat può essere usato per riceverli. Nel nostro caso, la stampante risponderà a richieste ESC/POS standard per informazioni sullo stato e l'ID. Dobbiamo quindi catturare queste risposte. Prima avviamo cat, ascoltando il dispositivo ttyS0 e reindirizzando l’output su un file di testo:

cat /dev/ttyS0 > file_esempio

L’applicazione deve rimanere in esecuzione per ricevere i dati, quindi bisogna aprire una nuova finestra o scheda del Terminale per inviare le richieste al nostro dispositivo. Usiamo echo per inviare quanto segue:

1D 49 31 (Richiedi ID modello)
1D 49 32 (Richiedi ID tipo)
Poiché le risposte verranno fornite in formato esadecimale, l'output diretto di cat, registrato nel file "file_esempio", non sarà leggibile direttamente. Invece, eseguiamo il file tramite hexdump:
schermata 4

Utilizzo di gtkterm

Linux mette a disposizione terminali seriali come minicom e gtkterm, strumenti potenti che consentono un’interazione completa con le porte seriali. Questi terminali gestiscono input e output, offrono opzioni avanzate di formattazione e semplificano notevolmente il lavoro con i dispositivi seriali connessi.

Come esempio pratico, useremo gtkterm. Così come per stty, anche gtkterm può essere avviato con argomenti da linea di comando per specificare i parametri di connessione, nel caso in cui le impostazioni predefinite non siano adatte.
schermata 5
Alcune opzioni utili includono l’echo locale (per duplicare i dati inviati sul proprio terminale), la registrazione delle sessioni, la visualizzazione esadecimale, e la possibilità di inviare dati in formato esadecimale. Inoltre, è importante notare gli indicatori in basso a destra – mostrano lo stato delle linee di segnale DTR, RTS, CD, DSR e RI – fornendo un ulteriore metodo per verificare che il dispositivo sia collegato correttamente e pronto a ricevere dati.
screen 6

Connessione a una Porta Seriale nella Rete Locale

Hai un dispositivo seriale che deve essere condiviso tra più computer? Oppure vuoi stabilire una connessione seriale tra due applicazioni remote? Serial to Ethernet Connector per Linux è una soluzione semplice. Oltre a connettere porte fisiche, l’applicazione può creare porte virtuali accessibili da qualsiasi software.

Facile da usare e ricco di funzionalità, Serial to Ethernet Connector può essere configurato in pochi minuti. Una documentazione dettagliata, guide pratiche e supporto tecnico esperto sono a tua disposizione. Inoltre, è disponibile una prova gratuita di 15 giorni, quindi puoi testarlo senza alcun rischio.

Come utilizzare Serial to Ethernet Connector

1
Registrati per una prova gratuita a questa pagina. Attendi l’arrivo del codice di attivazione nella tua casella di posta.
Iscriviti per una prova gratuita
2
Vai al Centro Download. Scegli il programma di installazione adatto alla tua distribuzione Linux e architettura di sistema.
Vai al Centro Download
3
Apri il Terminale, vai alla directory del file scaricato e usa i seguenti comandi per sistemi basati su Debian (sono richiesti i privilegi di superutente):

dpkg -i serial_ethernet_connector_64.deb
apt-get install -f


Oppure, per Fedora o CentOS:

sudo rpm -i serial_ethernet_connector_64.rpm

Una volta terminata l’installazione, riavvia il computer.
4
Usa il codice di attivazione eseguendo il comando:

evesecli register <your activation code>

Puoi verificare l’attivazione eseguendo:

evesecli license

Questi passaggi di installazione e attivazione devono essere eseguiti su entrambe le macchine da collegare.
Usa il tuo codice di attivazione
5
Poiché invieremo messaggi tra due applicazioni, creeremo porte virtuali sia sul server che sul client. Inizia eseguendo il comando seguente sul server:

evesecli add -v /tmp/ttyLS0 server --local 5000

Il comando “start” avvierà la connessione:

evesecli start /tmp/ttyLS0

Inoltre, sarà necessario conoscere l’indirizzo IP della tua macchina sulla rete locale. Esegui il comando “hostname -I” (I maiuscola).
creare porte virtuali sia per il server che per il client
6
Sul computer client, esegui il seguente comando:

evesecli add -v /tmp/ttyRS0 client --remote :5000
evesecli start /tmp/ttyRS0


Puoi verificare se la connessione è riuscita utilizzando “evesecli list”. Il risultato dovrebbe mostrare che esiste 1 connessione attiva.
verificare se la connessione è stata effettuata con successo
7
Infine, poiché le porte collegate sono virtuali, possono essere testate, come in precedenza, con i comandi cat/echo.
Poiché le porte connesse sono entrambe virtuali, possono essere testate
Non dimenticare che puoi usare il comando “man evesecli” per ottenere maggiori informazioni su opzioni e comandi disponibili. Inoltre, è disponibile una guida utente consultabile con esempi e informazioni pratiche sull’utilizzo di Serial to Ethernet Connector.
Serial to Ethernet Connector
Access remote serial port over IP Network for Windows
14-giorni disponibili di prova gratuita
Il prezzo della licenza parte da $259.95
Disponibile per