Este es el comando gpsfake que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
gpsfake - arnés de prueba para gpsd, simulando un GPS
SINOPSIS
gps falso [-1] [-h] [-b] [-c intervalo] [-identificación nivel de depuración] [-l] [-m monitorear] [-g] [-n]
[-o opciones] [-p] [-p Puerto] [-r initcmd] [-s velocidad] [-S] [-u] [-t] [-v]
[archivo de registro...]
DESCRIPCIÓN
gpsfake es un arnés de prueba para gpsd y sus clientes. Abre un pty (pseudo-TTY), lanza
una instancia de gpsd que piensa que el lado esclavo del pty es su dispositivo GPS, y repetidamente
alimenta el contenido de uno o más archivos de registro de prueba a través del lado maestro al GPS. Si
hay varios archivos de registro, las oraciones de ellos se intercalan en el orden en que los archivos
se especifican.
gpsfake no requiere privilegios de root y se puede ejecutar simultáneamente con una producción
instancia de gpsd sin causar problemas.
Los archivos de registro pueden contener paquetes en cualquier formato admitido, incluido en particular NMEA,
SiRF, TSIP o Zodiac. Las líneas iniciales que comienzan con # se tratarán como comentarios y
ignorado, excepto en los siguientes casos especiales:
· Se puede utilizar un comentario con el formato #Fecha: aaaa-mm-dd (formato de fecha ISO8601) para establecer el
fecha inicial del registro.
· Un comentario de la forma #Serial: [0-9] * [78] [NOE] [12] puede usarse para configurar el serial
parámetros para el registro: velocidad en baudios, longitud de palabra, bits de parada.
· Un comentario de la forma #Transporte: UDP puede usarse para falsificar una fuente UDP en lugar de la
pty normal.
La instancia de gpsd se ejecuta en primer plano. El hilo que envía datos GPS falsos al demonio es
ejecutar en segundo plano.
OPCIONES
Con la opción -1, el archivo de registro se interpreta una sola vez en lugar de repetidamente. Esta
La opción está destinada a facilitar las pruebas de regresión.
La -b habilita un indicador de progreso de bastón giratorio en caso de error estándar. Al finalizar,
informa el tiempo transcurrido.
La -c establece la demora entre oraciones en segundos. Los valores fraccionarios de segundos son
legal. El valor predeterminado es cero (sin demora).
La -l hace que el programa descargue una línea o un número de paquete justo antes de que cada oración se envíe a
el demonio. Si la oración es textual (por ejemplo, NMEA), el texto también se descarta. Que no,
el paquete se volcará en hexadecimal (a excepción de los paquetes RTCM, que no se volcan en
todos). Esta opción es útil para comprobar que gpsfake está definiendo correctamente los límites de los paquetes.
La -i es para un solo paso a través de archivos de registro. Vuelca la línea o el número de paquete (y
la oración si el protocolo es textual) seguida de "?". Solo cuando las teclas de usuario Enter
es la línea que realmente se alimenta a gpsd.
La -m especifica un programa de supervisión dentro del cual se debe ejecutar el demonio. Esta opcion es
destinado a ser utilizado con Valgrind(1) gdb(1) y programas similares.
La -g utiliza la función de monitor para ejecutar la instancia de gpsd dentro de gpsfake bajo el control de
gbd.
La -o especifica opciones para pasar al demonio. La opción -n pasa -n para iniciar el
demonio que lee el GPS sin esperar a un cliente (equivalente a -o "-n"). los -D pasa
una opción -D para el demonio: así -D 4 es la abreviatura de -o "-D 4".
La opción -p ("tubería") establece el modo de observador y descarga las notificaciones NMEA y GPSD
generado por el registro a la salida estándar. Esto es útil para las pruebas de regresión.
La opción -P ("puerto") establece el puerto de escucha del demonio.
La -r especifica un comando de inicialización para usar en el modo de canalización. El valor predeterminado es
? WATCH = {"enable": true, "json": true}.
La -s establece la velocidad en baudios para el tty esclavo. El valor predeterminado es 4800.
La opción -S le dice a gpsfake que inserte retrasos realistas en la entrada de prueba en lugar de
tratando de pasarlo por el demonio lo más rápido posible. Esto hará que se ejecuten las pruebas.
mucho más lento, pero evita fallas escamosas debido a la carga de la máquina y las posibles condiciones de carrera en
la capa de pty.
La -t obliga al marco de prueba a utilizar TCP en lugar de dispositivos pty. Además de ser una prueba
del manejo de la fuente TCP, esto puede ser útil para probar desde dentro de las cárceles chroot donde
el acceso a los dispositivos pty está bloqueado.
La -u obliga al marco de prueba a utilizar UDP en lugar de dispositivos pty. Además de ser una prueba
del manejo de fuentes UDP, esto puede ser útil para probar desde dentro de las cárceles chroot donde
el acceso a los dispositivos pty está bloqueado.
La -v habilita informes de progreso detallados a stderr. Es principalmente útil para depurar
gpsfake a sí mismo.
La -x vuelca los paquetes a medida que gpsfake los recopila. Es principalmente útil para depurar gpsfake
misma.
La -h hace que gpsfake imprima un mensaje de uso y salga.
El argumento debe ser el nombre de un archivo que contenga los datos que se ciclarán en el dispositivo.
gpsfake imprimirá una notificación cada vez que realice un ciclo.
Normalmente, gpsfake crea un pty para cada archivo de registro y pasa el lado esclavo del dispositivo
al demonio. Si el comentario del encabezado en el archivo de registro contiene la cadena "UDP", los paquetes son
en su lugar, se envía a través del puerto UDP 5000 a la dirección 192.168.0.1.255. Puedes monitorearlos
con este: tcpdump -s0 -n -A -i lo udp y Puerto 5000.
MAGIC COMENTARIOS
Ciertos comentarios mágicos en los encabezados de carga de prueba pueden cambiar las condiciones de la prueba. Estas
son:
De serie:
Puede contener una configuración de puerto serie como 4800 7N2: velocidad en baudios seguida de 7 u 8 para
longitud de byte, N o O o E para paridad y 1 o 2 para bits de parada. La prueba se ejecuta con
esas configuraciones en el puerto esclavo que ve el demonio.
Transporte:
Los valores 'TCP' y 'UDP' fuerzan el uso de feeds TCP y UDP respectivamente (el valor predeterminado es
una pty).
Cookie de retardo:
Debe ir seguido de dos campos separados por espacios en blanco, un carácter delimitador y un
retraso numérico en segundos. En lugar de dividirse por límites de paquetes, la prueba
la carga se divide en los delimitadores. El retraso se realiza después de cada alimentación. Puede ser útil
para imponer límites de escritura en medio de paquetes.
PERSONALIZADO TESTS
gpsfake es un envoltorio trivial alrededor de un módulo de Python, también llamado gpsfake, que se puede usar
a sesiones de script completas que involucren una instancia de gpsd, cualquier número de sesiones de cliente y cualquier
número de GPS falsos que alimentan la instancia del demonio con datos de registros de oraciones especificadas.
La documentación fuente e integrada para este módulo se envía con el desarrollo de gpsd
instrumentos. Puede usarlo para torturar-probar el propio gpsd o cualquier cliente compatible con gpsd
.
Los archivos de registro para el uso con gpsfake se pueden recuperar usando gpspipe, gpscat o gpsmon de
la distribución gpsd, o cualquier otra aplicación que sea capaz de crear un compatible
salida.
Si gpsfake sale con "No se puede ejecutar gpsd: ejecutable no encontrado". el entorno
La variable GPSD_HOME se puede establecer en la ruta donde se puede encontrar gpsd. (en lugar de agregar eso
carpeta a la variable de entorno PATH
Utilice gpsfake en línea utilizando los servicios de onworks.net