Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
NMEA-0183 yra elektrinis standartas, skirtas laivams ir valtims prijungti GPS, SONAR, jutiklius, automatinius pilotų įrenginius ir kt. Skirtingai nuo naujesnio NMEA 2000 standarto (pagrįstas CAN), NMEA 0183 yra pagrįstas EIA RS422 (kai kurios senesnės ir (arba) paprastos sistemos naudoja RS-232 arba vieną laidą).
Noriu parodyti, kaip prijungti Raspberry Pi 3B prie bet kurio NMEA-0183 įrenginio su diferencine išvestimi. Nors standartas reikalauja izoliuotų įėjimų ir išėjimų, naudinga naudoti RS422 / RS485 HAT su izoliuota sąsaja.
1 žingsnis: įrankiai ir programinė įranga
Medžiagos:
Raspberry Pi
RS422 / RS485 KEPURĖ
serijinis NMEA0183 įrenginys
Programinė įranga:
Raspbian Stretch
NMEA simuliatorius
2 veiksmas: prisijungimas prie NMEA 0183
Aukščiau esančiame paveikslėlyje galite pamatyti tipišką NMEA įrenginį su diferencine išvestimi. Gnybtai yra NMEA OUT+ ir NMEA OUT- arba TX+ arba TX-. NMEA IN+ ir NMEA IN laidai yra neprivalomi.
jei turite vieną perdavimo laidą iš savo prietaiso (greičiausiai pažymėtas TX arba NMEA OUT ar panašiai), jūsų įrenginys naudoja RS-232 protokolą. Tokiu atveju jums reikės paprasto RS232 keitiklio.
3 žingsnis: DIP jungiklio nustatymai
4 žingsnis: atlaisvinkite serijos liniją ir įgalinkite „Raspberry Pi“UART
Lengviausias būdas yra naudoti raspi-config įrankį, kad perjungtumėte UART į GPIO14/15 kaiščius. Paimkite naują Raspbian vaizdą
sudo raspi-config
eikite į „5 sąsajos parinktys“
eiti į „P6 Serial“
"Ar norite, kad prisijungimo apvalkalas būtų prieinamas per serijinį ryšį?" NE
'Ar norite, kad būtų įjungta nuoseklaus prievado aparatūra?' TAIP
Užbaikite raspi-config
iš naujo paleiskite „Raspberry Pi“
Dabar galite pasiekti UART per /dev /serial0
5 veiksmas: programinė įranga
Rasite daug įvairių „NMEA-0183“programinės įrangos „Python“kaminų, skirtų „Raspberry Pi“. Labai paprastas sprendimas yra Nick Sweeting NMEA biblioteka:
github.com/nsweeting/NMEA0183
Atkreipkite dėmesį: nuosekliam ryšiui reikalinga „pyserial“:
github.com/nsweeting/NMEA0183
6 žingsnis: bandomasis paleidimas
„Python“programa dekoduos gaunamus NMEA protokolus. Jei namuose neturite NMEA įrenginio, vietoj tikro įrenginio savo kompiuteryje taip pat galite naudoti simuliatorių ir paprastą USB į RS485 adapterį.