【问题标题】:Using Drone-Kit to connect to Live Quad Copter使用 Drone-Kit 连接 Live Quadcopter
【发布时间】:2016-02-11 20:30:35
【问题描述】:

我正在尝试使用 python 命令行中的 Drone-Kit api 设置与实时四轴飞行器的连接。 (我使用的是 Python 2.7。我也使用的是 OS X Yosemite 10.10.5)

从dronekit导入连接

vehicle = connect('/dev/cu.usbserial-DJ00DA30', wait_ready=True)

我收到一条消息:

链接超时,最近 5 秒内没有心跳

再过 30 秒,命令中止。我知道这是正确的设备(cu.usbserial-DJ00DA30),因为我可以使用 APM Planner 2.0 将它连接到无人机。

请帮忙

【问题讨论】:

    标签: python dronekit-python dronekit


    【解决方案1】:

    编辑

    我可以通过使用以下命令确保我的 pyserial 介于 2.0 和 2.999 之间来解决这个问题:

    sudo pip install "pySerial>=2.0,<=2.9999"
    

    鉴于不久前有人问过这个问题,这可能不是您的问题,但也许 pyserial 和您的无人机套件版本不匹配可能会导致您遇到问题。

    结束编辑


    对于看到这篇文章的其他人,这是 PeterL 在 30 秒未找到心跳后所说的输出:

    Connecting to vehicle on: /dev/cu.usbserial-DB00BWMM
    >>> Link timeout, no heartbeat in last 5 seconds
    >>> No heartbeat in 30 seconds, aborting.
    Traceback (most recent call last):
      File "vehicle_state.py", line 23, in <module>
        vehicle = connect(args.connect, wait_ready=True)
      File "/Library/Python/2.7/site-packages/dronekit/__init__.py", line 2354, in connect
        vehicle.initialize(rate=rate, heartbeat_timeout=heartbeat_timeout)
      File "/Library/Python/2.7/site-packages/dronekit/__init__.py", line 1815, in initialize
        raise APIException('Timeout in initializing connection.')
    dronekit.APIException: Timeout in initializing connection.
    

    【讨论】:

    • 我能够通过在连接语句中插入“baud=57600”作为第二个参数来解决这个问题。
    • 我也面临同样的问题。无法弄清楚出了什么问题。我正在使用树莓派零和 USB-> UART 适配器。有什么建议吗?
    【解决方案2】:

    我昨天遇到了同样的问题,并通过从 github 安装最新版本来修复它。我在 Windows 10 上,但在这种情况下,它应该是无关紧要的。

    【讨论】: