Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

read

Leer datos del receptor GPS

Desde R2020b

Descripción

ejemplo

[tt,overrun] = read(gps) devuelve las lecturas del GPS en formato timetable . Esta es una lectura sin bloqueo que devuelve puntos de datos N en formato de horario, donde N se especifica mediante la propiedad SamplesPerRead y timetable se especifica usando la propiedad OutputFormat del objeto gpsdev .

ejemplo

[lla,groundSpeed,course,dops,gpsReceiverTime,timestamp,overrun] = read(gps) devuelve matrices de medidas del GPS. Esta es una lectura sin bloqueo que devuelve puntos de datos N en formato matricial, donde N se especifica mediante la propiedad SamplesPerRead y matrix se especifica utilizando la propiedad OutputFormat del objeto gpsdev .

Ejemplos

contraer todo

Lea los datos del receptor GPS conectado a la computadora host en un puerto serie específico.

Hardware requerido

Para ejecutar este ejemplo, necesita:

  • Módulo GPS UBlox Neo-6M

  • antena gps

  • Módulo USB a UART

  • cable USB

  • Cables de conexión

Conexión de hardware

GPS_UART_USB_PC.png

Conecte los pines del módulo GPS UBlox Neo-6M a los pines de su módulo USB a UART. Las conexiones son:

  • VCC - +5V

  • RX-TXO

  • TX-RXI

  • Tierra - Tierra

Conecte la antena GPS al módulo GPS. Conecte el módulo USB a UART a la computadora host con un cable USB. GPS Fix se puede adquirir fácilmente en lugares que tengan una vista despejada del cielo. Espere a que el módulo GPS adquiera señales satelitales (Fix). Esto se puede verificar verificando el LED Fix (D1) de su módulo GPS.

Crear objeto GPS

Cree un objeto gpsdev para el receptor GPS conectado a un puerto específico. Especifique el formato de salida de los datos como un calendario.

gps = gpsdev('COM4','OutputFormat',"timetable")
gps = 
  gpsdev with properties:

                         SerialPort: COM4	
                           BaudRate: 9600 (bits/s)

                     SamplesPerRead: 1	 
                           ReadMode: "latest"	 
                        SamplesRead: 0	 
Show all properties all functions

Leer los datos del GPS

Leer los datos del GPS y devolverlos como horario.

[tt,overruns] = read(gps)
tt=1×5 timetable
              Time                         LLA               GroundSpeed    Course            DOPs                GPSReceiverTime     
    ________________________    _________________________    ___________    ______    ____________________    ________________________

    22-Mar-2021 15:31:15.190    17.47    78.343     449.6      0.25619       NaN      9.31    1.48    9.19    22-Mar-2021 10:01:14.000

overruns = 0

Muestra el número de muestras leídas y las muestras disponibles en el búfer del host.

gps.SamplesRead
ans = 1
gps.SamplesAvailable
ans = 0

Suelte el objeto GPS para configurar las propiedades no ajustables. La función de liberación también borra el búfer y restablece las propiedades SamplesRead y SamplesAvailable .

release(gps)

Especifique el número de muestras por lectura en 2. Leer los datos del GPS.

gps.SamplesPerRead = 2;
read(gps)
ans=2×5 timetable
              Time                         LLA               GroundSpeed    Course            DOPs                GPSReceiverTime     
    ________________________    _________________________    ___________    ______    ____________________    ________________________

    22-Mar-2021 15:31:17.178    17.47    78.343       450     0.063791       NaN      9.32    1.48     9.2    22-Mar-2021 10:01:16.000
    22-Mar-2021 15:31:17.178    17.47    78.343       450     0.063791       NaN      9.32    1.48     9.2    22-Mar-2021 10:01:16.000

Muestra el número de muestras leídas y las muestras disponibles en el búfer del host.

gps.SamplesRead
ans = 1
gps.SamplesAvailable
ans = 0

Limpiar

Cuando la conexión ya no sea necesaria, borre el objeto asociado.

delete(gps);
clear gps;

Lea los datos del receptor GPS conectado a la computadora host usando el objeto serialport .

Hardware requerido

Para ejecutar este ejemplo, necesita:

  • Módulo GPS UBlox Neo-6M

  • antena gps

  • Módulo USB a UART

  • cable USB

  • Cables de conexión

Conexión de hardware

GPS_UART_USB_PC.png

Conecte los pines del módulo GPS UBlox Neo-6M a los pines de su módulo USB a UART. Las conexiones son:

  • VCC - +5V

  • RX-TXO

  • TX-RXI

  • Tierra - Tierra

Conecte la antena GPS al módulo GPS. Conecte el módulo USB a UART a la computadora host con un cable USB. GPS Fix se puede adquirir fácilmente en lugares que tengan una vista despejada del cielo. Espere a que el módulo GPS adquiera señales satelitales (Fix). Esto se puede verificar verificando el LED Fix (D1) de su módulo GPS.

Crear objeto GPS

Conéctese al receptor GPS usando el objeto serialport . Especifique el nombre del puerto y la velocidad en baudios. Especifique el formato de salida de los datos como matriz.

s = serialport('COM4',9600);
gps = gpsdev(s,'OutputFormat',"matrix")
gps = 
  gpsdev with properties:

                         SerialPort: COM4	
                           BaudRate: 9600 (bits/s)

                     SamplesPerRead: 1	 
                           ReadMode: "latest"	 
                        SamplesRead: 0	 
Show all properties all functions

Leer los datos del GPS

Lea los datos del GPS y devuélvalos como matrices.

[lla,speed,course,dops,gpsReceiverTime,timestamp,overruns] = read(gps)
lla = 1×3

   NaN   NaN   NaN

speed = NaN
course = NaN
dops = 1×3

   NaN   NaN   NaN

gpsReceiverTime = datetime
   NaT

timestamp = datetime
   22-Mar-2021 03:41:00.274

overruns = 1

Muestra el número de muestras leídas y las muestras disponibles en el búfer del host.

gps.SamplesRead
ans = 1
gps.SamplesAvailable
ans = 0

Vacíe todos los datos de GPS acumulados en los buffers y restablezca las propiedades SamplesRead y SamplesAvailable .

flush(gps)

Muestra el número de muestras leídas y las muestras disponibles en el búfer del host.

gps.SamplesRead
ans = 0
gps.SamplesAvailable
ans = 0

Limpiar

Cuando la conexión ya no sea necesaria, borre el objeto asociado.

delete(gps);
clear gps;
clear s;

Argumentos de entrada

contraer todo

El sensor GPS, especificado como un objeto gpsdev .

Argumentos de salida

contraer todo

Datos de GPS, devueltos como timetable. El timetable devuelto tiene los siguientes campos:

  • LLA (Latitud, Longitud, Altitud)

  • Pista de velocidad

  • Curso sobre tierra

  • Dilución de precisiones (DOP), VDOP, HDOP, PDOP

  • Hora del receptor GPS

  • Hora: hora del sistema cuando se leen los datos, en formato datetime o duration

Tipos de datos: timetable

Posición del receptor GPS en la latitud, longitud y altitud geodésica (LLA), devuelta como un arreglo finito real N por 3. La latitud y la longitud están en grados, siendo el norte y el este positivos. La altitud está en metros.

Tipos de datos: double

Velocidad de desplazamiento, devuelta como un vector finito real N-por-1.

Tipos de datos: double

Curso sobre el terreno en relación con el norte verdadero, devuelto como un vector finito real N por 1 de valores entre 0 y 2pi radianes.

Tipos de datos: double

Dilución de precisiones, devuelta como una matriz finita real N-por-3 de la forma [PDOP,HDOP,VDOP].

Tipos de datos: double

Hora UTC, devuelta como un vector N por 1.

Tipos de datos: datetime

Hora a la que se leen los datos GPS, devuelta como un vector finito real N por 1. Esta es la hora del sistema. Si TimeFormat es datetime, la marca de tiempo será datetime. Si el TimeFormat es un duration, la marca de tiempo será duration

  • datetime : muestra la fecha y hora en que se leen los datos.

  • duration : muestra el tiempo transcurrido en segundos después de la primera llamada de la función read o la última ejecución de la función release .

Nota

Si el SamplesPerRead es mayor que 1, se realiza una extrapolación sobre el valor del tiempo. Por tanto, puede que no sea preciso.

Tipos de datos: datetime | duration

La cantidad de muestras perdidas entre llamadas consecutivas a read. El exceso es cero cuando ReadMode se establece en oldest.

Tipos de datos: double

Más acerca de

contraer todo

read Salida

El objeto gpsdev espera sentencias GPRMC, GPGGA y GPGSA como salidas del receptor GPS para obtener los valores requeridos. La función read genera un error si estas oraciones no están disponibles.

La función read genera NaN y NaT en las siguientes situaciones:

  • Si el módulo GPS no recibe datos válidos porque no hay bloqueo de satélite o cuando el GPS no da un valor particular.

  • Si hay una falla en la suma de verificación, los puntos de datos correspondientes serán NaN para salidas numéricas (lla, speed, course, dops) y NaT para gpsRecieverTime. lla se toma de la sentencia GPGGA, speed, course y gpsRecieverTime se toma de la sentencia GPRMC y dops se toman de la sentencia GPGSA.

Debido a que la función read no bloquea, se espera lo siguiente:

  • Si no hay datos nuevos disponibles, la salida de read son los datos anteriores. Por ejemplo, si el retraso entre lecturas posteriores es menor que el UpdateRate del receptor GPS.

Debido a que los datos GPS se validan en la primera operación read , puede llevar más tiempo en comparación con las operaciones read posteriores.

Historial de versiones

Introducido en R2020b

Consulte también

Objetos

Funciones