Activeer de TTL-seriële poort van de Raspberry Pi en controleer of deze werkt.
Opmerkingenⓘ Cet article peut avoir été partiellement ou totalement traduit à l'aide d'outils automatiques. Nous nous excusons des erreurs que cela pourrait engendrer.
Als je met de Raspberry Pi in elektronica komt, moet je snel de seriële poort gebruiken om je Pi te laten communiceren met een externe module. Maar om de seriële poort te kunnen gebruiken, moet je deze eerst op de Raspberry Pi activeren.
In deze tutorial zullen we daarom zien hoe je de seriële poort van de Raspberry Pi activeert en controleert of deze goed werkt.
Hiervoor heeft u de volgende materialen nodig:
- Een Raspberry Pi met Raspbian.
- Dupont kabels en weerstanden.
Waar is de seriële poort voor?
Zoals de naam suggereert, communiceert de seriële poort gegevens "serieel", dwz de ene bit na de andere. Dit is wat het gebruik en de implementatie ervan vrij eenvoudig maakt vanuit een software- en elektronisch oogpunt, waardoor zeer goedkope interfaces kunnen worden gecreëerd.
Als het tegenwoordig grotendeels onbekend is bij het grote publiek, vervangen door USB (dat zelf een seriële poort is), wordt het nog steeds veel gebruikt in de elektronica om verschillende elektronische modules te laten communiceren.
Als onderdeel van de Raspberry Pi moet u daarom mogelijk de seriële poort gebruiken om externe sondes of modules te gebruiken die gegevensuitwisseling met de Raspberry vereisen.
Activeer de Raspberry seriële poort om te communiceren met een externe module.
Standaard is de seriële poort van de Raspberry Pi verbonden met de console om de Raspberry Pi zonder grafische interface te kunnen bedienen. Als dit handig kan zijn om zonder internet verbinding te maken met de Raspberry, is het echter niet compatibel met het standaard gebruik van de seriële poort.
Om te beginnen zullen we daarom de configuratie van de Raspberry moeten aanpassen om de seriële poort als "seriële interface" te gebruiken in plaats van als console.
Open hiervoor een terminal op uw Raspberry Pi, rechtstreeks of via SSH, en voer vervolgens de opdracht uit sudo raspi-config
om toegang te krijgen tot de Raspberry-tool voor configuratiebeheer.
Zodra raspi-config is gestart, kiest u Interfacing options
, vervolgens Serial
. Antwoord No
naar het gedeelte dat vraagt of je een shell wilt activeren via de seriële verbinding, dan Yes
naar het gedeelte dat vraagt of u de hardwarepoort wilt activeren. Valideer, doe Finish
en zeg dan ja op de vraag of u de Raspberry Pi opnieuw wilt opstarten.
Extra stappen om de seriële poort van Raspberry Pi 3, 4 en meer te activeren.
Dit onderdeel is specifiek voor modellen 3 en later.
Het intern lezen van seriële gegevens maakt gebruik van een zogenaamde UART. Alle Raspberry-modellen hebben minimaal 2 UART's, nummer 0, wat een normale UART is en nummer 1, wat een mini-UART is met veel beperktere en zeer beperkende capaciteiten.
Vroeger werd UART 0 standaard gebruikt, maar sinds de overstap naar versie 3 is dit niet meer het geval, het wordt nu gebruikt om de bluetooth-chip te beheren. Als je een Raspberry Pi 3 of een nieuwer model gebruikt, zul je dit gedrag dus moeten aanpassen en bluetooth moeten deactiveren.
Voer hiervoor de onderstaande opdrachten uit:
echo "dtoverlay=disable-bt" | sudo tee -a /boot/config.txt
sudo systemctl disable hciuart
sudo reboot
Controleer of de seriële poort van de Raspberry is geactiveerd.
Nu onze poort is geactiveerd, hoeven we alleen maar te controleren of alles werkt zoals verwacht.
Technisch gezien heeft de seriële poort van de Raspberry de vorm van twee GPIO's, één voor het ontvangen van gegevens, RXD en één voor het verzenden van TXD.
Om te controleren of onze poort naar verwachting werkt, zullen we eenvoudig de RXD- en TXD-poorten aan elkaar koppelen. Op deze manier worden alle gegevens die naar de TXD-poort worden verzonden, ontvangen door de RXD-poort en kunnen we ze op het scherm lezen.
Wees voorzichtig, als je een echte externe module gebruikt, zal het principe hetzelfde zijn, namelijk de TXD van de module verbinden met de RST van de Pi en de RST van de Pi met de TXD van de module.
Sluit de seriële poorten aan.
Om de seriële poorten ertussen te verbinden, gebruiken we een breadboard van de dupont-kabels en een weerstand. Technisch gezien is weerstand niet absoluut noodzakelijk, maar in het geval van een bedieningsfout beschermt het uw raspberry.
De keuze van de weerstand maakt niet zoveel uit, je vindt al snel 1000 ohm die het heel goed zal doen, maar 470 ohm is meer dan genoeg.
Let op: als u een echte module aansluit, vergeet dan niet te controleren of de TXD 3,3 V gebruikt, zoals de Raspberry. Als u een module moet aansluiten die zijn gegevens met 5 V verzendt, hebt u een scheidingsbrug nodig.
Controleer of alles werkt met Minicom.
Nu alles bedraad is, hoeft u alleen nog maar te testen met een programma dat seriële communicatie mogelijk maakt, Minicom.
Om te beginnen, nee, laten we Minicom installeren met de onderstaande opdrachten.
sudo apt update -y
sudo apt install minicom -y
Zodra de installatie is voltooid, hoeven we alleen maar Minicom te starten door de te gebruiken seriële poort aan te geven.
Seriële poorten zijn allemaal toegankelijk als apparaten in Linux, dus in de map /dev
en worden genoemd serialX
, of X
is het seriële poortnummer. In ons geval willen we seriële poort 0 gebruiken, dus we zullen gebruiken /dev/serial0
.
We kunnen Minicom daarom starten met het volgende commando:
sudo minicom -D /dev/serial0
Een Minicom-terminal start op, als u een letter typt, zou deze op het scherm moeten verschijnen!
Daar heb je het, je seriële poort is functioneel, je hoeft hem alleen maar te gebruiken!