GroundSDK on a Raspberry pi 4?! Impossible?

Hello All! I am attempting to run the GroundSDK on a raspberry pi 4 (8GB) running Ubuntu 64:

Static hostname: team1-Hub
Icon name: computer
Machine ID:
Boot ID:
Operating System: Ubuntu 22.04.1 LTS
Kernel: Linux 5.15.0-1017-raspi
Architecture: arm64

Now I know the issue already you may be thinking is that its an ARM64, for that I installed Box64 emulator. I know this isn’t fool proof but i hoped it would work. I followed these instructions for Box64 AMD64 Emulator: Run x64 Software on a Raspberry Pi using Box64 - Pi My Life Up
Install: Successful.

I then followed this Ground SDK installation guide: Install and build GroundSdk - 7.3

Now for the NDK I can not install the lib86 libraries as I am on an arm cpu and not even the emulator can trick that. (Is it possible if I go to Ubuntu 32bit and install a 32bit emulator box86? I don’t think so but maybe) so I skipped installing lib86.

I got down to “Build GroundSDK” running command:
./build.sh -p groundsdk-android -t build -j

My Output:

[I] Starting task 'build'
[I] Starting task 'build-jni'
[I] Starting task 'build-common'
[I] Starting task 'build-common-armeabi-v7a'
[I] In '/opt': ALCHEMY_HOST_OUT_BUILD="/opt/out/groundsdk-android/host/build" ALCHEMY_HOST_OUT_STAGING="/opt/out/groundsdk-android/host/staging" ALCHEMY_TARGET_CONFIG_DIR="/opt/products/groundsdk/android/config" ALCHEMY_TARGET_OUT="/opt/out/groundsdk-android/armeabi-v7a" ALCHEMY_TARGET_PRODUCT="groundsdk" ALCHEMY_TARGET_PRODUCT_VARIANT="android" ALCHEMY_TARGET_SCAN_ADD_DIRS=" /opt/packages" ALCHEMY_TARGET_SCAN_PRUNE_DIRS=" /opt" ALCHEMY_USE_COLORS="1" ALCHEMY_WORKSPACE_DIR="/opt" ANDROID_ABI="armeabi-v7a" PARROT_BUILD_PROP_GROUP="drones" PARROT_BUILD_PROP_PRODUCT="groundsdk" PARROT_BUILD_PROP_PROJECT="groundsdk" PARROT_BUILD_PROP_UID="groundsdk-android-20221122-2129-0.0.0" PARROT_BUILD_PROP_VARIANT="android" PARROT_BUILD_PROP_VERSION="0.0.0" /opt/build/alchemy/scripts/alchemake -j 4 all sdk
Installing Android-24 toolchain  from NDK
Traceback (most recent call last):
  File "/opt/android-ndk-r17c/build/tools/make_standalone_toolchain.py", line 666, in <module>
    main()
  File "/opt/android-ndk-r17c/build/tools/make_standalone_toolchain.py", line 649, in main
    create_toolchain(install_path, args.arch, api, gcc_path, clang_path,
  File "/opt/android-ndk-r17c/build/tools/make_standalone_toolchain.py", line 423, in create_toolchain
    copy_directory_contents(gcc_path, install_path)
  File "/opt/android-ndk-r17c/build/tools/make_standalone_toolchain.py", line 147, in copy_directory_contents
    os.makedirs(dst_dir)
  File "/usr/lib/python3.10/os.py", line 215, in makedirs
    makedirs(head, exist_ok=exist_ok)
  File "/usr/lib/python3.10/os.py", line 215, in makedirs
    makedirs(head, exist_ok=exist_ok)
  File "/usr/lib/python3.10/os.py", line 215, in makedirs
    makedirs(head, exist_ok=exist_ok)
  [Previous line repeated 1 more time]
  File "/usr/lib/python3.10/os.py", line 225, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/opt/out'
ls: cannot access '/opt/out/groundsdk-android/armeabi-v7a/toolchain/bin/*-objdump': No such file or directory
/opt/build/alchemy/toolchains/linux/bionic/selection.mk:71: *** Failed to detect android toolchain prefix.  Stop.
[E] Command failed (returncode=2)

Mainly it seems the issue is this: cannot access ‘/opt/out/groundsdk-android/armeabi-v7a/toolchain/bin/*-objdump’: No such file or directory.

I read that a github SDK pull for my specific NDK might work (I installed NDK Revision 17c per instructions on linked page) but I have found no solution.

WHAT ARE YOU TRYING TO DO?!:
I am trying to install a groundsdk or any SDK to a raspberry pi 4 that will act as a central hub to send GPS coordinates to the AIR SDK of a parrot anafi. I saw that Olympe does not have this feature though it could be installed.

Now if this is not possible at all. I am going to attach a raspberry pi 0 W with the airSDK on the parrot. I will then send the gps coordinates via zigbee protocol (from a PC with an AMD64 processor I suppose instead of a pi 4) to the pi 0 W (assume this works) the pi 0 w will then transmit the coordinates directly to the drone via airsdk (Idk if this part is possible). This is my work around. In the end I hope to do this for three of these parrots we have to make a mesh network swarm.

I’m not new to python or coding but I am new to this scale of things and any and every bit of expertise from the community would be helpful :smiling_face_with_three_hearts:

Hi

WHAT ARE YOU TRYING TO DO?!:
I am trying to install a groundsdk or any SDK to a raspberry pi 4 that will act as a central hub to send GPS coordinates to the AIR SDK of a parrot anafi. I saw that Olympe does not have this feature though it could be installed.

While the install procedure for “GroundSDK Android” is meant to be executed on Linux computer. GroundSDK is an SDK to build Android or iOS application running on Android or iOS. You won’t be able to run an Android application on a Raspberry Pi running Ubuntu 22.04.

Olympe on the other hand is an SDK to develop Python application running on a Linux computer. You should definitely try to build Olympe from source on your RPi4 instead of GSDK.

1 Like

Awesome suggestion! Thank you ndessart. However from my precursory research aforementioned, Olympe does not have the capability to send GPS coordinates to the airsdk to be live fed to the drone which is the one and only thing I need to do. I’ve opted to try to bypass the need for the ground SDK by sending GPS coordinates to a pi 0 via a zigbee network. The pi 0 is then to either communicate to the Parrot via the Parrot Anafi LTE network or MAYBE via USB (not sure if I can communicate with the parrot via the USB. This would be helpful as it could also potential power the Raspberry pi 0) This afforementioned pi 0 is attached to the pi drone physically by the way. Since GroundSDK is mainly used to transmit the data to the drones, then wit this method I theoretically wont need a ground SDK, just the AIRSDK on each pi 0 to talk to the drone.

In Hindsight, this is my preferred method if possible.

Olympe does have the capability to communicate with an AirSDK mission. I don’t know what made you believed the contrary.

This topic was automatically closed after 30 days. New replies are no longer allowed.