1

DroneKit の指示に従って、QuickStart ガイド ( http://python.dronekit.io/guide/quick_start.html ) から hello.py コードを実行できました。

ただし、基本的なミッションの例を実行しようとすると、タイトルに setBaudrate エラーが表示されます。

$ python mission_basic.py --connect=/dev/tty.usbmodem1411

Connecting to vehicle on: /dev/tty.usbmodem1411
Traceback (most recent call last):
  File "mission_basic.py", line 23, in <module>
    vehicle = connect(args.connect, wait_ready=True)
  File "/Library/Python/2.7/site-packages/dronekit/__init__.py", line 2344, in connect
    handler = MAVConnection(ip, baud=baud, source_system=source_system)
  File "/Library/Python/2.7/site-packages/dronekit/mavlink.py", line 37, in __init__
    self.master = mavutil.mavlink_connection(ip, baud=baud, source_system=source_system)
  File "/Library/Python/2.7/site-packages/pymavlink/mavutil.py", line 1106, in mavlink_connection
    return mavserial(device, baud=baud, source_system=source_system, autoreconnect=autoreconnect, use_native=use_native)  
  File "/Library/Python/2.7/site-packages/pymavlink/mavutil.py", line 735, in __init__
    self.set_baudrate(self.baud)
  File "/Library/Python/2.7/site-packages/pymavlink/mavutil.py", line 746, in set_baudrate
    self.port.setBaudrate(baudrate)
AttributeError: 'Serial' object has no attribute 'setBaudrate'

注: tty.usbmodem1411 は、Yosemite を実行している Mac から APM に直接接続されている USB ケーブルです。3DR テレメトリ キットも試してみましたが、同じ結果が得られました。ボーレートオプションを追加してみましたが、同じ結果が得られました。


更新:陳昭宇が提供したリンクのパッチを使用すると、ボーレートの問題が解決しました。ただし、ハートビートが見つからないという問題がまだありました。この問題は、pyserial の更新が原因でもありました。Tim Ryan が提供した古い pyserial ソリューションを使用すると、両方の問題が修正されました。

4

3 に答える 3

6

フィン、API を変更する pySerial 3.0 が先週リリースされたようです。pymavlink (DroneKit-Python で使用) には pySerial 2.0 が必要です。問題を提出しました。解決に向けて取り組みます。

pip install "pySerial>=2.0,<=2.9999"それまでの間、これで問題が解決するかどうか試してみてください。

于 2016-01-05T15:30:53.480 に答える
-1

ここでは暗闇で撮影したので、これで問題が解決しない場合は申し訳ありませんが、問題が解決するのではないかと疑っています.

FTDI ドライバーをインストールする必要があります ( https://learn.sparkfun.com/tutorials/how-to-install-ftdi-drivers/mac )

ArduinoとMavericksを実行し、その後El Capitanを実行しているMacとの間で、pythonを使用してUSB経由でシリアル接続を作成する際にも同様の問題がありました。(派手なMacをいじるのが怖い場合は、Ubuntuですぐに使用できます)OSXのアップグレード後にこれが壊れることを期待してください。(Apple に感謝) また、このプロセスで指定した USB ポートでのみ動作します。だから賢明に選んでください;)

お役に立てれば。私はこの問題に何日も費やしました。

于 2016-01-05T00:39:29.367 に答える