listClients
R2026bList all connected MAVLink clients
Description
lists all active connections for the clientTable = listClients(mavlink)mavlinkio client
connection.
Examples
Connect a local MAVLink client to a serial port and establish communication with a Pixhawk® 4 board running PX4® firmware by exchanging heartbeat messages.
Create a mavlinkdialect
object using the common.xml file.
dialect = mavlinkdialect("common.xml");Create a local MAVLink client by using the mavlinkio
object.
gcs = mavlinkio(dialect);
Store the remote MAVLink client information by using the mavlinkclient
object. This code stores information for a Pixhawk board with a system ID of 1 and a component ID of 1.
uav = mavlinkclient(gcs,1,1)
uav =
mavlinkclient with properties:
SystemID: 1
ComponentID: 1
ComponentType: "Unknown"
AutopilotType: "Unknown"Connect the local MAVLink client to the same serial port as the Pixhawk board by using the connect
function. In this code, the Pixhawk board uses the "COM5" port.
connect(gcs,"Serial",SerialPort="COM5");
Create a heartbeat microservice object.
heartbeat = mavlinkmicroservice(gcs,"heartbeat");Start sending heartbeat messages to the Pixhawk board by using the start
function.
start(heartbeat,uav,"Serial",SerialPort="COM5")
If the Pixhawk board replies with heartbeat messages, the local MAVLink client establishes a connection to it.
Verify that a connection has been established by using the listClients
function. Note that the heartbeat messages include the ComponentType and
AutopilotType information of the Pixhawk board.
listClients(gcs)
ans = 2×4 table
SystemID ComponentID ComponentType AutopilotType
________ ___________ ____________________ _______________________
255 1 "MAV_TYPE_GCS" "MAV_AUTOPILOT_INVALID"
1 1 "MAV_TYPE_QUADROTOR" "MAV_AUTOPILOT_PX4"Verify that the ComponentType and
AutopilotType properties of the mavlinkclient
object have been automatically updated to match the heartbeat message values.
uav
uav =
mavlinkclient with properties:
SystemID: 1
ComponentID: 1
ComponentType: "MAV_TYPE_QUADROTOR"
AutopilotType: "MAV_AUTOPILOT_PX4"To stop the connection, first stop the heartbeat message stream.
stop(heartbeat,uav)
Then, disconnect the local MAVLink client from the serial port.
disconnect(gcs)
Connect a local MAVLink client to QGroundControl by exchanging heartbeat messages over UDP,
Open QGroundControl.

Create a mavlinkdialect object using the common.xml file.
dialect = mavlinkdialect("common.xml");Create a local MAVLink client that represents a simulated UAV by creating a mavlinkio object with these settings:
MAVLink message definition —
dialectMAVLink system ID —
1MAVLink component ID —
1MAVLink component type —
MAV_TYPE_QUADROTORMAVLink autopilot type —
MAV_AUTOPILOT_GENERIC
uav = mavlinkio(dialect,SystemID=1,ComponentID=1,AutopilotType="MAV_AUTOPILOT_GENERIC", ... ComponentType="MAV_TYPE_QUADROTOR");
Store the remote MAVLink client information that represents QGroundControl. By default, QGroundControl has a system ID of 255 and a component ID of 190.
qgc = mavlinkclient(uav,255,190);
Connect the local MAVLink client to a UDP port by using the connect function.
connect(uav,"UDP");Verify that the local MAVLink client has connected to a UDP port by using the listConnections function.
connectionTable = listConnections(uav)
connectionTable =
1x2 table
ConnectionName ConnectionInfo
______________ ___________________
"Connection1" "UDP@0.0.0.0:55371"Create a heartbeat microservice object.
heartbeat = mavlinkmicroservice(uav,"heartbeat");Specify the host address and port of QGroundControl.
qgcHost = "127.0.0.1";
qgcPort = 14550;Start sending heartbeat messages to QGroundControl by using the start function.
start(heartbeat,qgc,"UDP",RemoteHost=qgcHost,RemotePort=qgcPort);If QGroundControl replies with heartbeat messages, the local MAVLink client establishes a connection to it.

Verify that the connection has been established by using the listClients
function.
listClients(uav)
ans = 2×4 table
SystemID ComponentID ComponentType AutopilotType
________ ___________ ____________________ _______________________
255 190 "MAV_TYPE_GCS" "MAV_AUTOPILOT_INVALID"
1 1 "MAV_TYPE_QUADROTOR" "MAV_AUTOPILOT_GENERIC"To stop the connection, first stop the heartbeat message stream.
stop(heartbeat,gcs)
Then, disconnect the local MAVLink client from the UDP port.
disconnect(uav)
Input Arguments
Local MAVLink client, specified as a mavlinkio object.
Output Arguments
Active connection info, returned as a table with SystemID,
ComponentID, ConnectionType, and
AutopilotType fields for each active client.
Version History
Introduced in R2019a
See Also
connect | listConnections | listTopics | mavlinkio | mavlinkdialect | mavlinkclient | mavlinksub
External Websites
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)