At the suggestion of @Orion.DeYoe, I and a couple other team members have been attempting to run our vision processing on a Raspberry Pi 4 using @agranight’s Chameleon Vision software and a Microsoft LifeCam. Unfortunately, we haven’t been able to access the network table data from the RPi within LabView. Any suggestions or examples would be greatly appreciated! I will have physical access to the setup tomorrow evening to attempt any suggested fixes.
Relevant Information about the problem:
The Pi was an out-of-the box V4 with (I believe) 1G of RAM. I downloaded the “Raspbian Buster with Desktop” image from the Raspberry Pi Foundation and flashed a brand new microSD card with it using Etcher.
After setting up the Pi, I installed Chameleon Vision using the instructions at Chameleon’s Read the Docs entry and was able to view the local server at 127.0.0.1:5800 (from within chromium, the RPi’s browser). We were also able to view the camera feed and modify the threshold and output settings. We also renamed the camera to “Camera” since we were just testing it and it’s the only camera connected to the RPi.
After fiddling around with the settings for a while, we completed the steps for building a 2D pipeline laid out in Chameleon’s Read the Docs entry using a static ip of 10.54.13.11. After this point, things started getting hazy. The Read the Docs entry doesn’t specify what the netmask or gateway should be set to (or if they should be set), so I looked at the Limelight Read the Docs entry for instructions on setting up the networking. Maybe this was the issue? We had tried accessing the network table data without doing this and had no success, so I assumed that since the two programs were similar, maybe the Limelight settings would work with Chameleon. As a result, we set the netmask to 255.255.255.0 and the gateway to 10.54.13.1.
When I unplugged the RoboRIO from the radio and plugged in my computer instead, I was able to access the Chameleon server at 10.54.13.11:5800, so it seemed like the previous settings had worked to set up the network.
Although the Chameleon Read the Docs entry has example code for accessing network table data, it’s in Java so I couldn’t just steal their code
I’m very unfamiliar with network tables, so once again I grabbed an example from Limelight (it’s at the bottom of the page) to figure it out. Using that example (among others) from Limelight, and this network table tree from Chameleon, it looked like I should be able to use /Chameleon-vision/Camera/pitch to access the pitch, for instance; since “Chameleon-vision” was the listed hostname in the web server and we renamed the camera to “Camera”.
We also tried including the ip and port of the RPi, and reading the entire “Camera” folder (if it’s called a folder) with no luck, pictured below.
Sorry for the excessive detail, but I know how annoying it is if someone asks for help and doesn’t provide important information. If there’s anything else I need to include, just let me know and I’ll find out! Thanks!