Skip to content

Instantly share code, notes, and snippets.

@unipheas
Last active May 26, 2019 10:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save unipheas/4ea0d141fd8ea0341806470b014bc68d to your computer and use it in GitHub Desktop.
Save unipheas/4ea0d141fd8ea0341806470b014bc68d to your computer and use it in GitHub Desktop.
The process of installing dronecodesdk_python
myuser-MacBook-Air:~ myuser$ cd Desktop/DronecodeSDK/
myuser-MacBook-Air:DronecodeSDK myuser$ ./build/default/backend/src/backend_bin
[06:03:41|Info ] DronecodeSDK version: 0.16.0-86-g8bb6812d (dronecode_sdk_impl.cpp:25)
[06:03:41|Debug] New: System ID: 0 Comp ID: 0 (dronecode_sdk_impl.cpp:338)
[06:03:41|Info ] Server set to listen on 0.0.0.0:50051 (grpc_server.cpp:44)
[06:03:41|Info ] Server started (grpc_server.cpp:28)
[06:03:41|Info ] Waiting to discover system... (connection_initiator.h:58)
[06:03:41|Info ] New system on: 127.0.0.1:14580 (udp_connection.cpp:226)
[06:03:41|Debug] Component Autopilot (1) added. (system_impl.cpp:400)
[06:03:42|Debug] Discovered 1 component(s) (UUID: 5283920058631409231) (system_impl.cpp:563)
[06:03:42|Info ] System discovered [UUID: 5283920058631409231] (connection_initiator.h:62)
myuser-MacBook-Air:Desktop myuser$ git clone https://github.com/dronecode/dronecodesdk-python --recursive
Cloning into 'dronecodesdk-python'...
remote: Enumerating objects: 29, done.
remote: Counting objects: 100% (29/29), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 687 (delta 13), reused 18 (delta 6), pack-reused 658
Receiving objects: 100% (687/687), 120.89 KiB | 273.00 KiB/s, done.
Resolving deltas: 100% (334/334), done.
Submodule 'proto' (https://github.com/Dronecode/DronecodeSDK-Proto.git) registered for path 'proto'
Cloning into '/Users/myuser/Desktop/dronecodesdk-python/proto'...
remote: Enumerating objects: 108, done.        
remote: Counting objects: 100% (108/108), done.        
remote: Compressing objects: 100% (54/54), done.        
remote: Total 929 (delta 55), reused 82 (delta 34), pack-reused 821        
Receiving objects: 100% (929/929), 128.63 KiB | 296.00 KiB/s, done.
Resolving deltas: 100% (519/519), done.
Submodule path 'proto': checked out '56fb54e3fe8bd0c076bce72168bee05f397ecbd1'
myuser-MacBook-Air:Desktop myuser$ cd dronecodesdk-python/
myuser-MacBook-Air:dronecodesdk-python myuser$ python -m venv venv
myuser-MacBook-Air:dronecodesdk-python myuser$ source ./venv/bin/activate
(venv) myuser-MacBook-Air:dronecodesdk-python myuser$ cd proto/pb_plugins/
(venv) myuser-MacBook-Air:pb_plugins myuser$ pip install -r requirements.txt
Collecting protobuf (from -r requirements.txt (line 1))
  Using cached https://files.pythonhosted.org/packages/d7/08/a316e74d41a1f3d606dfc3b71cc068354e8b9a0232f46bc098aa50b37116/protobuf-3.7.1-cp37-cp37m-macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Collecting jinja2 (from -r requirements.txt (line 2))
  Using cached https://files.pythonhosted.org/packages/1d/e7/fd8b501e7a6dfe492a433deb7b9d833d39ca74916fa8bc63dd1a4947a671/Jinja2-2.10.1-py2.py3-none-any.whl
Requirement already satisfied: setuptools in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from protobuf->-r requirements.txt (line 1)) (40.8.0)
Collecting six>=1.9 (from protobuf->-r requirements.txt (line 1))
  Using cached https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from jinja2->-r requirements.txt (line 2))
  Using cached https://files.pythonhosted.org/packages/ce/c6/f000f1af136ef74e4a95e33785921c73595c5390403f102e9b231b065b7a/MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl
Installing collected packages: six, protobuf, MarkupSafe, jinja2
Successfully installed MarkupSafe-1.1.1 jinja2-2.10.1 protobuf-3.7.1 six-1.12.0
You are using pip version 19.0.3, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(venv) myuser-MacBook-Air:pb_plugins myuser$ pip install -e .
Obtaining file:///Users/myuser/Desktop/dronecodesdk-python/proto/pb_plugins
Requirement already satisfied: protobuf in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from protoc-gen-dcsdk==0.1) (3.7.1)
Requirement already satisfied: jinja2 in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from protoc-gen-dcsdk==0.1) (2.10.1)
Requirement already satisfied: setuptools in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from protobuf->protoc-gen-dcsdk==0.1) (40.8.0)
Requirement already satisfied: six>=1.9 in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from protobuf->protoc-gen-dcsdk==0.1) (1.12.0)
Requirement already satisfied: MarkupSafe>=0.23 in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from jinja2->protoc-gen-dcsdk==0.1) (1.1.1)
Installing collected packages: protoc-gen-dcsdk
  Running setup.py develop for protoc-gen-dcsdk
Successfully installed protoc-gen-dcsdk
You are using pip version 19.0.3, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(venv) myuser-MacBook-Air:pb_plugins myuser$ cd ../..
(venv) myuser-MacBook-Air:dronecodesdk-python myuser$ pip install -r requirements.txt -r requirements-dev.txt
Ignoring importlib-resources: markers 'python_version < "3.7"' don't match your environment
Requirement already satisfied: protobuf>=3.5.1 in ./venv/lib/python3.7/site-packages (from -r requirements.txt (line 1)) (3.7.1)
Collecting aiogrpc>=1.5 (from -r requirements.txt (line 2))
  Using cached https://files.pythonhosted.org/packages/06/73/aa687dd6f103e51c50703c43936f26bc13e563ac0489e74b7a3398eaf391/aiogrpc-1.6-py3-none-any.whl
Collecting grpcio>=1.11.0 (from -r requirements.txt (line 3))
  Using cached https://files.pythonhosted.org/packages/5e/71/92d142dcc3337dbafb6f1d936b19b94a1f65efc9bc3ddfb2315710068025/grpcio-1.21.1-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting grpcio-tools>=1.11.0 (from -r requirements-dev.txt (line 1))
  Using cached https://files.pythonhosted.org/packages/9d/9e/d25571e47229dc4a7e627f2c6667b667960f5158c79f1abdf3c46494c91e/grpcio_tools-1.21.1-cp37-cp37m-macosx_10_9_x86_64.whl
Requirement already satisfied: six>=1.9 in ./venv/lib/python3.7/site-packages (from protobuf>=3.5.1->-r requirements.txt (line 1)) (1.12.0)
Requirement already satisfied: setuptools in ./venv/lib/python3.7/site-packages (from protobuf>=3.5.1->-r requirements.txt (line 1)) (40.8.0)
Installing collected packages: grpcio, aiogrpc, grpcio-tools
Successfully installed aiogrpc-1.6 grpcio-1.21.1 grpcio-tools-1.21.1
You are using pip version 19.0.3, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(venv) myuser-MacBook-Air:dronecodesdk-python myuser$ sh other/tools/run_protoc.sh
[+] Installing the DronecodeSDK autogenerator
Processing /Users/myuser/Desktop/dronecodesdk-python/proto/pb_plugins
Requirement already satisfied: protobuf in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from protoc-gen-dcsdk==0.1) (3.7.1)
Requirement already satisfied: jinja2 in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from protoc-gen-dcsdk==0.1) (2.10.1)
Requirement already satisfied: six>=1.9 in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from protobuf->protoc-gen-dcsdk==0.1) (1.12.0)
Requirement already satisfied: setuptools in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from protobuf->protoc-gen-dcsdk==0.1) (40.8.0)
Requirement already satisfied: MarkupSafe>=0.23 in /Users/myuser/Desktop/dronecodesdk-python/venv/lib/python3.7/site-packages (from jinja2->protoc-gen-dcsdk==0.1) (1.1.1)
Installing collected packages: protoc-gen-dcsdk
  Found existing installation: protoc-gen-dcsdk 0.1
    Uninstalling protoc-gen-dcsdk-0.1:
      Successfully uninstalled protoc-gen-dcsdk-0.1
  Running setup.py install for protoc-gen-dcsdk ... done
Successfully installed protoc-gen-dcsdk-0.1
You are using pip version 19.0.3, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
[+] Done
[+] Generating plugins from
-> [+] Generated protobuf and gRPC bindings for gimbal
-> [+] Generated plugin for gimbal
-> [+] Generated protobuf and gRPC bindings for core
-> [+] Generated plugin for core
-> [+] Generated protobuf and gRPC bindings for calibration
-> [+] Generated plugin for calibration
-> [+] Generated protobuf and gRPC bindings for camera
-> [+] Generated plugin for camera
-> [+] Generated protobuf and gRPC bindings for param
-> [+] Generated plugin for param
-> [+] Generated protobuf and gRPC bindings for mission
-> [+] Generated plugin for mission
-> [+] Generated protobuf and gRPC bindings for info
-> [+] Generated plugin for info
-> [+] Generated protobuf and gRPC bindings for action
-> [+] Generated plugin for action
-> [+] Generated protobuf and gRPC bindings for offboard
-> [+] Generated plugin for offboard
-> [+] Generated protobuf and gRPC bindings for telemetry
-> [+] Generated plugin for telemetry
[+] Done
(venv) myuser-MacBook-Air:dronecodesdk-python myuser$ which protoc-gen-dcsdk
/Users/myuser/Desktop/dronecodesdk-python/venv/bin/protoc-gen-dcsdk
(venv) myuser-MacBook-Air:dronecodesdk-python myuser$ pip install -e .
Obtaining file:///Users/myuser/Desktop/dronecodesdk-python
Requirement already satisfied: protobuf>=3.5.1 in ./venv/lib/python3.7/site-packages (from dronecode-sdk==0.1.0) (3.7.1)
Requirement already satisfied: aiogrpc>=1.5 in ./venv/lib/python3.7/site-packages (from dronecode-sdk==0.1.0) (1.6)
Requirement already satisfied: grpcio>=1.11.0 in ./venv/lib/python3.7/site-packages (from dronecode-sdk==0.1.0) (1.21.1)
Requirement already satisfied: six>=1.9 in ./venv/lib/python3.7/site-packages (from protobuf>=3.5.1->dronecode-sdk==0.1.0) (1.12.0)
Requirement already satisfied: setuptools in ./venv/lib/python3.7/site-packages (from protobuf>=3.5.1->dronecode-sdk==0.1.0) (40.8.0)
Installing collected packages: dronecode-sdk
  Running setup.py develop for dronecode-sdk
Successfully installed dronecode-sdk
You are using pip version 19.0.3, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(venv) myuser-MacBook-Air:dronecodesdk-python myuser$ examples/takeoff_and_land.py
Traceback (most recent call last):
  File "examples/takeoff_and_land.py", line 5, in <module>
    from dronecode_sdk import connect as dronecode_sdk_connect
  File "/Users/myuser/Desktop/dronecodesdk-python/dronecode_sdk/__init__.py", line 48, in <module>
    from .plugins import * # NOQA
  File "/Users/myuser/Desktop/dronecodesdk-python/dronecode_sdk/plugins/__init__.py", line 1, in <module>
    -e # -*- coding: utf-8 -*-
NameError: name 'e' is not defined
(venv) myuser-MacBook-Air:dronecodesdk-python myuser$
myuser-MacBook-Air:~ myuser$ cd Desktop/Firmware/
myuser-MacBook-Air:Firmware myuser$ make posix jmavsim
[0/1] cd /Users/myuser/Desktop/F...esktop/Firmware/build/px4_sitl_default
SITL ARGS
sitl_bin: /Users/myuser/Desktop/Firmware/build/px4_sitl_default/bin/px4
debugger: none
program: jmavsim
model: none
src_path: /Users/myuser/Desktop/Firmware
build_path: /Users/myuser/Desktop/Firmware/build/px4_sitl_default
empty model, setting iris as default
SITL COMMAND: "/Users/myuser/Desktop/Firmware/build/px4_sitl_default/bin/px4" "/Users/myuser/Desktop/Firmware"/ROMFS/px4fmu_common -s etc/init.d-posix/rcS -t "/Users/zhangyanqing/Desktop/Firmware"/test_data
INFO  [px4] Creating symlink /Users/myuser/Desktop/Firmware/ROMFS/px4fmu_common -> /Users/myuser/Desktop/Firmware/build/px4_sitl_default/tmp/rootfs/etc
______  __   __    ___
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/
px4 starting.
INFO  [px4] Calling startup script: /bin/sh etc/init.d-posix/rcS 0
INFO  [dataman] Unknown restart, data manager file './dataman' size is 11798680 bytes
INFO  [simulator] Waiting for simulator to connect on TCP port 4560
Buildfile: /Users/myuser/Desktop/Firmware/Tools/jMAVSim/build.xml
make_dirs:
compile:
create_run_jar:
copy_res:
BUILD SUCCESSFUL
Total time: 0 seconds
Options parsed, starting Sim.
Starting GUI...
3D [dev] 1.6.0-pre12-daily-experimental daily
2019-05-26 18:03:00.352 java[1737:66808] WARNING: NSWindow drag regions should only be invalidated on the Main Thread! This will throw an exception in the future. Called from (
0   AppKit                              0x00007fff2f85c7eb -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 378
1   AppKit                              0x00007fff2f859bdb -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1479
2   AppKit                              0x00007fff2f85960e -[NSWindow initWithContentRect:styleMask:backing:defer:] + 45
3   libnativewindow_macosx.jnilib       0x0000000117504f6e Java_jogamp_nativewindow_macosx_OSXUtil_CreateNSWindow0 + 398
4   ???                                 0x0000000118e87667 0x0 + 4712855143
)
INFO  [simulator] Simulator connected on TCP port 4560.
Init MAVLink
INFO  [init] Mixer: etc/mixers/quad_w.main.mix on /dev/pwm_output0
INFO  [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 14570 remote port 14550
INFO  [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14580 remote port 14540
INFO  [logger] logger started (mode=all)
INFO  [logger] Start file log (type: full)
INFO  [logger] Opened full log file: ./log/2019-05-26/10_03_06.ulg
INFO  [mavlink] MAVLink only on localhost (set param MAV_BROADCAST = 1 to enable network)
INFO  [px4] Startup script returned successfully
pxh> INFO  [ecl/EKF] EKF aligned, (pressure height, IMU buf: 22, OBS buf: 14)
INFO  [ecl/EKF] EKF GPS checks passed (WGS-84 origin set)
INFO  [ecl/EKF] EKF commencing GPS fusion
INFO  [mavlink] partner IP: 127.0.0.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment