版本说明:
1. 自驾仪:Holybro的Pixhawk 4。
2. PX4版本:1.13
3. 宿主机:Thinkpad笔记本+Ubuntu 20.04.2 LTS
参考:PX4 Consoles/Shells | PX4 User Guide
一. 制作硬件接口
这个接口就是3根线,将PC机的USB串口与Pixhawk的串口(也叫Debug port)连接起来。
1. 了解Pixhawk 4对FMU Debug接口和IO Debug接口的定义
PIXHAWK 4有两个Debug Port,一个是FMU Debug Port,另一个是IO Debug Port。两个口都提供了Pixhawk 标准6-Pin SH Debug Port。(6针), 系统终端使用IO Debug Port.
2. 将Pixhawk 4的IO Debug Port与宿主机的USB口连接起来
为了实现系统终端,宿主机的USB需要连接在一个FTDI转换器上(FTDI是将USB口转换成串口的器件),在购买的Pixhawk 4的线材包中找出Debug Port的适配口线材(见下图),这个线材是用6根线连接两个适配口,可从中间剪断,一个用来做系统终端接口,另一个可用来做J-Link接口。
在6根线中选取3根线与FTDI的针脚连接起来,3根线怎么选,见如下表格:
IO Debug Port | FTDI |
---|---|
1 Vtref | - |
2 Console TX | 5 |
3 Console RX | 4 |
4 SWDIO | - |
5 SWDCLK | - |
6 GND | 1 |
制作完成的3根线将FTDI(右边连接FTDI的针脚用了杜邦头)与IO Debug Port的适配口(左边白色的)连接起来,见下图。
二. 软件部分
1. 在Ubuntu端安装screen软件:
sudo apt-get install screen
2. 连接接口,启动Pixhawk
将接口的一端与PC机连接,另一端与Pixhawk 4的IO Debug口连接,然后启动Pixhawk。
3. 运行screen命令
打开一个linux终端,运行下面命令 screen /dev/ttyXXX BAUDRATE 8N1
这里ttyxxx选择ttyUSB0或者ttyACM1. BAUDRATE(波特率)选择57600,比如:
screen /dev/ttyUSB0 57600 8N1
此时,在screen界面中出现"nsh>"提示符,可运行nuttx shell命令。
4. 查看PX4的启动脚本执行情况
通过Pixhawk的系统终端可以查看PX4在Pixhawk上的启动脚本的执行情况,这个是唯一的办法,mavlink的终端做不到这一点。
PX4在Pixhawk上的启动脚本文件rcS在下面目录中:
PX4-Autopilot/ROMFS/px4fmu_common/init.d/rcS
查看rcS启动脚本的执行情况,执行上节screen命令,然后拔掉连接Pixhawk的USB连接线,再接上,你会看到PX4在Pixhawk上的启动序列信息,这些启动信息是比较简单的,如下图:
如果需要查看详细的启动信息,需要:
- 将PX4-Autopilot/ROMFS/px4fmu_common/init.d中启动文件rcS 中set -x这条指令设置好(把注释去掉)
- 因为输出的启动序列比较长,需要把screen显示的结果输出到一个文件中,所以执行的命令改为:sceen -L /dev/ttyXXX BAUDRATE 8N1
这样,拔掉连接Pixhawk的USB连线,再接上,screen命令的输出除了出现在屏幕上同时也会被装进文件screenlog.0中,在这个文件中你可看到PX4完整的启动序列执行情况。