Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
NMEA-0183 Är en elektrisk standard för att ansluta GPS, SONAR, sensorer, autopilotenheter etc. i fartyg och båtar. Till skillnad från den nyare NMEA 2000-standarden (baserad på CAN) är NMEA 0183 baserad på EIA RS422 (vissa äldre och/eller enkla system använder RS-232 eller en enda tråd).
Jag vill visa dig hur du ansluter en Raspberry Pi 3B till valfri NMEA-0183-enhet med differentialutgång. Även om standarden kräver isolerade ingångar och utgångar är det användbart att använda en RS422 / RS485 HAT med isolerat gränssnitt.
Steg 1: Verktyg och programvara
Material:
Raspberry Pi
RS422 / RS485 HAT
en seriell NMEA0183 -enhet
Programvara:
Raspbian stretch
NMEA -simulator
Steg 2: Anslutning till NMEA 0183
På bilden ovan kan du se en typisk NMEA -enhet med differentialutgång. Terminalerna är NMEA OUT+ och NMEA OUT- eller TX+ eller TX-. NMEA IN+ och NMEA IN-kablarna är valfria.
om du har en enda sändningskabel från din enhet (troligen märkt TX eller NMEA OUT eller något liknande) använder enheten RS-232-protokollet. I det här fallet behöver du en enkel RS232 -omvandlare.
Steg 3: Inställningar för DIP -switch
Steg 4: Frigör serien och aktivera UART för Raspberry Pi
Det enklaste sättet är att använda raspi-konfigurationsverktyget för att byta UART till GPIO14/15-stiften. Ta en ny Raspbian-bild
sudo raspi-config
gå till "5 gränssnittsalternativ"
gå till 'P6 Serial'
'Vill du att ett inloggningsskal ska vara tillgängligt via serie?' NEJ
'Vill du att seriell portmaskinvara ska aktiveras?' JA
Slutför raspi-config
starta om Raspberry Pi
Nu kan du komma åt UART via /dev /serial0
Steg 5: Firmware
Du kan hitta många olika NMEA-0183-programvara Python-stackar för Raspberry Pi En mycket enkel lösning är NMEA-biblioteket av Nick Sweeting:
github.com/nsweeting/NMEA0183
Observera: pyserial krävs för seriella anslutningar:
github.com/nsweeting/NMEA0183
Steg 6: Testkörning
Python -programmet kommer att avkoda inkommande NMEA -protokoll. Om du inte har någon NMEA -enhet hemma kan du också använda en simulator på din dator och en enkel USB till RS485 -adapter istället för en riktig enhet.