Help using raspberry pi as camera host fluidd

Basic Information:

Printer Model:
MCU / Printerboard:
Host / SBC
klippy.log

Fill out above information and in all cases attach your klippy.log file (use zip to compress it, if too big). Pasting your printer.cfg is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there

Describe your issue:

I know I saw this somewhere on here before but I keep searching and can not find it.

I want to use an external raspberry pi to connect a usb camera to, but I want to monitor that feed in fluidd on my networked printer. I saw someone had an ip address or something of their raspberry pi cam in fluidd or mainsail browser, but i don’t know how it was set up

In Fluidd, you go to

Settings -> Cameras -> Add Camera -> Edit Camera

In Mainsail:

Settings -> Webcams -> Add Camera

Awesome thanks. I will try that as soon as I get my raspberry pi hooked up

1 Like

I finally got my pi in. I am going to try to get this to work today. What needs to be installed on the pi? I am guessing crowsnest, but not sure what else. Do I need a custom OS? Thanks

I installed crowsnest on the Pi. not sure if I need to install anything else. if I type http://ip of printer/webcam2/?action=stream#/ it shows the camera feed in my browser. however if I type
http://ip of pi/webcam2/?action=stream#/ I get This site can’t be reached

ip refused to connect.

Try:

ERR_CONNECTION_REFUSED

I did make sure to set the camera on the Pi to 8081 and not 8080. that is why i am using “webcam2” I also tried the std webcam link before changing to webcam2, but it did not work. I wanted to see if changing the port fixed the problem. it did not

after reading more online it looks like I have to have a different OS installed on the Pi. I installed octopi and now I can see the camera in my browser.

is there a better OS to install? I almost did Mainsail OS. I am not used to the setup of octopi. I might get used to it, but I don’t know where the config files are to add more cameras ect.

Ok I got what I think I am happy with for the time. I installed mainsail OS then KIAUH. then updated mainsail, installed fluidd, and a few other things. now I can use fluidd or MS and can see the cameras from the printer and from the printer I can see the USB cameras that are connected to the Pi. I will move all cameras to the Pi and let the printer run a little smoother.

Ok I just got all the cameras moved over to the Pi. I have a small issue I am trying to fix. I had some macros set up for 1 camera. they are stored in a config file named v4lctrs.cfg. I have a line in there

command = v4l2-ctl -d /dev/v4l/by-id/usb-Anker_PowerConf_C200_Anker_PowerConf_C200_ACNV9P1E10335095-video-index0

when that camera was connected to the printer, i could control it. now that it is on the Pi, the location is obviously not the same. I tried to add the ip address and the ip and port for the camera to the device name like the following:

command = v4l2-ctl -d http://ip-of-pi:8081/dev/v4l/by-id/usb-Anker_PowerConf_C200_Anker_PowerConf_C200_ACNV9P1E10335095-video-index0

I also tried without the port. neither worked. I think i might need to call the address and then the path separate. not sure how to do that, and if this will even work. any ideas?

I have made some progress. if I send

curl “http://ip of pi:5000/execute_v4l2?params=zoom_absolute=400” from putty on my printer and have a little app running on the pi that listens for commands over http, it zooms in. if I set it to 100 (default for this camera)it zooms out. what I can not get to work is the maco button. it is being called out in my v4lctrs.cfg that command that was working when the camera was on the printer was RUN_SHELL_COMMAND CMD=v4l2-ctl PARAMS=“-c zoom_absolute=400”
how so I get the button to call out the new curl address? the github I got this from is GitHub - DaVinci-10/v4l2-ctrl-macros-for-Klipper: V4L Camera controls Focus, PTZ, etc macros for use in Klipper
I think DaVinci is on the forums here so hopefully he will chime in

I am starting to think this just isn’t possible. Tried for a few more hours this morning, even tried using ChatGPT as a guide. Not any closer to getting it to work. Can someone please help? Thanks