Innehållsförteckning:

Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15: 9 steg
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15: 9 steg

Video: Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15: 9 steg

Video: Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15: 9 steg
Video: MKS SGEN L V1.0 - TMC2208 UART install 2024, November
Anonim
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15

Jag hade nyligen intresse av att aktivera UART0 på min Raspberry Pi (3b) så att jag kunde ansluta den direkt till en RS-232 signalnivåenhet med en standard 9-polig d-sub-kontakt utan att behöva gå via en USB till RS-232 adapter.

En del av mitt intresse här var att också kunna ansluta antingen en RS-232 nivåomvandlare (MAX3232) eller en RS-485 enhet (MAX485).

Jag kämpade lite med att försöka få Pi -konfigurationen att fungera. Jag har inte mycket erfarenhet av Raspberry Pi, eller operativsystemet, så jag var på en ganska brant inlärningskurva.

Så småningom lyckades jag genom Google -sökningar tillsammans med "Trial and Error" samla ihop alla detaljer för att få det att fungera till min tillfredsställelse, men informationen fanns inte i ett kortfattat dokument som innehöll alla steg för att få detta att hända.

Jag listar här stegen jag tog för att få det här att fungera för mig.

Tillbehör

1 - Hallon Pi. Jag använde en modell 3b.. men denna procedur bör fungera med de flesta Pi, speciellt de som har de senaste versionerna av Raspberry Pi IOS (tidigare Raspian).

2 - En "mini" RS -232 nivåomvandlare - TTL till RS -232 - Jag använde en liten kretskort laddad med en MAX 3232 IC på den som jag köpte från eBay.. Jag testade också detta med en TTL till RS -485. omvandlare - köpt också från eBay.

När Pi var konfigurerad fungerade båda omvandlarna till min tillfredsställelse utan några problem som jag såg.

Steg 1: Installera en FRISK kopia på Raspbian på ditt minneskort

Installera en FRISK kopia på Raspbian på ditt minneskort
Installera en FRISK kopia på Raspbian på ditt minneskort

Jag började med att installera en färsk / mest uppdaterad kopia av Raspberry Pi IOS (tidigare Raspian) på mitt minneskort. Jag valde att inte gå NOOBS -rutten.

Ladda ner och installera Imager -verktyget

www.raspberrypi.org/downloads/

Ladda ner, packa upp och installera Raspberry Pi IOS -bilden på ditt minneskort.

Efter uppstart, kontrollera och uppdatera efter behov …

Steg 2: Aktivera Raspberry Pi Serial Port - Använda GUI

Aktivera Raspberry Pi Serial Port - Använda GUI
Aktivera Raspberry Pi Serial Port - Använda GUI
Aktivera Raspberry Pi Serial Port - Använda GUI
Aktivera Raspberry Pi Serial Port - Använda GUI

Som standard är UART0 för en ny Raspberry Pi IOS -installation reserverad för "Logon Shell". Det är tänkt att ge dig lite åtkomst / kontroll över Pi via en kombination av seriell port / terminal.

För att kunna använda UART0 för andra applikationer måste du "stänga av" den anslutningen till Logon Shell. Detta sker i ett par ganska enkla steg.

Det snabbaste sättet att aktivera "Serial Port" är att göra det via GUI.

Från "Hallon - rullgardinsmeny", välj "Inställningar" och sedan "Raspberry Pi -konfiguration"

Därifrån går du till fliken "Gränssnitt" och "Aktiverar" serieporten (genom att klicka på lämplig alternativknapp.

Klicka på OK för att avsluta och starta sedan om.

ELLER.. du kan följa den här metoden …

Steg 3: En alternativ metod för att aktivera serieporten (och inaktivera inloggningsskalet)

En alternativ metod för att aktivera serieporten (och inaktivera inloggningsskalet)
En alternativ metod för att aktivera serieporten (och inaktivera inloggningsskalet)
En alternativ metod för att aktivera serieporten (och inaktivera inloggningsskalet)
En alternativ metod för att aktivera serieporten (och inaktivera inloggningsskalet)
En alternativ metod för att aktivera serieporten (och inaktivera inloggningsskalet)
En alternativ metod för att aktivera serieporten (och inaktivera inloggningsskalet)
En alternativ metod för att aktivera serieporten (och inaktivera inloggningsskalet)
En alternativ metod för att aktivera serieporten (och inaktivera inloggningsskalet)

Denna metod är för referens - inte nödvändigt men bra att veta om.

== == ==

En alternativ metod för att inaktivera konsolen med UART0 vid uppstart.

använda sig av:

sudo raspi-config

Välj alternativ #5 - Gränssnittsalternativ ==> Välj

Välj P6 Serial ==> Välj

Svar NEJ till: Vill du att ett inloggningsskal ska vara tillgängligt över serien?

Svar JA till: Vill du att seriell portmaskinvara ska aktiveras?

Svaret blir:

Det seriella inloggningsskalet är inaktiverat

Det seriella gränssnittet är aktiverat

Välj OK

Välj Slutför

Steg 4: Inaktivera Bluetooth - Släpp UART0 och frigör det för TtyAMA0

Inaktivera Bluetooth - Släpp UART0 och frigör det för TtyAMA0
Inaktivera Bluetooth - Släpp UART0 och frigör det för TtyAMA0
Inaktivera Bluetooth - Släpp UART0 och frigör det för TtyAMA0
Inaktivera Bluetooth - Släpp UART0 och frigör det för TtyAMA0
Inaktivera Bluetooth - Släpp UART0 och frigör det för TtyAMA0
Inaktivera Bluetooth - Släpp UART0 och frigör det för TtyAMA0

Den andra delen av processen är att koppla bort Bluetooth från UART0.

På denna "UART -KONFIGURATION" -sida måste du koppla bort Bluetooth -enheten från UART0 och frigöra UART0 för ttyAMA0 - Om det behövs kan du flytta Bluetooth till "mini -UART"

Fortsätt genom att redigera filen med namnet "config.txt" (finns i "boot" -katalogen) och lägg till EN rad längst ned på sidan:

dtoverlay = disable-bt

Beroende på din situation och önskan att använda Bluetooth kanske du vill lägga till följande rad (men det är inte nödvändigt för att denna handledning ska fungera korrekt). Denna sida har också värdefulla detaljer om allt detta företag. Ta dig tid att läsa den länkade filen (se ovan) för att få lite förståelse för detta.

dtoverlay = miniuart-bt

Dubbelkontrollera din stavning, spara sedan filen när du avslutar och starta om.

Vid denna tidpunkt borde du vara bra att gå.

Steg 5: RPI Pin-out för UART-porten

RPI Pin-out för UART-porten
RPI Pin-out för UART-porten

Enligt webbplatsen "pinout.xyz" är Raspberry Pi UART0 -stiften tillgängliga på följande stift.

UART -stift i BCM -läge är: RPI Pin #8 / GPIO14 ==> TXD

RPI Pin #10 / GPIO15 ==> RXD

Kom ihåg att för dessa stift är de "3.3 Volt TTL-nivåer".. dessa KAN INTE användas för att köra och ta emot från en RS-232-nivå eller RS-422/RS-485-nivåenhet. Att försöka göra det kommer att få din inbyggda UART att brinna ut och kommer troligen att ta med processorkretsen.

Du MÅSTE använda en nivåomvandlare.

För att ansluta till en nivå RS-232 eller RS-422/RS-485 behöver du en lämplig nivåomvandlare.

Steg 6: Lägga till en RS-232 Level till TTL Level Converter Device till din Raspberry Pi

Lägga till en RS-232 Level till TTL Level Converter Device till din Raspberry Pi
Lägga till en RS-232 Level till TTL Level Converter Device till din Raspberry Pi
Lägga till en RS-232 Level till TTL Level Converter Device till din Raspberry Pi
Lägga till en RS-232 Level till TTL Level Converter Device till din Raspberry Pi
Lägga till en RS-232 Level till TTL Level Converter Device till din Raspberry Pi
Lägga till en RS-232 Level till TTL Level Converter Device till din Raspberry Pi

För omvandlingar av TTL till RS-232-nivå använder jag följande omvandlare.

En MAX3232 -baserad Mini RS232 till TTL nivåomvandlare.

Denna artikel kan drivas med 3,3 VDC eller till och med 5 VDC (båda tillgängliga från specifika stift på din RPI) och faktiskt använda mycket lite ström.

Databladet för MAX3232 ger värdefulla detaljer om hur det fungerar, men i verkligheten krävs ingen kodning för att detta ska fungera

Se de bifogade bilderna och ta dig tid att noggrant ansluta Raspberry Pi -stiften till lämpliga stift på modulen. Vet bara att den här enheten körs på antingen 3,3VDC eller 5VDC - båda tillgängliga på RPI (se Pin -out -diagrammet).

VARNING:

Jag köpte mycket av 10 av dessa enheter från eBay, och jag kunde INTE få någon av dem att fungera. På ytan verkar de som att det borde vara lätt nog att använda dessa, men nej. Efter att ha kämpat med dem ett tag hittade jag massor av detaljer om FAKE MAX3232 tillgängliga online.

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

Jag rekommenderar INTE detta objekt.

Steg 7: Lägga till en RS-485-nivå till TTL-nivåomvandlare till din Raspberry Pi

Lägga till en RS-485 Level till TTL Level Converter Device till din Raspberry Pi
Lägga till en RS-485 Level till TTL Level Converter Device till din Raspberry Pi
Lägga till en RS-485-nivå till TTL-nivåomvandlare till din Raspberry Pi
Lägga till en RS-485-nivå till TTL-nivåomvandlare till din Raspberry Pi
Lägga till en RS-485 Level till TTL Level Converter Device till din Raspberry Pi
Lägga till en RS-485 Level till TTL Level Converter Device till din Raspberry Pi

Liknande på de flesta sätt till föregående steg är det lika enkelt att lägga till en RS -485 -nivåomvandlare - kanske ännu enklare.

För omvandlingar av TTL till RS-232 nivåer använder jag följande omvandlare.

En MAX485 baserar RS485 -nivå till TTL -nivåomvandlare. Återigen kan den här enheten drivas med 3,3 VDC eller till och med 5 VDC (båda tillgängliga från specifika stift på din RPI) och faktiskt använda väldigt lite ström. Databladet för MAX485 ger värdefulla detaljer om dess funktion, men i verkligheten krävs ingen kodning för att få det att fungera

Se de bifogade bilderna och ta dig tid att noggrant ansluta Raspberry Pi -stiften till lämpliga stift på modulen. Vet bara att den här enheten körs på antingen 3,3VDC eller 5VDC - båda tillgängliga på RPI (se Pin -out -diagrammet).

Notera-till skillnad från RS-232 har RS-485 inte en "standard" kopplingstyp kopplad till den. Nomenklatur är vanligtvis "B-" och "A+", men var medveten om att inte alla leverantörer följer samma nomenklatur. RS -485 körs på "Differential Pair" -signalschema - Mer information om det finns här. "Vilda västern" lever vidare i RS-485-dalen.

Steg 8: Nu är det din tur.

Du bör nu kunna ansluta din Raspberry Pi direkt till en extern enhet efter eget val. Det finns Många av dem som fortfarande används idag.

Hur du gör det är upp till dig …

Till att börja med, kolla in "Minicom" eller "CuteCom", eller kolla in möjligheterna med "NodeRED".

Steg 9: Synopsys

Lämna gärna kommentarer, eller förslag / korrigeringar. Det skulle jag uppskatta.

Rekommenderad: