read

Считайте данные из GPS-приемника

Описание

пример

[tt,overrun] = read(gps) возвращает показания GPS в timetable формат. Это - не чтение блокирования, которое возвращает точки данных N в формате расписания, где N задан SamplesPerRead свойство и timetable задан с помощью OutputFormat свойство gpsdev объект.

пример

[lla,groundSpeed,course,dops,gpsReceiverTime,timestamp,overrun] = read(gps) возвращает матрицы измерений от GPS. Это - не чтение блокирования, которое возвращает точки данных N в матричном формате, где N задан SamplesPerRead свойство и matrix задан с помощью OutputFormat свойство gpsdev объект.

Примеры

свернуть все

Считайте данные из GPS-приемника, соединенного с хостом - компьютером на определенном последовательном порте.

Необходимое оборудование

Чтобы запустить этот пример, вам нужно:

  • Модуль GPS UBlox Neo-6M

  • Антенна GPS

  • USB к модулю UART

  • USB-кабель

  • Соединение проводов

Аппаратная связь

Соедините контакты на модуле GPS UBlox Neo-6M к контактам на вашем USB к модулю UART. Связи:

  • VCC - +5V

  • RX - TXO

  • TX - RXI

  • GND - GND

Соедините антенну GPS с модулем GPS. Соедините USB с модулем UART к хосту - компьютеру с USB-кабелем. Фиксация GPS может быть легко получена в местоположениях, которые имеют хороший обзор о небе. Ожидайте модуля GPS, чтобы получить спутниковые сигналы (Фиксируют).This, может быть проверен путем проверки Фиксации LED (D1) модуля GPS.

Создайте объект GPS

Создайте gpsdev объект для GPS-приемника, соединенного с определенным портом. Задайте выходной формат данных как расписание.

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

Считайте данные о GPS

Считайте данные о GPS и возвратите их как расписание.

[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

Отобразите чтение количества отсчетов и выборки, доступные в буфере хоста.

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

Выпустите объект GPS сконфигурировать не настраиваемые свойства. Функция релиза также очищает буфер и сбрасывает SamplesRead и SamplesAvailable свойства.

release(gps)

Задайте количество отсчетов на чтение к 2. Считайте данные о 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

Отобразите чтение количества отсчетов и выборки, доступные в буфере хоста.

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

Очистка

Когда связь больше не будет необходима, очистите связанный объект.

delete(gps);
clear gps;

Считайте данные из GPS-приемника, соединенного с хостом - компьютером с помощью serialport объект.

Необходимое оборудование

Чтобы запустить этот пример, вам нужно:

  • Модуль GPS UBlox Neo-6M

  • Антенна GPS

  • USB к модулю UART

  • USB-кабель

  • Соединение проводов

Аппаратная связь

Соедините контакты на модуле GPS UBlox Neo-6M к контактам на вашем USB к модулю UART. Связи:

  • VCC - +5V

  • RX - TXO

  • TX - RXI

  • GND - GND

Соедините антенну GPS с модулем GPS. Соедините USB с модулем UART к хосту - компьютеру с USB-кабелем. Фиксация GPS может быть легко получена в местоположениях, которые имеют хороший обзор о небе. Ожидайте модуля GPS, чтобы получить спутниковые сигналы (Фиксируют).This, может быть проверен путем проверки Фиксации LED (D1) модуля GPS.

Создайте объект GPS

Свяжите с GPS-приемником с помощью serialport объект. Задайте имя порта и скорость в бодах. Задайте выходной формат данных как матрица.

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

Считайте данные о GPS

Считайте данные о GPS и возвратите их как матрицы.

[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

Отобразите чтение количества отсчетов и выборки, доступные в буфере хоста.

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

Сбросьте все данные о GPS, накопленные в буферах, и сбросьте SamplesRead и SamplesAvailable свойства.

flush(gps)

Отобразите чтение количества отсчетов и выборки, доступные в буфере хоста.

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

Очистка

Когда связь больше не будет необходима, очистите связанный объект.

delete(gps);
clear gps;
clear s;

Входные параметры

свернуть все

Датчик GPS в виде gpsdev объект.

Выходные аргументы

свернуть все

Данные о GPS, возвращенные как timetable. timetable возвращенный имеет следующие поля:

  • LLA (широта, долгота, высота)

  • Скорость относительно земли

  • Курс по земле

  • Растворение точности (МЕДНЫЕ ЗАЖИМЫ), VDOP, HDOP, PDOP

  • Время GPS-приемника

  • Время — Системное время, когда данные считаны в datetime или duration формат

Типы данных: timetable

Положение GPS-приемника в геодезической широте, долготе, и высоте (LLA), возвратилось как действительный конечный N-by-3 массив. Широта и долгота в градусах с Севером и Востоком, являющимся положительным. Высота исчисляется в метрах.

Типы данных: double

Скорость по земле, возвращенной как действительный конечный N-by-1 вектор.

Типы данных: double

Курс по земле относительно истинного севера, возвращенного как действительный конечный N-by-1 вектор из значений между 0 и 2pi радианы.

Типы данных: double

Растворение точности, возвращенной как действительный конечный N-by-3 матрица формы [PDOP,HDOP,VDOP].

Типы данных: double

Время UTC, возвращенное как N-by-1 вектор.

Типы данных: datetime

Время, в которое считаны данные о GPS, возвратилось как действительный конечный N-by-1 вектор. Это - системное время. Если TimeFormat isdatetime, меткой времени будет datetime. Если TimeFormat duration, меткой времени будет duration

  • datetime — Отображает дату и время, в которой считаны данные.

  • duration — Отображается время протекло в секундах после первого вызова read функционируйте или последнее выполнение release функция.

Примечание

Если SamplesPerRead больше 1, экстраполяция сделана на временной стоимости. Следовательно это не может быть точно.

Типы данных: datetime | duration

Количество отсчетов, потерянное между последовательными вызовами read. Переполнение является нулем когда ReadMode установлен в oldest.

Типы данных: double

Больше о

свернуть все

read Вывод

gpsdev объект ожидает, что GPRMC, GPGGA и предложения GPGSA как выходные параметры от GPS-приемника получат необходимые значения. read функциональные ошибки, если эти предложения не доступны.

read функциональные выходные параметры NaN и NaT в следующих ситуациях:

  • Если модуль GPS не получает допустимые данные, потому что нет никакой спутниковой блокировки или когда GPS не дает особое значение.

  • Если будет несовпадение контрольной суммы, соответствующими точками данных будет NaN для числовых выходных параметров (lla, speed, course, dops) и NaT для gpsRecieverTime. lla взят из предложения GPGGA, speed, course, и gpsRecieverTime взят предложение GPRMC и dops взяты из предложения GPGSA.

Поскольку read функция не блокируется, следующее ожидается:

  • Если нет новых данных доступно, выход read предыдущие данные. Например, если задержка между последующими чтениями меньше UpdateRate из GPS-приемника.

Поскольку данные о GPS подтверждены в первом read операция, может потребоваться больше времени по сравнению с последующим read операции.

Смотрите также

Объекты

Функции

Введенный в R2020b