exponenta event banner

соединиться

Подключение к клиентам MAVLink через порт UDP

Описание

пример

connectionName = connect(mavlink,"UDP") подключается к mavlinkio через порт UDP.

connectionName = connect(___,Name,Value) дополнительно задает аргументы, использующие пары имя-значение.

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Примеры

свернуть все

Подключение к клиенту MAVLink.

mavlink = mavlinkio("common.xml");
connect(mavlink,"UDP");

Создайте объект для хранения информации о клиенте. Укажите идентификатор системы и компонента.

client = mavlinkclient(mavlink,1,1)
client = 
  mavlinkclient with properties:

         SystemID: 1
      ComponentID: 1
    ComponentType: "Unknown"
    AutopilotType: "Unknown"

Отключить от клиента.

disconnect(mavlink)

В этом примере показано, как подключаться к клиентам MAVLink, проверять список тем, подключений и клиентов и отправлять сообщения через UDP-порты по протоколу связи MAVLink.

ПРИМЕЧАНИе.В этом примере необходимо установить библиотеку БПЛА для системы робототехники Toolbox ®. ЗвонитьroboticsAddons для открытия проводника надстроек и установки библиотеки.

Подключение к клиенту MAVLink с помощью "common.xml" диалект. Этот локальный клиент взаимодействует с любыми другими клиентами через порт UDP.

dialect = mavlinkdialect("common.xml");
mavlink = mavlinkio(dialect);
connect(mavlink,"UDP")
ans = 
"Connection1"

Можно перечислить все активные клиенты, подключения и разделы для подключения MAVLink. В настоящее время существует только одно клиентское соединение, и никакие темы не получили сообщений.

listClients(mavlink)
ans=1×4 table
    SystemID    ComponentID    ComponentType          AutopilotType     
    ________    ___________    ______________    _______________________

      255            1         "MAV_TYPE_GCS"    "MAV_AUTOPILOT_INVALID"

listConnections(mavlink)
ans=1×2 table
    ConnectionName      ConnectionInfo   
    ______________    ___________________

    "Connection1"     "UDP@0.0.0.0:38489"

listTopics(mavlink)
ans =

  0x5 empty table

Создайте абонента для получения сообщений на клиенте. Этот абонент прослушивает "HEARTBEAT" тема сообщения с идентификатором, равным 0.

sub = mavlinksub(mavlink,0);

Создать "HEARTBEAT" сообщение с использованием mavlinkdialect объект. Укажите полезную информацию и отправьте сообщение через клиент MAVLink.

msg = createmsg(dialect,"HEARTBEAT");
msg.Payload.type(:) = enum2num(dialect,'MAV_TYPE','MAV_TYPE_QUADROTOR');
sendmsg(mavlink,msg)

Отключитесь от клиента.

disconnect(mavlink)

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

свернуть все

Клиентское соединение MAVLink, указанное как mavlinkio объект.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'LocalPort',12345

Идентифицирующее имя соединения, указанное как пара, разделенная запятыми, состоящая из 'ConnectionName' и строковый скаляр. Имя подключения по умолчанию: "Connection#".

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

Локальный порт для UDP-соединения, указанный как числовой скаляр. Значение 0 связывается со случайным открытым портом.

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

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

свернуть все

Идентифицирующее имя соединения, указанное как строковый скаляр. Имя подключения по умолчанию: "Connection#", где # - целое число, начинающееся с 1 и увеличивается с каждым новым созданным соединением.

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

Представлен в R2019a