- Debugging/Logging - 飞行日志分析
- Debugging/Logging - ULog文件格式
- 教程
- 教程 - 地面站
- 教程 - 编写应用程序
- 教程 - QGC的视频流
- 教程 - 远距离视频流
- 教程 - u-blox M8P RTK
- 新手上路
- 新手上路 - 初始设置
- 新手上路 - 安装工具链
- 安装工具链 - Mac OS
- 安装工具链 - Linux
- Linux - Advanced Linux
- 安装工具链 - Windows
- 新手上路 - Fast RTPS installation
- 新手上路 - 代码编译
- 新手上路 - 高级配置
- 新手上路 - 贡献& 开发者电话会议
- 贡献& 开发者电话会议 - GIT例程
- 贡献& 开发者电话会议 - Documentation
- 新手上路 - Licenses
- 概念解读
- 概念解读 - 飞行模式
- 概念解读 - 结构概述
- 概念解读 - 飞行控制栈
- 概念解读 - 中间件
- 概念解读 - 混控和执行器
- 概念解读 - PWM限制状态机
- Hardware
- Hardware - 自驾仪硬件
- 机型 - 统一的基础代码
- 机型 - 参考机型
- 机型 - 添加一个新的机型
- Data Links - SiK Radio
- Data Links - Wifi数传
- Data Links - 数传
- I2C总线 - SF1XX lidar
- 传感器和执行机构总线 - UAVCAN总线
- UAVCAN总线 - UAVCAN Bootloader
- UAVCAN总线 - UAVCAN固件升级
- UAVCAN总线 - UAVCAN配置
- UAVCAN总线 - UAVCAN 的各种笔记
- 传感器和执行机构总线 - UART
- UART - uLanding Radar
- 传感器和执行机构总线 - 设置云台控制
- 传感器和执行机构总线 - 相机触发器
- Hardware - 协同电脑
- 仿真
- 仿真 - 基本仿真
- 仿真 - Gazebo仿真
- 仿真 - HITL仿真
- 仿真 - 连接到ROS
- 仿真 - AirSim仿真
- 仿真 - 多机仿真
- 中间件及架构
- 中间件及架构 - uORB消息机制
- 中间件及架构 - MAVLink消息机制
- 中间件及架构 - 守护程序
- 中间件及架构 - 驱动框架
- 模块 & 命令
- 模块 & 命令 - 命令
- 模块 & 命令 - 通信
- 模块 & 命令 - 驱动
- 模块 & 命令 - 系统
- Robotics
- Robotics - 用Linux进行外部控制
- Robotics - ROS
- ROS - 在RPi上安装ROS
- ROS - MAVROS (ROS上的MAVLink)
- ROS - MAVROS外部控制例程
- ROS - 外部位置估计
- ROS - Gazebo Octomap
- Robotics - DroneKit
- Debugging/Logging
- Debugging/Logging - FAQ
- Debugging/Logging - 系统控制台
- Debugging/Logging - 自驾仪调试
- Debugging/Logging - Sensor/Topic Debugging
- Debugging/Logging - 仿真调试
- Debugging/Logging - System-wide Replay
- Debugging/Logging - 发送调试的值
- Debugging/Logging - Profiling
- Debugging/Logging - 日志记录
- 教程 - 光流
- 教程 - ecl EKF
- 教程 - 飞行前检查
- 教程 - 着陆检测
- 教程 - Linux系统下使用S.Bus驱动
- Advanced Topics
- Advanced Topics - 系统启动
- Advanced Topics - 参数&配置
- Advanced Topics - 参考参数
- Advanced Topics - 安装Intel RealSense R200的驱动
- Advanced Topics - 切换状态估计器
- Advanced Topics - 外部模块
- Advanced Topics - STM32 Bootloader
- 测试和持续集成
- 测试和持续集成 - 持续集成
- 测试和持续集成 - Jenkins持续集成环境
- 测试和持续集成 - 综合测试
- 测试和持续集成 - Docker容器
- 测试和持续集成 - 维护
Debugging/Logging - 系统控制台
translated_page: https://github.com/PX4/Devguide/blob/master/en/debug/system_console.md
translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e
PX4 System Console(系统控制台)
System Console(系统控制台)允许访问系统底层,调试输出和分析系统启动流程。访问System Console最快捷的方式是使用 Dronecode probe, 但是常见的FTDI连线也是可以的。
System Console vs. Shell
有好多种shell,但只有一个Console:系统控制台,它是打印所有引导输出(和引导中自动启动的应用程序)的位置。(可以理解为系统控制台是多个shell中唯一一个打印所有引导输出的shell)
The system console is the location where all boot output (and applications auto-started on boot) is printed.
- System console(第一shell):硬件串口
- 其他shell : 连接至USB的Pixhawk(如Mac OS下显示为 /dev/tty.usbmodem1)
info
USB shell: 如果只是运行几个简单的命令或测试应用程序,连接到USB shell就足够了。
MAVLink shell可以这么使用,参照下文。
只有在调试启动流程或USB接口已被用于MAVlink连接地面站GCS的时候,才需要使用硬件串口console。
Snapdragon Flight : Console接线
Snapdragon Flight(骁龙开发平台)开发人员套件里面包含了一个3引脚的接线板,它可以用于访问console。 将附带的FTDI线连接到接头,并将接线板连接到扩展连接器。
Pixracer / Pixhawk v3: Console接线
将6P JST SH 1:1线连接到Dronecode Probe,或者将连接线的每个引脚按照如下所示连接到FTDI线上:
Pixracer / Pixhawk v3 | FTDI | ||
---|---|---|---|
1 | +5V (红) | N/C | |
2 | UART7 Tx | 5 | FTDI RX (黄) |
3 | UART7 Rx | 4 | FTDI TX (橙) |
4 | SWDIO | N/C | |
5 | SWCLK | N/C | |
6 | GND | 1 | FTDI GND (黑) |
Pixhawk v1: Console连线
系统console可以通过Dronecode Probe或FTDI线访问。两种方式将在下面介绍。
通过Dronecode Probe连接
将 Dronecode probe 的6P DF13 1:1线连接到Pixhawk的SERIAL4/5接口。
通过FTDI 3.3V 线连接
如果手头没有Dronecode Probe,也可以使用FTDI 3.3V (Digi-Key: 768-1015-ND) 。
Pixhawk 1/2 | FTDI | ||
---|---|---|---|
1 | +5V (红) | N/C | |
2 | S4 Tx | N/C | |
3 | S4 Rx | N/C | |
4 | S5 Tx | 5 | FTDI RX (黄) |
5 | S5 Rx | 4 | FTDI TX (橙) |
6 | GND | 1 | FTDI GND (黑) |
连接器引脚接线如下图所示。
完整的接线如下图所示。
打开Console
Console接线完成后, 使用你选择的默认串口工具或者下面描述的默认工具:
Linux / Mac OS: Screen
Ubuntu下安装screen (Mac OS 已经默认安装了):
sudo apt-get install screen
- 串口: Pixhawk v1 / Pixracer 使用 57600 波特率
- 串行: Snapdragon Flight 使用 115200 波特率
按照 BAUDRATE baud, 8 data bits, 1 stop bit 将screen连接至正确的串口(使用 ls /dev/tty*
命令,观察在拔下/重插USB设备时什么发生了变化)。Linux下的常见名称是 /dev/ttyUSB0
和 /dev/ttyACM0
,Mac OS下是/dev/tty.usbserial-ABCBD
。
screen /dev/ttyXXX BAUDRATE 8N1
Windows: PuTTY
下载 PuTTY 并启动它。
选择“串口连接”,然后设置串口参数:
- 57600 baud
- 8 data bits
- 1 stop bit
Console入门
输入ls
查看本地文件系统,输入free
查看剩余可用RAM。当飞控板带电重启时,console也可以显示系统启动日志。
nsh> ls
nsh> free
MAVLink Shell
对于基于NuttX的系统(Pixhawk,Pixracer,…),也可以通过mavlink访问nsh console。它通过串口连接或WiFi(UDP/TCP)来工作。确保没有运行QGC,然后使用如下命令启动shell./Tools/mavlink_shell.py /dev/ttyACM0
(在固件源代码中)。使用-h
获得所有可用参数的描述。也许你先要使用sudo pip install pymavlink pyserial
安装依赖文件。
Snapdragon DSP Console
当通过USB连接到Snapdragon开发板,你可以访问PX4 shell操作posix相关资源 。与DSP侧(QuRT)的交互可以通过qshell
posix应用程序及其QuRT companion。
将Snapdragon通过USB连接后,打开mini-dm就可以看到DSP的输出:
${HEXAGON_SDK_ROOT}/tools/debug/mini-dm/Linux_Debug/mini-dm
注意: 可选方法,尤其是在Mac上,你也可以使用 nano-dm。
在linaro侧运行主程序:
cd /home/linaro
./px4 px4.config
你可以通过linaro shell使用DSP加载的所有的应用程序,通过以下语法:
pxh> qshell command [args ...]
例如,要查看可用QuRT应用程序:
pxh> qshell list_tasks
所执行命令的输出显示在minidm上。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论