• DepthAI-v2
  • OAK-D on Raspberry Pi Zero: Version not Satisfied open3d==0.10.0.0

Hi I am just trying to get OAK-D running in a Raspberry Pi Zero ( freshly installed Raspberry OS 32 bits)
I am following this tutorial https://docs.luxonis.com/en/latest/pages/api/#install-from-pypi

The following is the error message I recived:
pi@zero:/Documents/depthai $ python3 install_requirements.py
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pip in /home/pi/.local/lib/python3.7/site-packages (20.3.3)
WARNING: Skipping depthai as it is not installed.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: Could not find a version that satisfies the requirement open3d==0.10.0.0
ERROR: No matching distribution found for open3d==0.10.0.0
Traceback (most recent call last):
File "install_requirements.py", line 17, in <module>
subprocess.check_call([*pip_install, "-r", "requirements.txt"])
File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', 'install', '--user', '-r', 'requirements.txt']' returned non-zero exit status 1.

I did a quick search on the forum and google, which can not help me?
Can anyone help? Thank you all in advance.

    Hi 5M1Sec ,

    So the installation should detect that you are on a Pi and not try to install open3d, so this is an error on our part. So to fix this, you can actually simply open requirements.txt, and simply delete the line that has open3d on it, then save.

    And then from there, it should install properly.

    We'll update the installation script to make sure this problem doesn't happen in the future. But this should get it going for now.

    Thanks again and sorry for the trouble,
    Brandon

      Brandon Hi Brandon,
      Thank you for reaching out. I deleted the line with open3d. However I got an error of "illegal instruction" without futher log:
      "pi@zero:/Documents/depthai $ python3 depthai_demo.py
      Illegal instruction"

      I plugged it via a micro-usb adepeter. Tested in headless mode, VNC, HDMI mode. The hardware is being recognized. I tested the hardware in my Mac without any problem. I do not really need a GUI feedback window, but I want to make sure it works on my Pi zero before moving on.

        Hi 5M1Sec ,

        Sorry about the delay. How are you powering the Pi Zero and the OAK-D in this test? I ask because I'm wondering if the Pi Zero is browning out (temporarily running out of power) if the OAK-D is powered by the Pi Zero. If the Pi Zero is providing power to the OAK-D, this is very likely, as I think the Pi zero power supply does not provide sufficient power for both.

        I can confirm that I have run OAK-D with a Pi Zero before though. I have the adapters so I could give it another shot. I'll try to do so in the coming days.

        Thanks,
        Brandon

          Brandon I powered them in two seprerate power sources. I used the power source from OAK-D box for OAK-D. This is my Pi package
          By running vcgencmd measure_volts core, the voltage is either 1.2V or 1.35V(running script)with and without OAK-D connected. The Pi system has updated and upgraded.

            5M1Sec Thanks. That looks very similar to what I used. Very strange. I'll try replicating this on my Pi Zero this week.

            Quick question though: Can you run other python3 things? I'm wondering if there is something wrong with the python install perhaps, or perhaps the SD-card.

            Hi 5M1Sec ,

            Sorry about the delay. I think we know what this is now. Can you try running the following?

            python3 -c "import cv2; import numpy as np; blank_image = np.zeros((500,500,3), np.uint8); cv2.imshow('s', blank_image); cv2.waitKey(0)"

            I think the OpenCV install either didn't go through or was corrupted.

            If this does not show a window, please run this command:

            sudo curl -fL http://docs.luxonis.com/_static/install_dependencies.sh | bash

            Thanks,
            Brandon

              Brandon
              I ran the first command via ssh both with and without connecting a HDMI monitor.
              The first command throws an error:
              ">>> import cv2

              import numpy as np
              blank_image = np.zeros((500,500,3), np.uint8)
              cv2.imshow('s', blank_image); cv2.waitKey(0)
              Unable to init server: Could not connect: Connection refused

              (s:960): Gtk-WARNING **: 21:22:34.771: cannot open display:"

              Importing CV2 doesn't throw an error. After running the second command, I still receive the same error.

              I'm wondering if there is something wrong with the python install perhaps, or perhaps the SD-card.

              Invoking Python3 seems no problem.

              Ah! So over SSH a different version of OpenCV is required I think. Or you would need to ssh in with X-Forward enabled.

              Otherwise OpenCV will not know how to open the display.

              So opencv-headless I think is what enables straight-up SSH use, but I'm not 100% sure actually. You could also do X-Forwarding instead (with your current OpenCV install), but I also don't immediately know.

              The sure-fire way to test is to hook a mouse/keyboard and see if that example OpenCV is working directly on the display, not over SSH, but just from mouse/keyboard control to start.

              Thoughts?

              Thanks,
              Brandon

                Brandon Sorry for the late reply.
                The Pi zero only has two micro-usb ports. I used one for power source and anther for OAK-D. So I did a VNC control over the HDMI monitor. I still recive the same error. Since I can not diagnose where is the problem. I think a script printing the detection objects in OAK-D to the terminal would be great for eliminating the factor.

                  Hi 5M1Sec ,

                  I have been able to reproduce this on the Pi Zero. It is specific to the Pi Zero. We have since been trying to figure out what exactly is going wrong on the Pi Zero, specifically. We have several of the team now having ordered Pi Zero and waiting for them to arrive.

                  Sorry about the delay - more details here: https://github.com/luxonis/depthai/issues/324

                  Thanks,
                  Brandon

                  4 days later

                  5M1Sec
                  After git clone, you have to do:
                  git checkout origin/pi_zero_wheel

                  It's not yet merged into main. Awaiting confirmation.

                  Open3d is optional, and not installed on raspberry pis.

                    Thank you for circling back!