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 ソリューションを使用すると、両方の問題が修正されました。