I couldn't get the script from p123ad to work on my Pi Zero W 2 with Camera Module 3 (all kinds of ffmpeg errors). There are several built-in tools for working with the camera now, so I tried to figure out if I could use one of those instead.
Behold this version, which uses the built-in libcamera-still
tool to actually interact with the camera and save a JPEG. That image is then uploaded to Prusa Connect, same as the original script.
- Go to the Cameras section at https://connect.prusa3d.com
- Add a new camera by clicking "Add new other camera"
- Copy the generated Token
- Set up your Pi Zero W 2 with Raspian OS Lite (32-bit) (this may work with other combinations of Pi and OS but I haven't tested)
- Log into your Pi and create a shell script with
sudo nano /usr/local/bin/prusaconnect_upload_cam.sh
and swap outconnect-token-here
in the script example with the Token you copied in step 3 - Change ownership of the script to the user you log into your pi with, for example if your user is
pi
then run:sudo chown pi:pi /usr/local/bin/prusaconnect_upload_cam.sh
- Make the script executable:
chmod +x /usr/local/bin/prusaconnect_upload_cam.sh
- Start the script with
/usr/local/bin/prusaconnect_upload_cam.sh
If it works you should see no error messages, and a new image appearing in Prusa Connect every 10 seconds.
To run the script in the background and have it start automatically when your Pi starts:
- Create the service file with
sudo nano /etc/systemd/system/prusaconnect_upload_cam.service
, paste the content from below and save. - Start the service:
sudo systemctl start prusaconnect_upload_cam.service
. - Check if the service is running with
sudo systemctl status prusaconnect_upload_cam.service
. - Enable the service to run at startup:
sudo systemctl enable prusaconnect_upload_cam.service
.
Hi,
Thank you very much for the script. Works as it should. I took the liberty of making small corrections, because from what I read and checked, if the printer is turned off and marked as OFFLINE in PrusaConnect, you cannot send screenshots from the camera. Additionally, the image size is probably also checked.
Sorry, I'm not very active on github and I don't know how to format the text to make it visible as code :/