Inhoudsopgave:

Raspberry PI 3 - Schakel seriële communicatie in naar TtyAMA0 naar BCM GPIO 14 en GPIO 15 - Ajarnpa
Raspberry PI 3 - Schakel seriële communicatie in naar TtyAMA0 naar BCM GPIO 14 en GPIO 15 - Ajarnpa
Anonim
Raspberry PI 3 - Schakel seriële communicatie in naar TtyAMA0 naar BCM GPIO 14 en GPIO 15
Raspberry PI 3 - Schakel seriële communicatie in naar TtyAMA0 naar BCM GPIO 14 en GPIO 15
Raspberry PI 3 - Schakel seriële communicatie in naar TtyAMA0 naar BCM GPIO 14 en GPIO 15
Raspberry PI 3 - Schakel seriële communicatie in naar TtyAMA0 naar BCM GPIO 14 en GPIO 15

Ik had onlangs interesse om UART0 op mijn Raspberry Pi (3b) in te schakelen, zodat ik deze rechtstreeks op een RS-232-signaalniveau-apparaat kon aansluiten met behulp van een standaard 9-pins d-sub-connector zonder via een USB naar RS-232 te gaan adapter.

Een deel van mijn interesse hier was om ook een RS-232-niveauconverter (MAX3232) of een RS-485-apparaat (MAX485) aan te kunnen sluiten.

Ik heb een beetje moeite gehad om de Pi-configuratie te laten werken. Ik heb niet veel ervaring met de Raspberry Pi of het besturingssysteem, dus ik zat in een vrij steile leercurve.

Uiteindelijk slaagde ik erin om via Google-zoekopdrachten samen met "Trial and Error" alle details samen te brengen om het naar mijn tevredenheid te laten werken, maar de informatie was niet in één beknopt document dat alle stappen bevatte om dit mogelijk te maken.

Ik som hier de stappen op die ik heb genomen om dit voor mij te laten werken.

Benodigdheden

1 - Raspberry Pi. Ik gebruikte een model 3b.. maar deze procedure zou moeten werken met de meeste Pi's, vooral die met de nieuwste versies van Raspberry Pi IOS (voorheen Raspian).

2 - Een "mini" RS-232 Level Converter - TTL naar RS-232 - Ik gebruikte een kleine PCB geladen met een MAX 3232 IC erop die ik van eBay kocht. Ik heb dit ook met succes geprobeerd met een TTL naar RS-485 converter - ook gekocht van eBay.

Nadat de Pi was geconfigureerd, werkten beide converters naar mijn tevredenheid zonder dat ik problemen had.

Stap 1: Installeer een VERSE kopie op Raspbian op uw geheugenkaart

Installeer een VERSE kopie op Raspbian op uw geheugenkaart
Installeer een VERSE kopie op Raspbian op uw geheugenkaart

Ik begon met het installeren van een verse / meest up-to-date kopie van Raspberry Pi IOS (voorheen Raspian) op mijn geheugenkaart. Ik heb ervoor gekozen om niet de NOOBS-route te gaan.

Download en installeer de Imager-tool

www.raspberrypi.org/downloads/

Download, unzip en installeer op uw geheugenkaart de Raspberry Pi IOS-afbeelding.

Na het opstarten, controleer en update indien nodig…

Stap 2: Schakel de Raspberry Pi seriële poort in - met behulp van de GUI

Schakel de Raspberry Pi seriële poort in - met behulp van de GUI
Schakel de Raspberry Pi seriële poort in - met behulp van de GUI
Schakel de Raspberry Pi seriële poort in - met behulp van de GUI
Schakel de Raspberry Pi seriële poort in - met behulp van de GUI

Standaard is op een nieuwe Raspberry Pi IOS-installatie UART0 gereserveerd voor de "Logon Shell". Dat is bedoeld om je enige toegang / controle over de Pi te geven via een combinatie van een seriële poort / terminalprogramma.

Om UART0 voor andere toepassingen te gebruiken, moet u die verbinding met de Logon Shell "uitzetten". Dit gebeurt in een paar vrij eenvoudige stappen.

De snelste manier om de "seriële poort" in te schakelen, is door dit via de GUI te doen.

Selecteer in het "Raspberry - Vervolgkeuzemenu", "Voorkeuren" en vervolgens "Raspberry Pi-configuratie"

Ga vanaf daar naar het tabblad "Interfaces" en "Schakel" de seriële poort in (door op het juiste keuzerondje te klikken.

Klik op OK om af te sluiten en voer vervolgens een herstart uit.

OF.. je kunt deze methode volgen…

Stap 3: Een alternatieve methode om de seriële poort in te schakelen (en de login-shell uit te schakelen)

Een alternatieve methode om de seriële poort in te schakelen (en de login-shell uit te schakelen)
Een alternatieve methode om de seriële poort in te schakelen (en de login-shell uit te schakelen)
Een alternatieve methode om de seriële poort in te schakelen (en de login-shell uit te schakelen)
Een alternatieve methode om de seriële poort in te schakelen (en de login-shell uit te schakelen)
Een alternatieve methode om de seriële poort in te schakelen (en de login-shell uit te schakelen)
Een alternatieve methode om de seriële poort in te schakelen (en de login-shell uit te schakelen)
Een alternatieve methode om de seriële poort in te schakelen (en de login-shell uit te schakelen)
Een alternatieve methode om de seriële poort in te schakelen (en de login-shell uit te schakelen)

Deze methode is ter referentie - niet noodzakelijk, maar goed om te weten.

== == ==

Een alternatieve methode om de console uit te schakelen met UART0 bij het opstarten.

gebruik maken van:

sudo raspi-config

Kies optie #5 - Interfacing-opties ==> Selecteren

Kies P6 Serieel ==> Selecteren

Antwoord NEE op: Wilt u dat een login-shell toegankelijk is via de seriële?

Antwoord JA op: Wilt u dat de seriële poorthardware wordt ingeschakeld?

Het antwoord zal zijn:

De seriële login-shell is uitgeschakeld

De seriële interface is ingeschakeld

Selecteer OK

Selecteer Voltooien

Stap 4: Schakel Bluetooth uit - Laat UART0 vrij en maak het vrij voor TtyAMA0

Schakel Bluetooth uit - Laat UART0 vrij en maak het vrij voor TtyAMA0
Schakel Bluetooth uit - Laat UART0 vrij en maak het vrij voor TtyAMA0
Schakel Bluetooth uit - Laat UART0 vrij en maak het vrij voor TtyAMA0
Schakel Bluetooth uit - Laat UART0 vrij en maak het vrij voor TtyAMA0
Schakel Bluetooth uit - Laat UART0 vrij en maak het vrij voor TtyAMA0
Schakel Bluetooth uit - Laat UART0 vrij en maak het vrij voor TtyAMA0

Het tweede deel van het proces is om ook de Bluetooth los te koppelen van UART0.

Op deze pagina "UART-CONFIGURATIE" moet u het Bluetooth-apparaat loskoppelen van UART0 en UART0 vrijmaken voor ttyAMA0 - Indien nodig kunt u de Bluetooth naar de "mini-UART" verplaatsen

Ga verder door het bestand met de naam "config.txt" te bewerken (in de map "boot") en voeg EEN regel toe helemaal onderaan de pagina:

dtoverlay=uitschakelen-bt

Afhankelijk van uw situatie en wens om Bluetooth te gebruiken, wilt u misschien de volgende regel toevoegen (maar het is niet nodig dat deze tutorial correct werkt). Deze pagina bevat ook waardevolle details over al deze zaken. Neem even de tijd om het gekoppelde bestand (zie hierboven) te lezen om hier enig begrip van te krijgen.

dtoverlay=miniuart-bt

Controleer nogmaals uw spelling, sla het bestand op terwijl u AFSLUIT en start opnieuw op.

Op dit punt zou je goed moeten zijn om te gaan.

Stap 5: RPI-pin-out voor de UART-poort

RPI Pin-out voor de UART-poort
RPI Pin-out voor de UART-poort

Volgens de website "pinout.xyz" zijn de Raspberry Pi UART0-pinnen toegankelijk op de volgende pinnen.

UART-pinnen in BCM-modus zijn: RPI Pin #8 / GPIO14 ==> TXD

RPI-pin #10 / GPIO15 ==> RXD

Onthoud dat deze pinnen "3.3 Volt TTL-niveaus" zijn. Deze KUNNEN NIET worden gebruikt om te sturen en te ontvangen van een RS-232-niveau of RS-422/RS-485-niveauapparaat. Als u dit probeert, zal uw ingebouwde UART doorbranden en zal hoogstwaarschijnlijk de processorchip meenemen.

U MOET een niveauconverter gebruiken.

Om verbinding te maken met een RS-232-niveau- of RS-422/RS-485-niveauapparaat heeft u een geschikte niveauconverter nodig.

Stap 6: Een RS-232-niveau toevoegen aan TTL-niveau-omzetterapparaat aan uw Raspberry Pi

Een RS-232 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi
Een RS-232 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi
Een RS-232 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi
Een RS-232 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi
Een RS-232 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi
Een RS-232 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi

Voor TTL naar RS-232 niveaus conversies gebruik ik de volgende converter.

Een op MAX3232 gebaseerde Mini RS232 naar TTL-niveau converter.

Dit item kan worden gevoed door 3,3 VDC of zelfs 5 VDC (beide beschikbaar vanaf specifieke pinnen op uw RPI) en verbruikt eigenlijk heel weinig stroom.

Het gegevensblad voor de MAX3232 biedt waardevolle details over de werking, maar in werkelijkheid is er geen codering nodig om dit te laten werken

Raadpleeg de bijgevoegde foto's en neem de tijd om de Raspberry Pi-pinnen zorgvuldig aan te sluiten op de juiste pinnen op de module. Houd er rekening mee dat dit apparaat op 3,3 VDC of op 5 VDC werkt - beide beschikbaar op de RPI (zie het Pin-out-diagram).

WAARSCHUWING:

Ik heb veel van 10 van deze eenheden van eBay gekocht en ik kon ze NIET laten werken. Op het eerste gezicht lijkt het alsof het gemakkelijk genoeg zou moeten zijn om deze te gebruiken, maar nee. Na een tijdje met ze te hebben geworsteld, vond ik veel details over FAKE MAX3232 online beschikbaar.

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

Ik raad dit artikel NIET aan.

Stap 7: Een RS-485-niveau toevoegen aan TTL-niveau-omzetterapparaat aan uw Raspberry Pi

Een RS-485 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi
Een RS-485 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi
Een RS-485 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi
Een RS-485 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi
Een RS-485 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi
Een RS-485 Level to TTL Level Converter-apparaat toevoegen aan uw Raspberry Pi

Op de meeste manieren vergelijkbaar met de vorige stap, is het toevoegen van een RS-485-niveauconverter net zo eenvoudig - misschien zelfs gemakkelijker.

Voor TTL naar RS-232 niveaus conversies gebruik ik de volgende converter.

Een MAX485 baseert RS485-niveau naar TTL-niveau-converter. Ook dit item kan worden gevoed door 3,3 VDC of zelfs 5 VDC (beide beschikbaar vanaf specifieke pinnen op uw RPI) en verbruikt eigenlijk heel weinig stroom. Het gegevensblad voor de MAX485 biedt waardevolle details over de werking, maar in werkelijkheid is er geen codering nodig om dit te laten werken

Raadpleeg de bijgevoegde foto's en neem de tijd om de Raspberry Pi-pinnen zorgvuldig aan te sluiten op de juiste pinnen op de module. Houd er rekening mee dat dit apparaat op 3,3 VDC of op 5 VDC werkt - beide beschikbaar op de RPI (zie het Pin-out-diagram).

Merk op dat, in tegenstelling tot RS-232, RS-485 geen "standaard" connectortype heeft. Nomenclatuur is meestal "B-" en "A+", maar houd er rekening mee dat niet alle leveranciers dezelfde nomenclatuur volgen. RS-485 werkt op het "Differential Pair"-signaalschema - meer informatie hierover is hier beschikbaar. Het "wilde westen" leeft voort in de RS-485-vallei..

Stap 8: Nu is het jouw beurt

Je zou nu je Raspberry Pi rechtstreeks op een extern apparaat naar keuze moeten kunnen aansluiten. Er zijn er nog VEEL van in gebruik.

Hoe je dat doet, is aan jou…

Bekijk om te beginnen "Minicom" of "CuteCom", of bekijk de mogelijkheden met "NodeRED".

Stap 9: Synopsys

Voel je vrij om opmerkingen, of suggesties / correcties achter te laten. Ik zou dat fijn vinden.

Aanbevolen: