使用无线数传 radio telemetry 连接pixhawk进入offboard模式进行mavlink协议通讯的尝试
环境:
Windows电脑一台
Linux电脑一台
Radio telemetry 收发两端
Pixhawk 2.4.6飞控
USB micro 连接线
软件:PX4固件
QGroundcontrol 地面站
mavlink——c_uart_interface_example,地址 :mavlink control example 的github地址
步骤:
1.Pixhawk通过USB线连接到windows电脑,QGroundcontrol 地面站安装于该电脑,通过地面站的mavlink console 界面进入NSH,在nsh命令行输入
mavlink start –d /dev/ttyS2
[注意]:telemetry radio与飞控连接的部分是通过飞控板上的telem2口进行通讯的,该端口在nuttx系统中的文件映射为/dev/ttyS2,该部分实验还可以试用于如下端口。
2. 在linux系统的电脑上下载github库中的mavlink control example,
命令:git clone https://github.com/mavlink/c_uart_interface_example
然后进入下载的文件夹,于命令行执行make编译该程序,编译开始后会自动检测子模块。
3. QGround地面站设置pixhawk系统参数中的SYS_COMPANION ,将其设置为companion link 57600 baud 8N1. 如下,然后重启飞控。
4. 将radio telemetry另一端与linux电脑连接,打开命令行,进入mavlinkcontrol文件夹,执行如下命令
./mavlink_control -d /dev/ttyUSB0 (官网命令为./mavlink_control -d /dev/ttyACM0)
[注] 本文因为使用无线发射器进行上位机与飞控的mavlink协议通信,因此针对无线模块连接于linux的USB端口,linux映射为ttyUSB0, 实际上此实验也可以不用无线通讯模块,直接利用USB线连接pixhawk与linux电脑,此时步骤1和4的端口文件映射都是ttyACM0.Linux电脑的执行结果如下:
本文主要是复现https://github.com/mavlink/c_uart_interface_example 中的成果,具体请参照PX4官网和该网页。