Raspberry PI Zero 2W camera
- Get the imager https://www.raspberrypi.com/software/ and write to sdcard, configure the dialogues
2. Plug in the sdcard, start the raspberry and log in via putty (find IP on router)
-> an USB port might not be powerful enough for heavy operations, so preerably a power outlet
3. Update and install workloads
sudo apt update sudo apt full-upgrade -y sudo apt install -y \ rpicam-apps \ python3-picamera2 \ python3-numpy \ python3-av \ ffmpeg \ samba sudo reboot
Test the camera
rpicam-hello --list-cameras
Create directories
mkdir -p ~/camera ~/videos ~/timelapse
Upload scripts (via powershell)
scp C:\ZeroCameraBackup\record-motion.py xxx@Zero.local:/home/xxx/camera/
scp C:\ZeroCameraBackup\aim-camera.sh xxx@Zero.local:/home/xxx/camera/
scp C:\ZeroCameraBackup\timelapse-camera.sh xxx@Zero.local:/home/xxx/camera/
In putty:
chmod +x ~/camera/record-motion.py
chmod +x ~/camera/aim-camera.sh
chmod +x ~/camera/timelapse-camera.sh
Create Services
sudo nano /etc/systemd/system/motion-camera.service [Unit] Description=Motion Detection Camera After=multi-user.target Conflicts=aim-camera.service timelapse-camera.service [Service] Type=exec User=tim WorkingDirectory=/home/tim/camera ExecStart=/usr/bin/python3 /home/tim/camera/record-motion.py Restart=on-failure RestartSec=5 KillSignal=SIGINT TimeoutStopSec=20 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target
sudo nano /etc/systemd/system/aim-camera.service [Unit] Description=Camera UDP Aiming Stream Wants=network-online.target After=network-online.target Conflicts=motion-camera.service timelapse-camera.service [Service] Type=exec User=tim WorkingDirectory=/home/tim/camera ExecStart=/home/tim/camera/aim-camera.sh Restart=on-failure RestartSec=5 KillSignal=SIGINT TimeoutStopSec=10 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target
sudo nano /etc/systemd/system/timelapse-camera.service [Unit] Description=Camera Timelapse After=multi-user.target Conflicts=motion-camera.service aim-camera.service [Service] Type=exec User=tim WorkingDirectory=/home/tim/camera ExecStart=/home/tim/camera/timelapse-camera.sh Restart=on-failure RestartSec=5 KillSignal=SIGINT TimeoutStopSec=20 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target
Activate teh services
sudo systemctl daemon-reload
Set one as starting service
sudo systemctl disable --now aim-camera.service sudo systemctl disable --now timelapse-camera.service sudo systemctl enable --now motion-camera.service
check
systemctl status motion-camera.service
