The MAVLink Shell is an NSH console that can be accessed via MAVLink over serial (USB/Telemetry) or WiFi (UDP/TCP) links (in particular, on NuttX-based systems like: Pixhawk, Pixracer, etc.).
The shell can be used for running commands and modules, and displaying their output. While the shell cannot directly display the output of modules that it does not start, it can do so indirectly using the
dmesg command (
dmesg -f & can be used to display the output of other modules and tasks running on the work queue).
The easiest way to access shell is to use the QGroundControl MAVLink Console (see Analyze View > Mavlink Console).
You can also access the shell in a terminal using the mavlink_shell.py script:
- Shut down QGroundControl.
- Install dependencies:
sudo pip3 install pymavlink pyserial
- Open terminal (in Firmware directory) and start the shell:
# For serial port ./Tools/mavlink_shell.py /dev/ttyACM0
# For Wifi connection ./Tools/mavlink_shell.py 0.0.0.0:14550
mavlink_shell.py -h to get a description of all available arguments.
For information see: PX4 Consoles/Shells > Using Consoles/Shells.