Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate building cwipc for Raspberry Pi 4 (or 5) #76

Open
jackjansen opened this issue Dec 18, 2023 · 3 comments
Open

Investigate building cwipc for Raspberry Pi 4 (or 5) #76

jackjansen opened this issue Dec 18, 2023 · 3 comments
Assignees

Comments

@jackjansen
Copy link
Contributor

It would be good to have cwipc running on a Raspberry Pi 4 or later. Earlier is pointless, see below.

This is (I think) specifically to allow using the RPi as a dedicated "camera server" with a RealSense camera attached.
I'm targeting the RealSense at the moment, because people have gotten it working on the RPi (unlike the Kinect).

I'm specifically saying RPi4 or later because earlier models don't have USB3, and USB3 is needed to (1) get decent throughput to the camera, and (2) get decent Ethernet throughput.

I'm going to start with investigating whether we can build librealsense2 for the RPi4, and see whether its performance is good enough to continue this line of work. It may be that it is, in which case we continue. It may be that we have to wait for the RPi5.

@jackjansen jackjansen self-assigned this Dec 18, 2023
@jackjansen
Copy link
Contributor Author

So starting with building librealsense2.

Started with the instructions at https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_raspbian.md

These are for RPi3, with an older raspbian. Some things had the change.

The make and gcc versions provided are now new enough, it seems.

The Install Packages failed, with missing packages. What worked was

sudo apt-get install -y git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev cmake libglfw3-dev build-essential
sudo apt-get install -y libdrm-amdgpu1 libdrm-dev libdrm-exynos1 libdrm-freedreno1 libdrm-nouveau2 libdrm-omap1  libdrm-radeon1 libdrm-tegra0 libdrm2
sudo apt-get install -y libglu1-mesa libglu1-mesa-dev glusterfs-common libglu1-mesa libglu1-mesa-dev
sudo apt-get install -y libglu1-mesa libglu1-mesa-dev mesa-utils mesa-utils-extra xorg-dev libgtk-3-dev libusb-1.0-0-dev   

Next was Protobuf. The instructions failed, the Python packages didn't build. Tried various newer versions, finally settled on

git clone --depth=1 -b v3.20.3 https://github.com/google/protobuf.git

The Python interfaces still don't work (this version of protobuf is incompatible with 3.11). Also tried v24.0 (which apparently has a newer naming scheme?), but I couldn't build that with the given instructions.

Continuing with the instructions (skipping OpenCV, which was a suggestion I saw somewhere else).

Am now at the point of trying to build librealsense.

@jackjansen
Copy link
Contributor Author

Note to self: if the instructions here eventually lead to a successful build I should feed this back as a librealsense issue.

@jackjansen
Copy link
Contributor Author

Another note: there may be interesting information in https://dev.intelrealsense.com/docs/open-source-ethernet-networking-for-intel-realsense-depth-cameras or otherwise that may point to a completely different way to handle the use case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant