Sommario:

Raspberry PI 3 - Abilita le comunicazioni seriali da TtyAMA0 a BCM GPIO 14 e GPIO 15: 9 passaggi
Raspberry PI 3 - Abilita le comunicazioni seriali da TtyAMA0 a BCM GPIO 14 e GPIO 15: 9 passaggi

Video: Raspberry PI 3 - Abilita le comunicazioni seriali da TtyAMA0 a BCM GPIO 14 e GPIO 15: 9 passaggi

Video: Raspberry PI 3 - Abilita le comunicazioni seriali da TtyAMA0 a BCM GPIO 14 e GPIO 15: 9 passaggi
Video: Voice Recognition Raspberry PI and Arduino UART communication 2024, Dicembre
Anonim
Raspberry PI 3 - Abilita le comunicazioni seriali da TtyAMA0 a BCM GPIO 14 e GPIO 15
Raspberry PI 3 - Abilita le comunicazioni seriali da TtyAMA0 a BCM GPIO 14 e GPIO 15
Raspberry PI 3 - Abilita le comunicazioni seriali da TtyAMA0 a BCM GPIO 14 e GPIO 15
Raspberry PI 3 - Abilita le comunicazioni seriali da TtyAMA0 a BCM GPIO 14 e GPIO 15

Di recente ho avuto interesse ad abilitare UART0 sul mio Raspberry Pi (3b) in modo da poterlo collegare direttamente a un dispositivo a livello di segnale RS-232 utilizzando un connettore d-sub standard a 9 pin senza dover passare da USB a RS-232 adattatore.

Parte del mio interesse qui era anche poter collegare un convertitore di livello RS-232 (MAX3232) o un dispositivo RS-485 (MAX485).

Ho fatto un po' fatica a far funzionare la configurazione di Pi. Non ho molta esperienza con il Raspberry Pi, o il suo sistema operativo, quindi ero su una curva di apprendimento abbastanza ripida.

Alla fine, attraverso le ricerche su Google insieme a "Trial and Error", sono riuscito a mettere insieme tutti i dettagli per farlo funzionare in modo soddisfacente, ma le informazioni non erano in un documento conciso che conteneva tutti i passaggi per farlo accadere.

Sto elencando qui i passaggi che ho preso per fare questo lavoro per me.

Forniture

1 - Lampone Pi. Ho usato un modello 3b.. ma questa procedura dovrebbe funzionare con la maggior parte dei Pi, specialmente quelli con le ultime versioni di Raspberry Pi IOS (precedentemente Raspian).

2 - Un "mini" convertitore di livello RS-232 - da TTL a RS-232 - Ho usato un piccolo PCB caricato con un IC MAX 3232 su di esso che ho acquistato da eBay.. L'ho anche provato con successo con un TTL su RS-485 convertitore - acquistato anche da eBay.

Una volta che il Pi è stato configurato, entrambi i convertitori hanno funzionato con mia soddisfazione senza problemi da me riscontrati.

Passaggio 1: installa una nuova copia su Raspbian sulla tua scheda di memoria

Installa una nuova copia su Raspbian sulla tua scheda di memoria
Installa una nuova copia su Raspbian sulla tua scheda di memoria

Ho iniziato installando una copia fresca/più aggiornata di Raspberry Pi IOS (precedentemente Raspian) sulla mia scheda di memoria. Ho scelto di non seguire il percorso NOOBS.

Scarica e installa lo strumento Imager

www.raspberrypi.org/downloads/

Scarica, decomprimi e installa sulla tua scheda di memoria l'immagine IOS Raspberry Pi.

Dopo l'avvio, controlla e aggiorna come richiesto…

Passaggio 2: abilitare la porta seriale Raspberry Pi - Utilizzando la GUI

Abilita la porta seriale Raspberry Pi - Usando la GUI
Abilita la porta seriale Raspberry Pi - Usando la GUI
Abilita la porta seriale Raspberry Pi - Usando la GUI
Abilita la porta seriale Raspberry Pi - Usando la GUI

Per impostazione predefinita, su una nuova installazione IOS Raspberry Pi UART0 è riservato per "Logon Shell". Questo ha lo scopo di darti un po 'di accesso / controllo del Pi tramite una combinazione di programma porta seriale / terminale.

Per utilizzare UART0 per altre applicazioni, è necessario "disattivare" tale connessione a Logon Shell. Ciò si verifica in un paio di passaggi abbastanza semplici.

Il modo più rapido per abilitare la "porta seriale" è farlo tramite la GUI.

Dal "Raspberry - Menu a discesa", seleziona "Preferenze", quindi "Configurazione Raspberry Pi"

Da lì, vai alla scheda "Interfacce" e "Abilita" la porta seriale (facendo clic sul pulsante di opzione appropriato.

Fare clic su OK per uscire, quindi eseguire un riavvio.

OPPURE.. puoi seguire questo metodo…

Passaggio 3: un metodo alternativo per abilitare la porta seriale (e disabilitare la shell di accesso)

Un metodo alternativo per abilitare la porta seriale (e disabilitare la shell di accesso)
Un metodo alternativo per abilitare la porta seriale (e disabilitare la shell di accesso)
Un metodo alternativo per abilitare la porta seriale (e disabilitare la shell di accesso)
Un metodo alternativo per abilitare la porta seriale (e disabilitare la shell di accesso)
Un metodo alternativo per abilitare la porta seriale (e disabilitare la shell di accesso)
Un metodo alternativo per abilitare la porta seriale (e disabilitare la shell di accesso)
Un metodo alternativo per abilitare la porta seriale (e disabilitare la shell di accesso)
Un metodo alternativo per abilitare la porta seriale (e disabilitare la shell di accesso)

Questo metodo è di riferimento, non necessario ma utile a sapersi.

== == ==

Un metodo alternativo per disabilitare la console utilizzando UART0 all'avvio.

utilizzo:

sudo raspi-config

Scegli l'opzione n. 5 - Opzioni di interfaccia ==> Seleziona

Scegli Seriale P6 ==> Seleziona

Rispondi NO a: Vuoi che una shell di login sia accessibile tramite il seriale?

Rispondi SI a: Vuoi che l'hardware della porta seriale sia abilitato?

La risposta sarà:

La shell di accesso seriale è disabilitata

L'interfaccia seriale è abilitata

Seleziona OK

Seleziona Fine

Passaggio 4: disabilita il Bluetooth: rilascia UART0 e liberalo per TtyAMA0

Disattiva Bluetooth - Rilascia UART0 e liberalo per TtyAMA0
Disattiva Bluetooth - Rilascia UART0 e liberalo per TtyAMA0
Disattiva Bluetooth - Rilascia UART0 e liberalo per TtyAMA0
Disattiva Bluetooth - Rilascia UART0 e liberalo per TtyAMA0
Disattiva Bluetooth - Rilascia UART0 e liberalo per TtyAMA0
Disattiva Bluetooth - Rilascia UART0 e liberalo per TtyAMA0

La seconda parte del processo consiste nel disconnettere anche il Bluetooth da UART0.

Per questa pagina "CONFIGURAZIONE UART" dovrai disconnettere il dispositivo Bluetooth da UART0 e liberare UART0 per ttyAMA0 - Se necessario puoi spostare il Bluetooth sul "mini-UART"

Procedi modificando il file denominato "config.txt" (che si trova nella directory "boot") e aggiungi UNA riga in fondo alla pagina:

dtoverlay=disable-bt

A seconda della tua situazione e del desiderio di utilizzare il Bluetooth, potresti voler aggiungere la seguente riga (ma non è necessario che questo tutorial funzioni correttamente). Questa pagina contiene anche preziosi dettagli su tutta questa attività. Per favore, prenditi il tempo necessario per leggere il file collegato (vedi sopra) per ottenere una certa comprensione di questo.

dtoverlay=miniuart-bt

Ricontrolla l'ortografia, quindi SALVA il file mentre esci e riavvia.

A questo punto dovresti essere a posto.

Passaggio 5: pin-out RPI per la porta UART

Pin-out RPI per la porta UART
Pin-out RPI per la porta UART

Per il sito Web "pinout.xyz" i pin UART0 di Raspberry Pi sono accessibili sui seguenti pin.

I pin UART in modalità BCM sono: RPI Pin #8 / GPIO14 ==> TXD

Pin 10 RPI / GPIO15 ==> RXD

Si ricorda che per questi pin si tratta di "livelli TTL da 3,3 Volt".. questi NON POSSONO essere utilizzati per pilotare e ricevere da un dispositivo di livello RS-232 o RS-422/RS-485. Il tentativo di farlo PROVOCHERÀ il burn-out del tuo UART integrato e molto probabilmente porterà con sé il chip del processore.

DEVI usare un convertitore di livello.

Per connettersi a un dispositivo di livello RS-232 o RS-422/RS-485 è necessario un convertitore di livello appropriato.

Passaggio 6: aggiunta di un dispositivo convertitore da livello RS-232 a livello TTL al tuo Raspberry Pi

Aggiunta di un dispositivo convertitore da livello RS-232 a livello TTL al tuo Raspberry Pi
Aggiunta di un dispositivo convertitore da livello RS-232 a livello TTL al tuo Raspberry Pi
Aggiunta di un dispositivo convertitore da livello RS-232 a livello TTL al tuo Raspberry Pi
Aggiunta di un dispositivo convertitore da livello RS-232 a livello TTL al tuo Raspberry Pi
Aggiunta di un dispositivo convertitore da livello RS-232 a livello TTL al tuo Raspberry Pi
Aggiunta di un dispositivo convertitore da livello RS-232 a livello TTL al tuo Raspberry Pi

Per le conversioni dei livelli da TTL a RS-232 utilizzo il seguente convertitore.

Un convertitore di livello da Mini RS232 a TTL basato su MAX3232.

Questo articolo può essere alimentato da 3,3 V CC o anche 5 V CC (entrambi disponibili da pin specifici sul tuo RPI) e in realtà utilizza pochissima corrente.

Il datasheet del MAX3232 fornisce dettagli preziosi sul suo funzionamento, ma in realtà non è richiesta alcuna codifica per farlo funzionare

Fare riferimento alle foto allegate e dedicare del tempo a collegare con cura i pin Raspberry Pi ai pin appropriati sul modulo. Sappi solo che questo dispositivo funzionerà a 3,3 V CC o 5 V CC, entrambi disponibili sull'RPI (fare riferimento al diagramma Pin-out).

AVVERTIMENTO:

Ho acquistato un sacco di 10 di queste unità da eBay e NON sono riuscito a far funzionare nessuna di esse. In superficie sembra che dovrebbe essere abbastanza facile usarli, ma no. Dopo aver lottato un po' con loro, ho trovato molti dettagli su FAKE MAX3232 disponibili on-line.

www.eevblog.com/forum/reviews/fake-max3232-any-additional-details/…

NON consiglio questo articolo.

Passaggio 7: aggiunta di un dispositivo convertitore da livello RS-485 a livello TTL al tuo Raspberry Pi

Aggiunta di un dispositivo convertitore da livello RS-485 a livello TTL al tuo Raspberry Pi
Aggiunta di un dispositivo convertitore da livello RS-485 a livello TTL al tuo Raspberry Pi
Aggiunta di un dispositivo convertitore da livello RS-485 a livello TTL al tuo Raspberry Pi
Aggiunta di un dispositivo convertitore da livello RS-485 a livello TTL al tuo Raspberry Pi
Aggiunta di un dispositivo convertitore da livello RS-485 a livello TTL al tuo Raspberry Pi
Aggiunta di un dispositivo convertitore da livello RS-485 a livello TTL al tuo Raspberry Pi

Simile nella maggior parte dei modi al passaggio precedente, l'aggiunta di un convertitore di livello RS-485 è altrettanto semplice, forse anche più semplice.

Per le conversioni dei livelli da TTL a RS-232 utilizzo il seguente convertitore.

Un MAX485 basa il convertitore da livello RS485 a livello TTL. Anche in questo caso questo articolo può essere alimentato da 3,3 V CC o anche 5 V CC (entrambi disponibili da pin specifici sul tuo RPI) e in realtà utilizza pochissima corrente. La scheda tecnica del MAX485 fornisce dettagli preziosi sul suo funzionamento, ma in realtà non è necessaria alcuna codifica per farlo funzionare

Fare riferimento alle foto allegate e dedicare del tempo a collegare con attenzione i pin Raspberry Pi ai pin appropriati sul modulo. Sappi solo che questo dispositivo funzionerà a 3,3 V CC o 5 V CC, entrambi disponibili sull'RPI (fare riferimento al diagramma Pin-out).

Da notare: a differenza di RS-232, RS-485 non ha un tipo di connettore "standard" ad esso associato. La nomenclatura è tipicamente "B-" e "A+", ma tieni presente che non tutti i fornitori seguono questa stessa nomenclatura. RS-485 funziona su schema di segnale "Coppia differenziale" - Maggiori dettagli su questo sono disponibili qui. Il "selvaggio west" continua a vivere nella valle RS-485..

Passaggio 8: ora tocca a te

Ora dovresti essere in grado di connettere il tuo Raspberry Pi direttamente a un dispositivo esterno di tua scelta. Ce ne sono MOLTI ancora in uso oggi.

Come farlo dipende da te…

Per cominciare, controlla "Minicom" o "CuteCom" o controlla le possibilità usando "NodeRED".

Passaggio 9: sinossi

Sentiti libero di lasciare commenti o suggerimenti / correzioni. Lo apprezzerei.

Consigliato: