# Pixhawk 系列配套计算机
将配套计算机(Raspberry Pi、Odroid、Tegra K1)与 Pixhawk 系列板卡连接的方式始终相同:它们通过串行端口连接到 电话 2
的端口。该链接的报文格式为 MAVLink (打开新窗口).
# Pixhawk 设置
在任何 可配置串行端口.
TIP
通常情况下 电话 2
端口用于配套计算机。
要在以下设备上设置默认同伴电脑信息流 电话 2
设置以下参数:
- MAV_1_CONFIG =
电话 2
(MAV_1_CONFIG
通常用于映射电话 2
端口) - MAV_1_MODE =
机载
- SER_TEL2_BAUD =
921600
(对于日志流或 FastRTPS 等应用,建议使用 921600 或更高版本)
更多信息,请参见 MAVLink 外围设备(GCS/OSD/同伴).
# 配套电脑设置
为了接收 MAVLink,配套计算机需要运行一些与串行端口对话的软件。最常见的选项有
- 马弗罗斯 与 ROS 节点通信
- C/C++ 示例代码 (打开新窗口) 连接自定义代码
- MAVLink 路由器 (打开新窗口) (推荐)或 MAVProxy (打开新窗口) 在串行和 UDP 之间路由 MAVLink
# 硬件设置
按照以下说明为串行端口布线。所有 Pixhawk 串行端口的工作电压均为 3.3V,并兼容 5V 电平。
警告
许多现代配套计算机的硬件 UART 只支持 1.8V 电平,3.3V 电平可能会损坏它们。请使用电平转换器。在大多数情况下,可访问的硬件串行端口已具有与之相关的某些功能(调制解调器或控制台),因此需要 在 Linux 中重新配置 才能使用。
安全的做法是使用 FTDI 芯片 USB 转串行适配器板和下面的接线。这种方法始终有效,而且易于设置。
TELEM2 | FTDI |   | |
---|---|---|---|
1 | +5V(红色) | 请勿连接! | |
2 | 发送(输出) | 5 | FTDI RX(黄色)(输入) |
3 | Rx (英寸) | 4 | FTDI TX(橙色)(输出) |
4 | CTS (英寸) | 6 | FTDI RTS(绿色)(输出) |
5 | RTS (输出) | 2 | FTDI CTS(棕色)(英寸) |
6 | 接地 | 1 | FTDI GND(黑色) |
# Linux 上的软件设置
在 Linux 系统中,USB FTDI 的默认名称如下 \dev\ttyUSB0
.如果在 USB 或 Arduino 上连接了第二个 FTDI,它将注册为 \dev\ttyUSB1
.为避免第一个插件和第二个插件之间的混淆,我们建议您从 ttyUSBx
为友好名称,具体取决于 USB 设备的供应商和产品 ID。
使用 lsusb
我们可以获取供应商和产品 ID。
$ lsusb Bus 006 Device 002:ID 0bda:8153 Realtek Semiconductor Corp.总线 006 设备 001: ID 1d6b:0003 Linux 基金会 3.0 root hub 总线 005 设备 001:ID 1d6b:0002 Linux 基金会 2.0 根集线器总线 004 设备 002:ID 05e3:0616 Genesys Logic, Inc.总线 004 设备 001:ID 1d6b:0003 Linux 基金会 3.0 根集线器 总线 003 设备 004:ID 2341:0042 Arduino SA Mega 2560 R3 (CDC ACM)
总线 003 设备 005:ID 26ac:0011 总线 003 设备 002:ID 05e3:0610 Genesys Logic, Inc. 4-端口 hub 总线 003 设备 001:ID 1d6b:0002 Linux 基金会 2.0 根集线器总线 002 设备 001:ID 1d6b:0001 Linux 基金会 1.1 root hub Bus 001 Device 002:ID 0bda:8176 Realtek Semiconductor Corp.RTL8188CUS 802.11n WLAN 适配器总线 001 设备 001:ID 1d6b:0002 Linux 基金会 2.0 根枢纽
Arduino 是 总线 003 设备 004:ID 2341:0042 Arduino SA Mega 2560 R3(CDC ACM)
Pixhawk 是 总线 003 设备 005:ID 26ac:0011
备注
如果找不到设备,请拔下插头,执行 lsusb
插上插头,执行 lsusb
再次查看添加的设备。
因此,我们可以在一个名为 /etc/udev/rules.d/99-pixhawk.rules
并将 idVendor 和 idProduct 改为您的内容。
辅助系统=="tty";, ATTRS{idVendor}=="2341";, ATTRS{idProduct}=="0042";, SYMLINK+="ttyArduino";
辅助系统=="tty";, ATTRS{idVendor}=="26ac";, ATTRS{idProduct}=="0011";, SYMLINK+="ttyPixhawk";
最后,经过 重新启动 您可以确保知道哪个设备是什么,并把 /dev/ttyPixhawk
而不是 /dev/ttyUSB0
在脚本中。
备注
请务必在 tty
和 拨出
通过 篡改
以避免以根用户身份执行脚本。
篡改 -a -G tty ros-用户
篡改 -a -G dialout ros-user
← 云台(支架)控制设置 uORB 消息传送 →