飞控和TX2以前都是同USB转串口模块连接的,串口模块不是很好最高只能到1M的波特率,不太够用,正好TX2自带串口可以利用起来,而且直接用TX2的串口还会减小转接带来的延迟。之前被树莓派的串口坑的不浅,所以一直没有用TX2的串口,结果发现TX2的串口接上去就可以用。
接线
我用的是Auvidea J120的TX2底板和Pixhawk 4的飞控,其他的板子的串口很接,找到RX、TX、GND三根线,飞控的RX接TX2的TX、飞控的TX接TX2的RX,最后把它们的GND接在一起就可以了。
接线图如下。
测试
接好线过后在QGC里面改一下飞控的波特率,然后运行一下MAVROS试一下。串口在TX2里面的名字为/dev/ttyTHS*
。我们接的是串口1/dev/ttyTHS1
运行MAVROS试一下。
// An highlighted block
roslaunch mavros px4.launch fcu_url:=/dev/ttyTHS1:3000000
可以正常运行,OK。
用了TX2的串口过后不用udev也可以很好的启动mavros了,在px4.launch里面把默认的fcu_url一改美滋滋。