关键词:串口通信报错,握手失败
提示报错:
ERRORLOG/1 @ getDroneVersion, L1707: Drone version not obtained! Please do not proceed.
一、关于OSDK串口通信问题,建议从以下几个部分排查:
1、串口连接硬件检查(TX/RX)
2、若使用妙算2G UART接口,需要使用UART1,且串口设备名为ttyTHS2。若使用妙算2G的UART1无法正常通信,可以先使用USB-TTL来排查,
对应修改串口设备名为ttyUSB*(连接USB-TTL后,可以通过ls /dev | grep ttyUSB* 查看),其他硬件连接和设置检查一致。
若使用妙算2C,仅支持使用USB-TTL使用妙算的USB接口与飞机进行OSDK的串口通信。
3、OSDK配置波特率与飞机端波特率一致
4、飞机端DJI Assistant2使能API控制
5、可以尝试降低波特率(230400,115200)测试是否正常,(判断USB-ttl芯片是否支持高波特率)
6、若有时通信正常,有时不正常,需要检查串口连接模块的稳定性
7、OSDK推荐使用波特率230400及以上,ROS推荐921600及以上,具体与应用订阅数据带宽有关。
8、也可以在PC上安装一个串口调试助手,直接通过USB-TTL将飞机的TTL连接至串口调试助手,硬件连接正确,且波特率配置正确的情况下,若串口调试助手上无数据输出,可能需要检修飞机的串口硬件。
补充:
不运行SDK飞机的串口输出实际上是广播遥测数据包,要注意在DJI Assistant2上随意打开一个广播数据,正常即可在串口调试助手上收到数据包。
二、M210、M300除了串口通信外,还需要使用双A USB设备通信,即对应ACM设备。
当使用连接OSDK转接板的USB与机载计算机的USB接口,无人机上电,正常情况下机载计算机上要识别一个ACM设备,通常为ttyACM0(可通过 " ls -l /dev | grep ttyACM* " 查看和确认),若无法识别,建议排查步骤:
1、机载计算机上有安装ACM驱动,可正常识别ACM设备。
2、可以使用双A USB连接OSDK转接板的USB接口,与PC(windows)的USB接口,打开windows下设备管理器,飞机上电然后插拔USB线。若设备管理器中识别不到,需要排查硬件或者驱动是否有正常安装。
3、确保OSDK转接板与无人机OSDK type C接口连接良好,尤其是新机型与新的OSDK转接板,可能存在接触不良的情况。type C端口上有个O型防水圈,有部分出现耦合问题是因为O型圈较厚导致,可以先将此移除试试。
4、若接触良好,依旧无法识别。若有其他飞机或OSDK转接板,可以交叉测试,确认与飞机有关还是OSDK转接板有关,再对应申请硬件售后。
评论
0 条评论
请登录写评论。