Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
NMEA-0183 Es un estándar eléctrico para conectar GPS, SONAR, sensores, unidades de piloto automático, etc. en barcos y embarcaciones. A diferencia del estándar NMEA 2000 más reciente (basado en CAN), el NMEA 0183 se basa en EIA RS422 (algunos sistemas más antiguos y / o simples usan RS-232 o un solo cable).
Quiero mostrarte cómo conectar una Raspberry Pi 3B a cualquier dispositivo NMEA-0183 con salida diferencial. Aunque el estándar requiere entradas y salidas aisladas, es útil utilizar un SOMBRERO RS422 / RS485 con interfaz aislada.
Paso 1: herramientas y software
Materiales:
Frambuesa pi
SOMBRERO RS422 / RS485
un dispositivo serial NMEA0183
Software:
Estiramiento raspbian
Simulador de NMEA
Paso 2: Conexión a NMEA 0183
En la imagen de arriba puede ver un dispositivo NMEA típico con salida diferencial. Los terminales son NMEA OUT + y NMEA OUT- o TX + o TX-. Los cables NMEA IN + y NMEA IN- son opcionales.
Si tiene un solo cable de transmisión desde su dispositivo (probablemente etiquetado como TX o NMEA OUT o algo así), entonces su dispositivo usa el protocolo RS-232. En este caso, necesitará un convertidor RS232 simple.
Paso 3: Configuración del interruptor DIP
Paso 4: Libere la línea serial y habilite UART de Raspberry Pi
La forma más fácil es usar la herramienta raspi-config para cambiar el UART a los pines GPIO14 / 15. Tomar una nueva imagen Raspbian
sudo raspi-config
vaya a '5 opciones de interfaz'
ir a 'Serie P6'
"¿Le gustaría que se pudiera acceder a un shell de inicio de sesión en serie?" NO
"¿Le gustaría que se habilitara el hardware del puerto serie?" SÍ
Termina raspi-config
reiniciar la Raspberry Pi
Ahora puede acceder a la UART a través de / dev / serial0
Paso 5: firmware
Puede encontrar muchas pilas de Python de software NMEA-0183 diferentes para Raspberry Pi Una solución muy simple es la biblioteca NMEA de Nick Sweeting:
github.com/nsweeting/NMEA0183
Tenga en cuenta: se requiere pyserial para las conexiones en serie:
github.com/nsweeting/NMEA0183
Paso 6: prueba de funcionamiento
El programa Python decodificará los protocolos NMEA entrantes. Si no tiene un dispositivo NMEA en casa, también puede usar un simulador en su PC y un simple adaptador USB a RS485 en lugar de un dispositivo real.