Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
NMEA-0183 Este un standard electric pentru conectarea GPS-urilor, SONAR-ului, senzorilor, unităților de pilot auto etc. la nave și bărci. Spre deosebire de noul standard NMEA 2000 (bazat pe CAN) NMEA 0183 se bazează pe EIA RS422 (unele sisteme mai vechi și / sau simple folosesc RS-232 sau un singur fir).
Vreau să vă arăt cum să conectați un Raspberry Pi 3B la orice dispozitiv NMEA-0183 cu ieșire diferențială. Deși standardul solicită intrări și ieșiri izolate, este util să folosiți un RS422 / RS485 HAT cu interfață izolată.
Pasul 1: Instrumente și software
Materiale:
Raspberry Pi
RS422 / RS485 HAT
un dispozitiv serial NMEA0183
Software:
Raspbian Stretch
Simulator NMEA
Pasul 2: Conexiune la NMEA 0183
În imaginea de mai sus puteți vedea un dispozitiv tipic NMEA cu ieșire diferențială. Terminalele sunt NMEA OUT + și NMEA OUT- sau TX + sau TX-. Cablurile NMEA IN + și NMEA IN sunt opționale.
dacă aveți un singur fir de transmisie de pe dispozitiv (cel mai probabil etichetat TX sau NMEA OUT sau ceva de genul acesta), atunci dispozitivul dvs. utilizează protocolul RS-232. În acest caz, veți avea nevoie de un convertor RS232 simplu.
Pasul 3: Setări comutator DIP
Pasul 4: Eliberați linia serială și activați UART al Raspberry Pi
Cea mai ușoară modalitate este de a utiliza instrumentul raspi-config pentru a comuta UART la pinii GPIO14 / 15. Faceți o imagine Raspbian proaspătă
sudo raspi-config
mergeți la „5 Opțiuni de interfață”
mergeți la „Seria P6”
„Doriți ca un shell de conectare să fie accesibil prin serial?” NU
„Doriți să fie activat hardware-ul portului serial?” DA
Termină raspi-config
reporniți Raspberry Pi
Acum puteți accesa UART prin / dev / serial0
Pasul 5: Firmware
Puteți găsi o mulțime de software-uri NMEA-0183 diferite Stive Python pentru Raspberry Pi O soluție foarte simplă este biblioteca NMEA de Nick Sweeting:
github.com/nsweeting/NMEA0183
Vă rugăm să rețineți: pyserial este necesar pentru conexiunile seriale:
github.com/nsweeting/NMEA0183
Pasul 6: Test Run
Programul Python va decoda protocoalele NMEA primite. Dacă nu aveți niciun dispozitiv NMEA acasă, puteți utiliza, de asemenea, un simulator pe computer și un adaptor simplu USB la RS485 în locul unui dispozitiv real.