首页 > 解决方案 > 双向数据传输 - 串行到 Eth (Socat) (RPi)

问题描述

我似乎卡住了,正在寻求帮助!

我有一个使用 Mavlink Comm 协议通过 GPIO 引脚 14/15 (/dev/ttyS0) 连接到 Pixhawk 的 RPi3 B+ 模型!代码:全选

$ sudo -s

$ mavproxy.py --master=/dev/ttyS0 --baudrate 57600

还可以添加以下选项:代码:全选

--out=udp:(IP):Port

多次到我想要多少个 IP。

现在是棘手的部分,对于我的 RPi,我有一个连接到 RX/TX 设备的 Eth 连接。[设备IP:192.168.19.240;设备端口:23] 我想将所有传入数据传输到/从 RX/TX 设备到 Pixhawk 并返回。

我尝试使用 Socat 和多个命令,例如:

$sudo socat PTY,link=/dev/ttyS0,raw,echo=0 udp4:192.168.19.240:23

没有成功。

任何信息都是有价值的!!

谢谢你!

标签: tcpraspberry-pi3uartsocatmavlink

解决方案


解决了!

连接到 RPi 的 TX/RX 设备也在使用相同的设备向地面控制站传输(通过射频)。唯一的区别是一个被定义为空中(带有 pi 的那个),第二个被定义为地面。

我尝试通过 socat 访问机载 TX/RX,但简单的 ping“连接到地面 TX/RX 的 PC 的 IP”显示 pi 和地面上的 PC 之间的连接。

启动mavproxy并将PC定义为RPi上的主机的简单命令:

mavproxy.py --master=udp:PC IP ADDRESS:14550

一切正常。


推荐阅读