For the last 3 years, I've been running MotioneyeOS (from June 6, 2020) in a Raspberry Pi Zero W with a RPi camera module attached via the CSI camera connector.
I've been using a simple bash script run by a CRON job entry to capture images, for my weewx weather station page. This is the line in the script that does the capture:
It only calls for an image 1 time.
Doing this has worked great, once per minute, for 3 years.
(Note, that with MotioneyeOS you don't need the port :8765 notation in your wget call.)
This week, I loaded some other Raspberry Pi Zero boards (with attached RPi camera modules) loaded with 32-bit Bullseye RaspianOS from July 2024.
motionEye Version 0.43.1b2
Motion Version 4.7.0
OS Version Raspbian 11
I got Motioneye working in Bullseye and thought I had working Raspberry Pi cameras that were working as well as my 2020 vintage MotioneyeOS RaspberryPi cameras. Nope!
I found that the same wget command line I was using with the MotioneyeOS RPi cameras, does NOT work the same with the current Motioneye release running inside Bullseye RaspbianOS.
I found that the wget command doesn't grab a valid image from Motioneye, UNLESS you call wget, wait 2 seconds, and then call wget AGAIN!
It's like Motioneye puts the camera to sleep and it takes 2 wget calls to wake it up and get a valid image??
By experimenting, I found that calling wget 2 times with a 2 second delay between calls, wakes up the camera and obtains a valid image
sleep 2
Why is it now necessary to call wget 2 times to get a valid image from the camera with the latest release of Motioneye?
Is the current Motioneye putting the camera module to sleep and 2 wget calls are necessary to wake it up?
Is there a setting that will keep Motioneye from putting the camera to sleep?