Innholdsfortegnelse:

Raspberry PI 3 - Aktiver seriell kommunikasjon til TtyAMA0 til BCM GPIO 14 og GPIO 15: 9 trinn
Raspberry PI 3 - Aktiver seriell kommunikasjon til TtyAMA0 til BCM GPIO 14 og GPIO 15: 9 trinn

Video: Raspberry PI 3 - Aktiver seriell kommunikasjon til TtyAMA0 til BCM GPIO 14 og GPIO 15: 9 trinn

Video: Raspberry PI 3 - Aktiver seriell kommunikasjon til TtyAMA0 til BCM GPIO 14 og GPIO 15: 9 trinn
Video: RASPBERRY PI 3 KÜHLKÖRPER MONTAGE / AKTIVE KÜHLUNG ANBRINGEN 2024, November
Anonim
Raspberry PI 3 - Aktiver seriell kommunikasjon til TtyAMA0 til BCM GPIO 14 og GPIO 15
Raspberry PI 3 - Aktiver seriell kommunikasjon til TtyAMA0 til BCM GPIO 14 og GPIO 15
Raspberry PI 3 - Aktiver seriell kommunikasjon til TtyAMA0 til BCM GPIO 14 og GPIO 15
Raspberry PI 3 - Aktiver seriell kommunikasjon til TtyAMA0 til BCM GPIO 14 og GPIO 15

Jeg hadde nylig interesse for å aktivere UART0 på min Raspberry Pi (3b) slik at jeg kunne koble den direkte til en RS-232 signalnivåenhet ved hjelp av en standard 9-pinners d-sub-kontakt uten å måtte gå gjennom en USB til RS-232 adapter.

En del av min interesse her var å også kunne koble til enten en RS-232 nivåomformer (MAX3232) eller en RS-485 enhet (MAX485).

Jeg slet litt med å prøve å få Pi -konfigurasjonen til å fungere. Jeg har ikke mye erfaring med Raspberry Pi, eller operativsystemet, så jeg var på en ganske bratt læringskurve.

Etter hvert, gjennom Google -søk sammen med "Prøve og feil", klarte jeg å samle alle detaljene for å få det til å fungere til min tilfredshet, men informasjonen var ikke i et konsist dokument som inneholdt alle trinnene for å få dette til å skje.

Jeg viser her trinnene jeg tok for å få dette til å fungere for meg.

Rekvisita

1 - Bringebær Pi. Jeg brukte en modell 3b.. men denne prosedyren bør fungere med de fleste Pi -er, spesielt de som har de nyeste versjonene av Raspberry Pi IOS (tidligere Raspian).

2 - En "mini" RS -232 nivåomformer - TTL til RS -232 - Jeg brukte en liten PCB lastet med en MAX 3232 IC på den som jeg kjøpte fra eBay.. Jeg har også prøvd dette med en TTL til RS -485. converter - også kjøpt fra eBay.

Når Pi var konfigurert, fungerte begge omformerne til min tilfredshet uten problemer sett av meg.

Trinn 1: Installer en FRISK kopi på Raspbian på minnekortet

Installer en FRISK kopi på Raspbian på minnekortet
Installer en FRISK kopi på Raspbian på minnekortet

Jeg begynte med å installere en fersk / mest oppdatert kopi av Raspberry Pi IOS (tidligere Raspian) på minnekortet. Jeg valgte å ikke gå NOOBS -ruten.

Last ned og installer Imager -verktøyet

www.raspberrypi.org/downloads/

Last ned, pakk ut og installer Raspberry Pi IOS -bildet på minnekortet.

Etter oppstart, sjekk og oppdater etter behov …

Trinn 2: Aktiver Raspberry Pi Serial Port - Bruke GUI

Aktiver Raspberry Pi Serial Port - Bruke GUI
Aktiver Raspberry Pi Serial Port - Bruke GUI
Aktiver Raspberry Pi Serial Port - Bruke GUI
Aktiver Raspberry Pi Serial Port - Bruke GUI

Som standard er UART0 på en ny Raspberry Pi IOS -installasjon reservert for "Logon Shell". Det er ment å gi deg tilgang / kontroll over Pi via en kombinasjon av seriell port / terminal.

For å bruke UART0 for andre applikasjoner, må du "slå av" den tilkoblingen til Logon Shell. Dette skjer i et par ganske enkle trinn.

Den raskeste måten å aktivere "Serial Port" er å gjøre det gjennom GUI.

Fra "Raspberry - rullegardinmeny", velg "Preferences" og deretter "Raspberry Pi Configuration"

Derfra går du til kategorien "Grensesnitt" og "Aktiver" serieporten (ved å klikke på den aktuelle alternativknappen.

Klikk OK for å avslutte, og utfør deretter en omstart.

ELLER.. du kan følge denne metoden …

Trinn 3: En alternativ metode for å aktivere serieporten (og deaktivere påloggingsskallet)

En alternativ metode for å aktivere serieporten (og deaktivere påloggingsskallet)
En alternativ metode for å aktivere serieporten (og deaktivere påloggingsskallet)
En alternativ metode for å aktivere serieporten (og deaktivere påloggingsskallet)
En alternativ metode for å aktivere serieporten (og deaktivere påloggingsskallet)
En alternativ metode for å aktivere serieporten (og deaktivere påloggingsskallet)
En alternativ metode for å aktivere serieporten (og deaktivere påloggingsskallet)
En alternativ metode for å aktivere serieporten (og deaktivere påloggingsskallet)
En alternativ metode for å aktivere serieporten (og deaktivere påloggingsskallet)

Denne metoden er til referanse - ikke nødvendig, men godt å vite om.

== == ==

En alternativ metode for å deaktivere konsollen ved bruk av UART0 ved oppstart.

bruk:

sudo raspi-config

Velg alternativ nr. 5 - Grensesnittalternativer ==> Velg

Velg P6 Serial ==> Velg

Svar NEI til: Vil du at et påloggingsskall skal være tilgjengelig over serien?

Svar JA til: Vil du at maskinvaren for seriell port skal være aktivert?

Svaret vil være:

Det serielle påloggingsskallet er deaktivert

Det serielle grensesnittet er aktivert

Velg OK

Velg Fullfør

Trinn 4: Deaktiver Bluetooth - Slipp UART0 og frigjør det for TtyAMA0

Deaktiver Bluetooth - Slipp UART0 og frigjør den for TtyAMA0
Deaktiver Bluetooth - Slipp UART0 og frigjør den for TtyAMA0
Deaktiver Bluetooth - Slipp UART0 og frigjør den for TtyAMA0
Deaktiver Bluetooth - Slipp UART0 og frigjør den for TtyAMA0
Deaktiver Bluetooth - Slipp UART0 og frigjør den for TtyAMA0
Deaktiver Bluetooth - Slipp UART0 og frigjør den for TtyAMA0

Den andre delen av prosessen er å også koble Bluetooth fra UART0.

På denne "UART -KONFIGURASJON" -siden må du koble Bluetooth -enheten fra UART0 og frigjøre UART0 for ttyAMA0 - Om nødvendig kan du flytte Bluetooth til "mini -UART"

Fortsett med å redigere filen som heter "config.txt" (ligger i "boot" -katalogen) og legg til EN linje helt nederst på siden:

dtoverlay = deaktiver-bt

Avhengig av din situasjon og ønske om å bruke Bluetooth, vil du kanskje legge til følgende linje (men det er ikke nødvendig for denne opplæringen å fungere korrekt). Denne siden har også verdifulle detaljer om hele denne virksomheten. Ta deg tid til å lese den koblede filen (se ovenfor) for å få litt forståelse for dette.

dtoverlay = miniuart-bt

Dobbeltsjekk stavemåten, LAGG deretter filen mens du avslutter, og start på nytt.

På dette tidspunktet bør du være god å gå.

Trinn 5: RPI Pin-out for UART-porten

RPI Pin-out for UART-porten
RPI Pin-out for UART-porten

Per nettstedet "pinout.xyz" er Raspberry Pi UART0 -pinnene tilgjengelige på følgende pinner.

UART -pinner i BCM -modus er: RPI Pin #8 / GPIO14 ==> TXD

RPI Pin #10 / GPIO15 ==> RXD

Husk at for disse pinnene er de "3.3 Volt TTL-nivåer".. disse KAN IKKE brukes til å kjøre og motta fra et RS-232-nivå eller RS-422/RS-485-nivåenhet. Hvis du prøver å gjøre det, vil UART ombord brenne ut, og vil mest sannsynlig ta med prosessorbrikken.

Du MÅ bruke en nivåomformer.

For å koble til en RS-232 nivå eller RS-422/RS-485 nivå enhet trenger du en passende nivåomformer.

Trinn 6: Legge til et RS-232 nivå til TTL nivåomformerenhet til din Raspberry Pi

Legge til et RS-232 nivå til TTL nivåkonverteringsenhet til din Raspberry Pi
Legge til et RS-232 nivå til TTL nivåkonverteringsenhet til din Raspberry Pi
Legge til et RS-232 nivå til TTL nivåkonverteringsenhet til din Raspberry Pi
Legge til et RS-232 nivå til TTL nivåkonverteringsenhet til din Raspberry Pi
Legge til et RS-232 nivå til TTL nivåomformerenhet til din Raspberry Pi
Legge til et RS-232 nivå til TTL nivåomformerenhet til din Raspberry Pi

For konverteringer fra TTL til RS-232 nivå bruker jeg følgende omformer.

En MAX3232 -basert Mini RS232 til TTL nivåomformer.

Dette elementet kan drives av 3,3 VDC eller til og med 5 VDC (begge tilgjengelige fra spesifikke pinner på RPI -en) og bruker faktisk veldig lite strøm.

Databladet for MAX3232 gir verdifulle detaljer om driften, men i virkeligheten kreves ingen koding for å få dette til å fungere

Se de vedlagte bildene, og ta deg tid til å koble Raspberry Pi -pinnene forsiktig til de riktige pinnene på modulen. Bare vet at denne enheten vil kjøre på enten 3,3VDC eller 5VDC - begge tilgjengelige på RPI (se Pin -out -diagrammet).

ADVARSEL:

Jeg kjøpte mange av disse enhetene fra eBay, og jeg kunne IKKE få noen av dem til å fungere. På overflaten virker det som om det burde være enkelt nok å bruke disse, men nei. Etter å ha slitt med dem litt, fant jeg mange detaljer om FAKE MAX3232 tilgjengelig online.

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

Jeg anbefaler IKKE dette elementet.

Trinn 7: Legge til et RS-485 nivå til TTL nivåomformerenhet til din Raspberry Pi

Legge til et RS-485 nivå til TTL nivåomformerenhet til din Raspberry Pi
Legge til et RS-485 nivå til TTL nivåomformerenhet til din Raspberry Pi
Legge til et RS-485 nivå til TTL nivåomformerenhet til din Raspberry Pi
Legge til et RS-485 nivå til TTL nivåomformerenhet til din Raspberry Pi
Legge til et RS-485 nivå til TTL nivåomformerenhet til din Raspberry Pi
Legge til et RS-485 nivå til TTL nivåomformerenhet til din Raspberry Pi

Lignende på de fleste måter til forrige trinn, er det like enkelt å legge til en RS -485 nivåomformer - kanskje enda enklere.

For konverteringer fra TTL til RS-232 nivå bruker jeg følgende omformer.

En MAX485 baserer RS485 nivå til TTL nivå omformer. Igjen kan dette elementet drives av 3,3 VDC eller til og med 5 VDC (begge tilgjengelige fra spesifikke pinner på RPI -en) og faktisk bruke veldig lite strøm. Databladet for MAX485 gir verdifulle detaljer om driften, men i virkeligheten kreves ingen koding for å få dette til å fungere

Se de vedlagte bildene, og ta deg tid til å koble Raspberry Pi -pinnene forsiktig til de riktige pinnene på modulen. Bare vet at denne enheten vil kjøre på enten 3,3VDC eller 5VDC - begge tilgjengelige på RPI (se Pin -out -diagrammet).

Vær oppmerksom på-i motsetning til RS-232, har ikke RS-485 en "standard" koblingstype knyttet til den. Nomenklatur er vanligvis "B-" og "A+", men vær oppmerksom på at ikke alle leverandører følger den samme nomenklaturen. RS -485 kjører på "Differential Pair" signalskjema - Flere detaljer om det er tilgjengelig her. "Det ville vesten" lever videre i RS-485-dalen.

Trinn 8: Nå er det din tur

Du bør nå kunne koble Raspberry Pi direkte til en ekstern enhet du ønsker.. Det er mange av dem som fortsatt er i bruk i dag.

Hvordan du gjør det er opp til deg …

For det første, sjekk ut "Minicom" eller "CuteCom", eller sjekk ut mulighetene ved å bruke "NodeRED".

Trinn 9: Synopsys

Legg gjerne igjen kommentarer, eller forslag / rettelser. Det ville jeg sette pris på.

Anbefalt: