Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
NMEA-0183 Er en elektrisk standard for tilkobling av GPS, SONAR, sensorer, autopilotenheter etc. i skip og båter. Til forskjell fra den nyere NMEA 2000-standarden (basert på CAN) er NMEA 0183 basert på EIA RS422 (noen eldre og/eller enkle systemer bruker RS-232, eller en enkelt ledning).
Jeg vil vise deg hvordan du kobler en Raspberry Pi 3B til en hvilken som helst NMEA-0183-enhet med differensialutgang. Selv om standarden krever isolerte innganger og utganger, er det nyttig å bruke en RS422 / RS485 HAT med isolert grensesnitt.
Trinn 1: Verktøy og programvare
Materialer:
Bringebær Pi
RS422 / RS485 HAT
en seriell NMEA0183 -enhet
Programvare:
Raspbian Stretch
NMEA -simulator
Trinn 2: Tilkobling til NMEA 0183
På bildet ovenfor kan du se en typisk NMEA -enhet med differensialutgang. Terminalene er NMEA OUT+ og NMEA OUT- eller TX+ eller TX-. NMEA IN+ og NMEA IN-ledningene er valgfrie.
hvis du har en enkelt overføringsledning fra enheten din (mest sannsynlig merket TX eller NMEA OUT eller noe sånt), bruker enheten RS-232-protokollen. I dette tilfellet trenger du en enkel RS232 -omformer.
Trinn 3: Innstillinger for DIP -bryter
Trinn 4: Frigjør serielinjen og aktiver UART for Raspberry Pi
Den enkleste måten er å bruke raspi-konfigureringsverktøyet til å bytte UART til GPIO14/15 pins. Ta et nytt Raspbian-bilde
sudo raspi-config
gå til '5 grensesnittalternativer'
gå til 'P6 Serial'
'Vil du at et påloggingsskall skal være tilgjengelig via serie?' NEI
'Vil du at maskinvaren for seriell port skal være aktivert?' JA
Fullfør raspi-config
start Raspberry Pi på nytt
Nå kan du få tilgang til UART via /dev /serial0
Trinn 5: Fastvare
Du kan finne mange forskjellige NMEA-0183 programvare Python-stabler for Raspberry Pi En veldig enkel løsning er NMEA-biblioteket av Nick Sweeting:
github.com/nsweeting/NMEA0183
Vær oppmerksom på: pyserial er nødvendig for serielle tilkoblinger:
github.com/nsweeting/NMEA0183
Trinn 6: Testkjøring
Python -programmet vil dekode innkommende NMEA -protokoller. Hvis du ikke har noen NMEA -enhet hjemme, kan du også bruke en simulator på PCen og en enkel USB til RS485 -adapter i stedet for en ekte enhet.