Creando un puerto serie virtual

8

Estoy intentando crear un par de puertos seriales virtuales en mi mac. Esto es bastante fácil de hacer con muchos programas shareware en una PC. Pensé que habría un comando de shell súper poderoso para hacer esto en una línea, pero no puedo encontrarlo.

Quiero enviar datos NMEA a un puerto y que Google Earth lea los datos del otro.

¿Algún consejo?

EDIT

El comentario de /dev/ptypx de MrDaniel pareció ser interesante: puedo sacarlo de /dev/ttypx muy bien en la terminal.
Pero Google Earth parece estar leyendo. en lugar de los / ttypx deveices ..

específicamente (Old Pro):

Cuando intentamos importar la ubicación actual utilizando un GPS (o flujo NMEA canalizado a través de nuestro puerto serie virtual), vamos a: Herramientas > GPS > En tiempo real para llegar a la pantalla de importación.
Después de seleccionar la opción NMEA, y habilitar el seguimiento en tiempo real, busca los dispositivos conectados y parece mirar:

  • usb:
  • /dev/cu.Bluetooth-PDA-Sync
  • /dev/cu.Bluetooth-Modem
  • /dev/cu.iPhone-WirelessAP

Incluso con nuestro puerto serie ttypx funcionando bien, no lo busca.
Me gustaría obtener los datos de ese dispositivo en Google Earth.

    
pregunta DefenestrationDay 01.11.2011 - 11:42

6 respuestas

7

Google tiene una herramienta extremadamente útil para los desarrolladores de Arduino y simula muy bien los puertos serie en OS X para propósitos de prueba. Solo funciona hasta las 10.6.

<

(anteriormente disponible en enlace )

¿Podría esto ayudarte?

    
respondido por el Raúl Pedroche 04.06.2012 - 14:42
3

Creo que lo que está buscando es un Pseudo Terminal como se indica en Text-Terminal -HOWTO , parece que Mac OS X se ha incorporado en /dev y parece que esto puede hacer lo que quieres hacer, por ejemplo dos programas hablando juntos a través de un puerto serie "virtual".

  

Los pseudo terminales son pares de dispositivos como / dev / ptyp3 y / dev / ttyp3. No hay ningún dispositivo físico directamente asociado con ninguno de ellos, ni siquiera un conector de puerto serie. Pero si un programa trata ttyp3 como si fuera un puerto serie, lo que se lee y escribe en ese puerto aparece en el otro miembro del par ptyp3 que otro programa usa para leer y escribir. Por lo tanto, dos programas se comunican entre sí a través de este método y un programa en ttyp3 piensa que está hablando con un puerto serie. Es algo así como una "tubería" entre estos dos tty's.

Además, la pantalla también es útil para usted.

    
respondido por el MrDaniel 03.05.2012 - 23:25
1

Su pregunta tiene varios ángulos aquí:

  • ¿Solo desea convertir pistas NMEA, etc., en algo que Google Earth pueda leer (y mostrar)? GPSBabel es la herramienta elegida para este tipo de cosas.
  • ¿Desea conectar su GPS y leer su contenido a través de un puerto serie? Las Mac no tienen puertos seriales, necesitará algo como Keyspan USA-19HS para conecta dispositivos serie a través de USB.
  • ¿Quieres crear dispositivos seriales virtuales por curiosidad? Eso es definitivamente posible pero más allá de mi conocimiento ...
respondido por el nohillside 01.11.2011 - 18:56
0

No está claro que pueda falsificar la detección de puerto serie incorporada, pero empezaría con una canalización con nombre (mkfifo ) en /dev/cu.fake.ttypx y tenga algunos datos listos para ser leídos cuando habilite el tiempo real.

Mi copia de Google Earth parece sondear cada fuente potencial en orden y continúa haciendo nada más que escanear ya que no tengo datos NMEA proporcionados.

Por supuesto, necesitará un pequeño script [shell | perl | python] para leer desde /dev/ttypx y escribir en su archivo fifo "falso".

    
respondido por el bmike 05.06.2012 - 00:58
-1

Hay una herramienta de Windows llamada GooPs enlace que maneja algunas tareas similares.

También puedes crear una marca de posición que lea las coordenadas de un archivo y se actualice cada segundo.

enlace

    
respondido por el Max N 16.05.2016 - 08:33
-1

He utilizado un pseudoterminal de Posix para crear un puerto de comunicación virtual en un programa OSX C. Puede buscar la función de biblioteca posix_openpt ().

    
respondido por el Tom Dowad 28.12.2016 - 19:36

Lea otras preguntas en las etiquetas