Считайте данные из GPS-приемника
[
возвращает матрицы измерений от GPS. Это - не чтение блокирования, которое возвращает точки данных N в матричном формате, где N задан lla
,groundSpeed
,course
,dops
,gpsReceiverTime
,timestamp
,overrun
] = read(gps
)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
— Датчик GPSgpsdev
объектДатчик GPS в виде gpsdev
объект.
tt
— Данные о GPStimetable
Данные о GPS, возвращенные как timetable
. timetable
возвращенный имеет следующие поля:
LLA (широта, долгота, высота)
Скорость относительно земли
Курс по земле
Растворение точности (МЕДНЫЕ ЗАЖИМЫ), VDOP, HDOP, PDOP
Время GPS-приемника
Время — Системное время, когда данные считаны в datetime
или duration
формат
Типы данных: timetable
lla
— Положение в системе координат LLAПоложение GPS-приемника в геодезической широте, долготе, и высоте (LLA), возвратилось как действительный конечный N-by-3 массив. Широта и долгота в градусах с Севером и Востоком, являющимся положительным. Высота исчисляется в метрах.
Типы данных: double
groundSpeed
— Скорость в m/sСкорость по земле, возвращенной как действительный конечный N-by-1 вектор.
Типы данных: double
course
— Курс по землеКурс по земле относительно истинного севера, возвращенного как действительный конечный N-by-1 вектор из значений между 0 и 2pi радианы.
Типы данных: double
dops
— Растворение точностиРастворение точности, возвращенной как действительный конечный N-by-3 матрица формы [PDOP,HDOP,VDOP]
.
Типы данных: double
gpsReceiverTime
— Время UTCВремя UTC, возвращенное как N-by-1 вектор.
Типы данных: datetime
timestamp
— Время, в которое считаны данные о GPSВремя, в которое считаны данные о GPS, возвратилось как действительный конечный N-by-1 вектор. Это - системное время. Если TimeFormat
isdatetime
, меткой времени будет datetime
. Если TimeFormat
duration
, меткой времени будет duration
datetime
— Отображает дату и время, в которой считаны данные.
duration
— Отображается время протекло в секундах после первого вызова read
функционируйте или последнее выполнение release
функция.
Примечание
Если SamplesPerRead
больше 1, экстраполяция сделана на временной стоимости. Следовательно это не может быть точно.
Типы данных: datetime
| duration
overrun
— ПревышенныйКоличество отсчетов, потерянное между последовательными вызовами 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
операции.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.