Collegare una porta seriale RS-232

Da raspibo.
Versione del 6 dic 2015 alle 08:25 di Dave4rp (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search

Il Raspberry PI ha una interfaccia seriale gia' pronta funzionante e configurata di default come linea terminale. Infatti se interfacciata e collegata correttamente, appena un terminale (reale o virtuale) viene connesso compare la richiesta di login.

Il problema e' che la linea seriale di Raspberry PI fornisce segnali a 3.3v mentre lo standard RS-232 prevede che i segnali abbiano una differenza di potenziale di +15V/-15V.

Attenzione: non collegate direttamente le linee della porta seriale del Raspberry PI ad una porta RS232, il Raspberry PI si danneggerebbe!

Fortunatamente esiste un integrato (disegnato dalla Maxim), il MAX3232, capace di fare la conversione dei segnali da 3.3v allo standard RS232 facendo uso di alcuni condensatori.

Lo schema elettrico e' questo: Pi3232.png

E vi delizio anche con la foto del mio prototipo fatto su millefori: Fotopi3232.jpg

Io ho usato condensatori poliestere (anche se le specifiche dicono di usare elettrolitici, tantalio o ceramici). Sembra funzionare bene. Domanda per Elettronici Pro: cosa cambia?

Una volta collegato al mio portatile ho digitato:

screen /dev/ttyS0 115200

E' comparso uno schermo vuoto ma al primo "return" compare:


Debian GNU/Linux 7.0 raspberrypi ttyAMA0

raspberrypi login: 

si puo' fare login dalla porta seriale.

(terminare la sessione screen non e' proprio intuivo: occorre digitale <ctrl>A poi '\' e in fondo chiedera' conferma per chiudere la sessione, rispondere 'y').

se volete usare il Raspberry PI per controllare un altro computer, come nel caso del progetto remote console, occorre evitare che Raspberry PI attivi il programma per il login sulla porta seriale.

Per fare questo occorre commentare nel file /etc/inittab l'ultima riga, aggiungendo in testa il carattere #:

# T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Perche' questa direttiva venga considerata dal processo init occorre o far reboot al Raspberry PI o piu' semplicemente dare il comando:

# kill -1 1

(Questo comando chiede ad init di ricaricare il file di configurazione).