Inhoudsopgave:
- Benodigdheden
- Stap 1: Installeer een VERSE kopie op Raspbian op uw geheugenkaart
- Stap 2: Schakel de Raspberry Pi seriële poort in - met behulp van de GUI
- Stap 3: Een alternatieve methode om de seriële poort in te schakelen (en de login-shell uit te schakelen)
- Stap 4: Schakel Bluetooth uit - Laat UART0 vrij en maak het vrij voor TtyAMA0
- Stap 5: RPI-pin-out voor de UART-poort
- Stap 6: Een RS-232-niveau toevoegen aan TTL-niveau-omzetterapparaat aan uw Raspberry Pi
- Stap 7: Een RS-485-niveau toevoegen aan TTL-niveau-omzetterapparaat aan uw Raspberry Pi
- Stap 8: Nu is het jouw beurt
- Stap 9: Synopsys
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
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
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
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)
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
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
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
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
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:
Arduino seriële communicatie: 5 stappen
Arduino seriële communicatie: veel Arduino-projecten zijn afhankelijk van het verzenden van gegevens tussen verschillende Arduino's. Of u nu een hobbyist bent die een RC-auto, een RC-vliegtuig bouwt of een weerstation met een extern display ontwerpt, u moet weten hoe u op betrouwbare wijze overdracht serie
PIC MCU en Python seriële communicatie: 5 stappen
PIC MCU en Python seriële communicatie: Hallo, jongens! In dit project zal ik proberen mijn experimenten op PIC MCU en Python seriële communicatie uit te leggen. Via internet zijn er veel tutorials en video's over hoe te communiceren met PIC MCU via een virtuele terminal, wat erg handig is. maar
Draadloze seriële communicatie met Bluefruit: 4 stappen
Draadloze seriële communicatie met Bluefruit: Hier is een eenvoudige stapsgewijze handleiding om uw draden te vervangen door een Bluetooth low energy-verbinding: het kostte me een tijdje om dit uit te zoeken omdat er nauwelijks documentatie is om dit te doen met moderne Bluetooth low energy-technologie zoals als de Bluefrui
Webgebaseerde SmartMirror met seriële communicatie: 6 stappen
Webgebaseerde SmartMirror met behulp van seriële communicatie: deze instructable wordt geleverd met alle code klaar voor gebruik. De ontwikkeling was erg ingewikkeld, maar als het eenmaal is ingesteld, is het heel eenvoudig aan te passen. Neem een kijkje en geniet ervan;)
Seriële communicatie met ARM Cortex-M4: 4 stappen
Seriële communicatie met ARM Cortex-M4: dit is een op breadboard gebaseerd project dat ARM Cortex-M4 (Texas Instruments EK-TM4C123GXL) gebruikt voor seriële communicatie met behulp van Virtual Terminal. De uitvoer kan worden verkregen op een 16x2 LCD-scherm en invoer voor seriële communicatie kan worden gegeven in Serial Mo