SoloCodigo

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: mascato en Martes 20 de Abril de 2010, 15:02

Título: Manejo de un puerto en consola (UNIX)
Publicado por: mascato en Martes 20 de Abril de 2010, 15:02
Hola confesionario, os cuento mi problema: Tengo un receptor GPS USB de esos baratos, que está escupiendo sentencias NMEA cada segundo. Para ver las sentencias es sencillo, con un mero
Código: Text
  1. screen /dev/tty.PL2303-00001004 4800
  2.  
logro ver el stream NMEA en pantalla.

Ahora viene la cosa, cuando intento capturar ese flujo en un archivo de texto me hago la picha un lío y me temo que estoy cometiendo un error de concepto básico, pero no logro hacerlo bien.

En teoría, para leer un archivo se usa "cat", pero al ejecutar
Código: Text
  1. cat /dev/tty.PL2303-00001004 4800
  2.  
no me aparece nada.

También he intentado capturar con grep sólo las sentencias GPMRC (que son las que mínimamente me interesan) para guardarlas en un archivo de texto a modo de log. Pero nada de nada.

Pregunta: ¿Cómo narices capturo en un archivo de texto un stream desde un puerto serie? Ya no sé ni qué intentar, y me gustaría poder hacerlo en shell script. Si no se puede pues nada, qué le vamos a hacer, pero pienso que se puede.

Un saludo y ojalá me podáis alumbrar un poco en este caminejo. ¡Besetes!
Título: Re: Manejo de un puerto en consola (UNIX)
Publicado por: posman en Martes 20 de Abril de 2010, 16:00
Has intentado esto (para mostrarlo en pantalla)
Código: Text
  1. tail -f /dev/tty.PL2303-00001004 4800
  2.  
o esto para guardarlo en un archivo
Código: Text
  1. screen  /dev/tty.PL2303-00001004 4800 > /ruta/del/archivo
  2.  
Título: Re: Manejo de un puerto en consola (UNIX)
Publicado por: mascato en Martes 20 de Abril de 2010, 23:07
Guay, gracias. Mañana sacaré tiempo y lo pruebo, ya te contaré cómo me ha sido ;-)
Título: Re: Manejo de un puerto en consola (UNIX)
Publicado por: su - en Miércoles 21 de Abril de 2010, 02:11
Estas seguro que /dev/tty.PL2303-00001004 es el dispositivo?

No se supone que es USB... y no serial?
Título: Re: Manejo de un puerto en consola (UNIX)
Publicado por: mascato en Miércoles 21 de Abril de 2010, 11:12
Nada, ni "tail" ni tras hacer "screen" meterle un > para guardarlo en un archivo, tampoco con >>.

El dispositivo es un usb a serie del que ya tengo instalado todo para que funcione, de hecho, como he comentado antes, ya he conseguido ver el flujo de datos NMEA que me manda.

Qué cosa tan rara =(
Título: Re: Manejo de un puerto en consola (UNIX)
Publicado por: mascato en Jueves 22 de Abril de 2010, 11:08
Nada, he vuelto a intentar algo nuevo:
Código: Text
  1. cat /dev/ttyUSB0 4800 | grep GPRMC > /ruta/del/archivo
  2.  

También he probado con esto:
Código: Text
  1. screen /dev/ttyUSB0 4800 | grep GPRMC > /ruta/del/archivo
  2.  

No sé qué probar, qué cosas...
Título: Re: Manejo de un puerto en consola (UNIX)
Publicado por: m0skit0 en Miércoles 5 de Mayo de 2010, 01:06
Prueba con

Código: Text
  1. screen /dev/ttyUSB0 4800 2> /ruta/del/fichero
  2.  

PD: lo de archivo es una microsoftada  :P