Свяжите с GPS-приемником, соединенным с хостом - компьютером
gpsdev
Система object™ связывает с GPS-приемником, соединенным с хостом - компьютером.
Связывать с GPS-приемником:
Создайте gpsdev
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?
подключения к GPS-приемнику в заданном последовательном порту хоста - компьютера.gps
= gpsdev(port
)
подключения к GPS-приемнику заданы последовательным объектом.gps
= gpsdev(serialobj
)
подключения к GPS-приемнику на заданном порте или заданный через последовательный объект, с помощью одной или нескольких пар "имя-значение".gps
= gpsdev(___,Name,Value)
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.
BaudRate
BaudRate
Это свойство доступно только для чтения.
Скорость в бодах для последовательной передачи. Скорость в бодах установлена на уровне 9 600 бит/с. GPS-приемник должен быть сконфигурирован, чтобы работать на уровне 9 600 бит/с. Если ваш GPS-приемник сконфигурирован к некоторой другой скорости в бодах, реконфигурируйте его к 9 600 бит/с, чтобы использовать gpsdev
функция.
ReadMode
— Задайте который выборки данных быть возвращенными'latest'
(значение по умолчанию) | 'oldest'
Задайте, возвратить ли последнее или самые старые выборки данных. Количество отсчетов зависит от SamplesPerRead
значение. Данные, считанные из GPS-приемника, хранятся в MATLAB® буфер.
latest
— Обеспечивает последние выборки данных, доступные в буфере. Отбрасываются все предыдущие выборки данных в буфере. Например, если SamplesPerRead
= 3, последние три выборки данных, считанные GPS-приемником, возвращены.
oldest
— Обеспечивает самые старые выборки данных, доступные в буфере. В этом случае никакие выборки данных не отбрасываются. Например, если SamplesPerRead
= 3, первые три демонстрационных чтения данных возвращены для первого чтения, следующие три выборки данных возвращены для второго чтения и так далее.
Настраиваемый: нет
Типы данных: character vector
| string
SamplesRead
— Демонстрационное чтениеЭто свойство доступно только для чтения.
Количество отсчетов, считанное из GPS-приемника с помощью read
функция, после того, как объект заблокирован. gpsdev
объект заблокирован любой в первом вызове read
функция после создания объекта или в первом вызове функции чтения после выполнения release
функция.
Типы данных: double
SamplesAvailable
— Выборки в буфере хостаЭто свойство доступно только для чтения.
Выборки, доступные в буфере хоста. Когда вы release
объект, SamplesAvailable
установлен в 0.
Типы данных: double
SamplesPerRead
— Выборки на чтение
(значение по умолчанию)Выборки считаны из первого read
В виде положительного целого числа в области значений [1 10].
Настраиваемый: нет
Типы данных: double
OutputFormat
— Установите выходной формат'timetable'
(значение по умолчанию) | 'matrix'
Установите выходной формат данных, возвращенных путем выполнения read
функция.
Когда OutputFormat
установлен в timetable
, timetable
возвращенный имеет следующие поля:
LLA (широта, долгота, высота)
Скорость относительно земли
Курс по земле
Растворение точности (МЕДНЫЕ ЗАЖИМЫ), VDOP, HDOP, PDOP
Время GPS-приемника
Время — Системное время, когда данные считаны в datetime
или duration
формат
Когда OutputFormat
установлен в matrix
, данные возвращены как матрицы Времени, LLA, Скорости относительно земли, Курса по земле, МЕДНЫМ ЗАЖИМАМ, и время GPS-приемника. Модули для показаний GPS-приемника совпадают с timetable
формат.
Настраиваемый: да
Типы данных: character vector
| string
TimeFormat
— Установите формат времени, отображенного, когда данные о GPS будут считаны'datetime'
(значение по умолчанию) | 'duration'
Установите формат времени, отображенного, когда данные о GPS будут считаны.
datetime
— Отображает дату и время, в которой считаны данные.
duration
— Отображается время протекло в секундах после того, как объект GPS заблокирован. gpsdev
объект заблокирован любой в первом вызове read
функция после создания объекта или в первом вызове функции чтения после выполнения release
функция.
Настраиваемый: да
Типы данных: character vector
| string
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
flush | Сбросьте все данные о GPS, накопленные в буферах, и сбросьте свойства |
info | Считайте частоту обновления, информацию о блокировке GPS и количество спутников в поле зрения для GPS-приемника |
read | Считайте данные из GPS-приемника |
release | Выпустите объект GPS |
writeBytes | Запишите необработанные команды в GPS-приемник |
Получите географическое положение с помощью 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')
gps = gpsdev with properties: SerialPort: COM4 BaudRate: 9600 (bits/s) SamplesPerRead: 1 ReadMode: "latest" SamplesRead: 0 Show all properties all functions
Считайте данные о GPS
Считайте данные о GPS и извлеките широту, долготу, и время от него. GPS возвращает datetime UTC. Преобразуйте его в зону системного времени.
[gpsData,~] = read(gps);
latitude = gpsData.LLA(1);
longitude = gpsData.LLA(2);
gpsTime = gpsData.GPSReceiverTime;
gpsTime.TimeZone = 'local';
Постройте положение в карте наряду с меткой времени
Постройте положение в географических осях с данными, полученными из модуля GPS. GPS должен иметь, фиксируют, чтобы получить допустимые значения для широты, долготы и gpsTime
.
Если модуль GPS не имеет, фиксируют, вышеупомянутые команды дают NaN
s для широты и долготы и NaT
для gpsTime
. В этом случае убедитесь, что антенна отсоединена, чтобы очистить небо и ожидать в течение некоторого времени и попробовать перечисленные выше шаги снова.
if(~isnan(latitude) && ~isnan(longitude)) % plot the position in geographic coordinates fig = geoplot(latitude,longitude,'Marker',"o",'MarkerSize',6,'Color','red','MarkerFaceColor','red'); % Sets the latitude and longitude limits of the base Map geolimits([latitude-0.05 latitude+0.05],[longitude-0.05 longitude+0.05]) ; % Selects the basemap geobasemap streets; timeString = strcat("Timestamp: ",string(gpsTime)); % Create annotation and display time received from GPS annotation('textbox',[0.005 0.98 0.6 0.01],'FitBoxToText','on','string',timeString,'Color','blue','FontSize',10); end
Очистка
Когда связь больше не будет необходима, очистите связанный объект.
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)
s = Serialport with properties: Port: "COM4" BaudRate: 9600 NumBytesAvailable: 0 Show all properties, functions
gps = gpsdev(s)
gps = gpsdev with properties: SerialPort: COM4 BaudRate: 9600 (bits/s) SamplesPerRead: 1 ReadMode: "latest" SamplesRead: 0 Show all properties all functions
Запишите команды настройки
В настройке по умолчанию GPS-приемник возвращает следующие сообщения NMEA: GPRMC, GPVTG, GPGGA, GPGSA, GPGSV и GPGLL. Приемник может быть сконфигурирован, чтобы иметь определяемый пользователем набор выходных сигналов.
Прочитайте немного строк сообщений по умолчанию от последовательного порта, GPS-приемник соединяется.
for i = 1:10 data = readline(s); disp(data); end
$GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,08,01,,,18,08,,,12,09,,,12,15,,,19*77 $GPGSV,2,2,08,23,,,13,24,,,09,25,,,10,27,,,25*79 $GPGLL,,,,,,V,N*64 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48
Запишите команду контроля версии в GPS-приемник, чтобы возвратить версию программного и аппаратного обеспечения GPS-приемника.
configCMD = [0xB5 0x62 0x0A 0x04 0x00 0x00 0x0E 0x34]; % writeBytes(gps,cfg) write(s,configCMD,'uint8')
Прочитайте немного строк сообщений снова, чтобы проверить сообщение версии.
for i = 1:10 data = readline(s); disp(data); end
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,05,01,,,13,09,,,11,15,,,16,23,,,12*74 $GPGSV,2,2,05,25,,,10*7A $GPGLL,,,,,,V,N*64 µb ( 7.03 (45969) 00040007 °$GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,06,01,,,11,09,,,11,23,,,14,24,,,21*75
Это может наблюдаться от выхода, 7.03 (45969)
версия программного обеспечения и 00040007
версия оборудования.
Очистка
Когда связь больше не будет необходима, очистите связанный объект.
delete(gps); clear gps; clear s;
Считайте данные из 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 использовались:
Adafruit окончательный GPS
Ublox NEO 6M
Ublox NEO 7M
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.