USB Camera for Device Observation

This may have been suggested before, but due to the remote access nature of the microscope it might be useful to implement the capability of a ‘remote view’ of the entire system, similar to the kind of RPi open source software you can find for monitoring the progress of 3d printers. Could this be achieved by integrating a video feed from a wide angle USB webcam within the openflexure connect application?


That is an interesting idea. It should be possible to do it relatively simply outside the OpenFlexure WebApp I think. Obviously it could be implemented as a complete separate system, with another Pi, but that is expense. The Pi for a microscope is running the openflexure server. If you are logged in to the Pi you can run other applications, which should include running a USB web cam. If you can do that locally, you can certainly do it with a remote desktop or SSH. I don’t know whether you can run two web servers simultaneously.

I don’t have a particular use case in mind, but it feels as though web cam monitoring and using the microscope are somehow separate functions. Even if they are the same person at the same computer, they would use a different window or browser tab.

That certainly sounds do-able - I can’t see why a USB webcam plugged in to the Pi that runs the microscope would not work nicely. At some point it might be too much computational load for the Pi, but provided the resolution/frame rate isn’t crazy high, I would hope it shouldn’t be a problem. As @WilliamW suggests, I’d probably just do this as a separate web service - that way you can use one of the (probably many) existing solutions for this, as you say it’s quite a common thing to do for 3D printing.

Of course, if you’re doing proper remote access (rather than just elsewhere on your local network) you definitely want to think about security, so chances are you’re already using an SSH tunnel or something - I wouldn’t recommend exposing the web app to the internet without a lot of additional security hardening. I did speak to someone a couple of years back who was developing some software that would make a nice job of protecting/proxying the web app, but I don’t know whether it went anywhere…