1

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

从dronekit导入连接

车辆=连接('/dev/cu.usbserial-DJ00DA30',wait_ready=True)

我收到一条消息:

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

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

请提供任何帮助

4

2 回答 2

1

编辑

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

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

看到这个问题是不久前提出的,这可能不是你的问题,但也许 pyserial 和你的dronekit 版本不匹配可能会导致你遇到问题。

结束编辑


对于看到这篇文章的其他人,这是 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.
于 2016-01-07T23:56:35.840 回答
0

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

于 2016-06-09T16:30:26.527 回答