It's not much to look at now, but you should see it in action :D It looks like the endoscope camera will work pretty well, and I have it set up with the MultiCam Plugin for Octopring (which allows toggling between cameras using the buttons on the "control" tab within Octoprint):
To do this, several things were required. First a working Octoprint install on a Rpi (4 is preferred due to the load from the extra cameras). Also a good power supply or a powered USB hub that is compatible with the Pi. An SSH terminal app on a PC such as Putty (https://www.microsoft.com/en-us/p/putty-unofficial/9n8pdn6ks0f8?activetab=pivot:overviewtab)
I first had to get the mpeg stream to work from the new endoscope camera, and to do that I follwed this guide:
Some basics on this process first though. To access the pi, the Putty program will be used, just open it and put the IP of the Pi in (leave the port as 22 - which is for ssh). Then log into the pi with username "pi" and the default password is "Raspberry" but please change it to something else using the "passwd" command (follow the prompts and don't loose the password). Note that the password here will not be the same as the one used for Octoprint, they are different so changing one does not affect the other.
Next, I just followed the guide linked above, but as usual I ran into a problem (s). When I set up the files /boot/octopi.txt and /boot/octopi.conf.d/webcam2.txt for the webcams, I made some typo's and failed to close some quotes or left double quotes. That jammed everything up so if you find things don't work, look over those really closely. I included screencaps of the working files below for reference (these were after fixing the typos):
If there are problems with things not working, checking in the webcamd log can point the way to what happened (more is a command to show file's contents on the command line):
Note that this log will keep growing every time the webcamd process is started so you need to go to the bottom to find the logs since the last re-start of the process. They will start with "Starting up webcamDaemon..." and end with "Goodbye...".
As an example, I had some syntax errors (missing ") in my config files. Look for things like this in the /var/log/webcamd.log (don't forget to scroll down to the bottom for the latest logs):
Additionally, if you see no syntax errors and it looks like it is not using your desired resolution but 640x480 instead, you can run this to see if the resolution is supported:
If you make changes to the config files, then you need to restart the webcamd service every time (using "sudo service webcamd restart"), for the changes to take effect.
When both cameras are working the /var/log/webcamd.log will look like this:
Now that was working, I thought I would be set and could just put "http://192.168.0.22:8081/?action=stream" in the URL field for the Multicam plugin and it would be smooth sailing... Haha, few things ever work like that for me.
Even so, I tried setting the second (endoscope) camera up with "http://192.168.0.22:8081/?action=stream" as the URL, and it failed, even though I can open http://192.168.0.22:8081/?action=stream in a browser and see the stream.
I realized at that point that I needed to set up the Haproxy according to the last part of the guide here (https://community.octoprint.org/t/setting-up-multiple-webcams-in-octopi-the-right-way/32669), so that's what I did, and it now works as it should (I can use the Multicam plugin to toggle between the cameras). Below is my current working Multicam config:
One thing to keep in mind is that the multicam plugin does not show multiple cameras on one screen within the Octoprint UI, it only provides buttons to toggle which camera is used. It can therefore be handy to just open another browser and stream the other camera (using http://192.168.0.22:8081/?action=stream for example - with your Pi's IP).
I also noticed a bonus - the Multicam plugin also added a button for each camera in Cura (I did not have to configure this):
UPDATE 1/7/2022 - The design for the endoscope and BL-Touch mount is posted here: