方式一:单一连接
这个画红线的端口可以自己改,IP是自己笔记本的IP。
udp://:14509@192.168.122.161:14579
px4.launch是这样的,就改了红框处的内容
QGC连接的时候,选择UDP,然后填写上面画红线的端口,就是可以自己任意写的端口。
然后点确认,然后连接就可以了。(笔记本和mavros所在板卡在同一局域网,且px4.launch启动后连接上了飞控)
方式二:广播连接
把MAVROS的UDP设置为广播,局域网内的QGC会自动连接
这个方法是FASTLAB提供的
px4.launch是配置mavros同PX4和QGC的通信方式,其中"fcu_url"是同PX4飞控通信,要打开的串口名按实际计算机的设备名来设置,波特率设置921600;"gcs_url"是其与QGC通信的端口,推荐设置为"udp-b://@",即广播,此时局域网内任何一台电脑打开QGC就能连上PX4.
原来的px4.launch是这样
<launch> <!-- vim: set ft=xml noet : --> <!-- example launch script for PX4 based FCU's --> <arg name="fcu_url" default="/dev/ttyUSB0:921600" /> <arg name="gcs_url" default="udp://:14509@192.168.124.6:14579" /> <arg name="tgt_system" default="1" /> <arg name="tgt_component" default="1" /> <arg name="log_output" default="screen" /> <arg name="fcu_protocol" default="v2.0" /> <arg name="respawn_mavros" default="false" /> <include file="$(find mavros)/launch/node.launch"> <arg name="pluginlists_yaml" value="$(find mavros)/launch/px4_pluginlists.yaml" /> <arg name="config_yaml" value="$(find mavros)/launch/px4_config.yaml" /> <arg name="fcu_url" value="$(arg fcu_url)" /> <arg name="gcs_url" value="$(arg gcs_url)" /> <arg name="tgt_system" value="$(arg tgt_system)" /> <arg name="tgt_component" value="$(arg tgt_component)" /> <arg name="log_output" value="$(arg log_output)" /> <arg name="fcu_protocol" value="$(arg fcu_protocol)" /> <arg name="respawn_mavros" default="$(arg respawn_mavros)" /> </include> </launch>
现在改成这样
<launch> <!-- vim: set ft=xml noet : --> <!-- example launch script for PX4 based FCU's --> <arg name="fcu_url" default="/dev/ttyUSB0:921600" /> <arg name="gcs_url" default="udp-b://@" /> <arg name="tgt_system" default="1" /> <arg name="tgt_component" default="1" /> <arg name="log_output" default="screen" /> <arg name="fcu_protocol" default="v2.0" /> <arg name="respawn_mavros" default="false" /> <include file="$(find mavros)/launch/node.launch"> <arg name="pluginlists_yaml" value="$(find mavros)/launch/px4_pluginlists.yaml" /> <arg name="config_yaml" value="$(find mavros)/launch/px4_config.yaml" /> <arg name="fcu_url" value="$(arg fcu_url)" /> <arg name="gcs_url" value="$(arg gcs_url)" /> <arg name="tgt_system" value="$(arg tgt_system)" /> <arg name="tgt_component" value="$(arg tgt_component)" /> <arg name="log_output" value="$(arg log_output)" /> <arg name="fcu_protocol" value="$(arg fcu_protocol)" /> <arg name="respawn_mavros" default="$(arg respawn_mavros)" /> </include> </launch>
我的地面站还真的自动连上了!
但我感觉这样之后nomachine远程似乎比较卡了。当然不确定是不是这个原因造成的。
我把MAVROS关掉后地面站的连接也断开了。
但是我把MAVROS关了也卡,应该不是MAVROS广播的原因
后来网又OK了,不卡了,开UDP广播也不卡,之前卡应该是网络问题,不是UDP广播的原因,本身我看了下总的网速也才不到100kb。