pageauc / pi-timolo

Raspberry PI-TIMOLO ( PI-TImelapse, MOtion, LOwLight ) uses RPI picamera and OpenCV for Remote Headless Security Monitoring using Motion Tracking, Rclone Auto Sync files with remote storage services. Auto Twilight Transitions and Low Light Camera Settings. Panoramic images using PanTiltHat and More. This project is featured on GitHub Awesome software.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PI-TIMOLO Mentioned in Awesome <INSERT LIST NAME>

Raspberry (Pi)camera, (Ti)melapse, (Mo)tion, (Lo)wlight

IMPORTANT: Raspbian Stretch and pi-timolo.py ver 11.11 and earlier has long exposure low light camera freezing issue due to kernel panic that requires a reboot to gain control of camera back per waveform80/picamera#528 pi-timolo.py ver 11.12 has a fix to resolve issue but requires the latest Raspbian firmware. If you encounter camera freeze with latest Stretch image then you will need to run sudo rpi-update to update Stretch to latest firmware. Normal backup precautions are advised before doing the firmware update. See wiki Note: Raspbian Jessie works fine and does Not encounter freezing issue with long exposure low light operation.

  • Release 9.x New Features have been Added. See Wiki Details below
    plugins Setup and Operation
    Rclone Setup and Media Sync (Replaces gdrive)
    watch-app.sh Remote Configuration Management
    python3 Support Details
  • Release 10.x Added Sched Start to Motion Track, Timelapse and VideoRepeat. See Wiki Details below
    How To Schedule Motion, Timelapse or VideoRepeat
    This release requires config.py be updated by the user with config.py.new since new variables have been added.
  • Release 11.12 Added adhoc fix for Debian Stretch kernel panic and camera freeze issue when running under very low light conditions. Note a sudo rpi-update may be required to update firmware if freezing still occurs under pi-timolo.py ver 11.12 or greater
  • Release 11.55 Added config.py setting nightTwilightModeOn True is the normal twilight mode for outside conditions. False is used for indoors conditions where there is no twilight. This setting will avoid overexposure when lights or sudden lighting changes are encountered. If you have previously experienced overexposure when camera is indoors then this setting should help.
  • Release 12.0 Added pantilthat panoramic image stitching Feature with support for Pimoroni and Waveshare pantilthat (and compatilble) hardware. This release also renames all the config.py variable Constants to snake_case and does some code cleanup. You need to update to the new config.py. Built in instructions will prompt you if needed. Please raise github issue if there are problems. See config.py comments and revised wiki for details.

Requirements

Requires a Raspberry Pi computer and a RPI camera module installed. Make sure hardware is tested and works. Most RPI models will work OK. A quad core RPI will greatly improve performance due to threading. A recent version of Raspbian operating system is Recommended.

Quick Install or Upgrade

IMPORTANT - It is suggested you do a Raspbian sudo apt-get update and sudo apt-get upgrade before curl install, since it is No longer performed by the pi-timolo-install.sh script

Step 1 With mouse left button highlight curl command in code box below. Right click mouse in highlighted area and Copy.
Step 2 On RPI putty SSH or terminal session right click, select paste then Enter to download and run script.

curl -L https://raw.github.com/pageauc/pi-timolo/master/source/pi-timolo-install.sh | bash

The command above will download and Run the GitHub pi-timolo-install.sh script. An upgrade will not overwrite configuration files.

  • NOTICE gdrive is no longer installed with pi-timolo-install.sh, I have been testing rclone and it is Now the Default. Some rclone- samples are included. Make a copy of one, rename and edit for your own needs. See Wiki - How to Setup Rclone. Note: If a /usr/local/bin/gdrive File Exists, It Will Remain. Older files are still available on this GitHub Repo.

Test Install

To Test Run default config.py - motion track(HD image) plus timelapse(5 min interval).

cd ~/pi-timolo
./pi-timolo.py

For More Details see Basic Trouble Shooting or pi-timolo Wiki

Description

PI-TIMOLO is primarily designed for headless operation and includes rclone that can securely synchronize specified media folders and files with a users remote storage service of choice. This works well for remote security and monitoring cameras. Camera config.py and conf settings can be easily administered remotely from a designated sync directory using watch-app.sh script using a crontab entry to periodically check for updates between the pi-timolo camera and a users remote storage rclone service name.

pi-timolo is python 2/3 compatible and can take timelapse and/or motion tracking images/videos, separately or together. Will take long exposure Night (lowlight) images for Time Lapse and/or Motion. Has relatively smooth twilight transitions based on a threshold light setting, so a real time clock is not required. Customization settings are saved in a config.py and conf files and optional special purpose plugin config files. Optional plugin feature allows overlaying config.py settings with custom settings for specific tasks.

Includes makevideo.sh to create timelapse or motion lapse videos from images, convid.sh to convert/combine h264 to mp4 format, a simple minumum or no setup web server to view images or videos and menubox.sh to admin settings and stop start pi-timolo and webserver as background tasks.

For more Details see Github Wiki

Minimal Upgrade

If you are just interested in a minimal upgrade (must have pi-timolo previously installed) from a logged in ssh or terminal session execute the following commands.

cd ~/pi-timolo
sudo apt-get install python-opencv
cp config.py config.py.old
cp pi-timolo.py pi-timolo.py.old
wget -O config.py https://raw.github.com/pageauc/pi-timolo/master/source/config.py
wget -O pi-timolo.py https://raw.github.com/pageauc/pi-timolo/master/source/pi-timolo.py    

To implement webserver3.py (Buster or Later) perform the following

cp webserver.py webserver2.py
cp webserver3.py webserver.py

Edit config.py to transfer any customized settings from config.py.old

Manual Install or Upgrade

From logged in RPI SSH session or console terminal perform the following. You can review the pi-timolo-install.sh script code before executing.

cd ~
wget https://raw.github.com/pageauc/pi-timolo/master/source/pi-timolo-install.sh
more pi-timolo-install.sh    # Review code if required
chmod +x pi-timolo-install.sh
./pi-timolo-install.sh

Menubox

pi-timolo has a whiptail administration menu system. The menu's allow start/stop of pi-timolo.py and/or webserver.py as background tasks, as well as editing configuration files, making timelapse videos from jpg images, converting or joining mp4 files Etc.

To run menubox.sh from ssh console or terminal session execute commands below.

cd ~/pi-timolo
./menubox.sh

menubox main menu

Webserver

I have also written a standalone LAN based webserver.py to allow easy access to pi-timolo image and video files on the Raspberry from another LAN computer web browser. There is no setup required but the display settings can be customized via variables in the config.py file or via menubox admin menuing.
NOTE: webserver.py is normally run in background using menubox.sh, webserver.sh or from /etc/rc.local
To Test Run from ssh console or terminal session.

cd ~/pi-timolo
./webserver.py

webserver browser screen shot

shutdown.py

This will safely halt the raspberry pi when a momentary switch is held for a specified number of seconds for details see wiki How to Use shutdown.py

Reference Links

Detailed pi-timolo Wiki
my pi-timolo and other YouTube Videos playlist
MagPi Object Recognition using pi-timolo
makezine night vision project using pi-timolo
hackster facial recognition using pi-timolo
Neverending project timelapse using pi-timolo
hedgehog camera using pi-timolo and step by step
Museum Insect activity monitoring using pi-timolo
Brett Beeson timelapse cloud project using pi-timolo
Bird and Squirrel Detector

Good Luck Claude Pageau

About

Raspberry PI-TIMOLO ( PI-TImelapse, MOtion, LOwLight ) uses RPI picamera and OpenCV for Remote Headless Security Monitoring using Motion Tracking, Rclone Auto Sync files with remote storage services. Auto Twilight Transitions and Low Light Camera Settings. Panoramic images using PanTiltHat and More. This project is featured on GitHub Awesome software.

License:MIT License


Languages

Language:Python 73.4%Language:Shell 26.6%