• Stars
    star
    547
  • Rank 80,723 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 10 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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.

PI-TIMOLO Mentioned in Awesome <INSERT LIST NAME>

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

For Details See Program Features and Wiki Instructions and YouTube Videos

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

More Repositories

1

speed-camera

A Unix, Windows, Raspberry Pi Object Speed Camera using python, opencv, video streaming, motion tracking. Includes a Standalone Web Server Interface, Image Search using opencv template match and a whiptail Admin Menu Interface Includes picam and webcam Plugins for motion track security camera configuration including rclone sync script. watch-app allows remotely controller camera configuration from a remote storage service name. Uses sqlite3 and gnuplot for reporting. Recently added openalpr license plate reader support.
Python
935
star
2

motion-track

Windows, Unix, Raspberry Pi Motion Tracking Demo. Tracks movement in camera view and returns X, Y Position of Largest Moving Contour in Camera View - See Moved GitHub Project Links
Python
149
star
3

rclone4pi

rclone4pi - Easy Install of rclone to Raspberry Pi Computer with automated folder sync demo
Shell
96
star
4

picamera-motion

Raspberry Pi python PiCamera Lightweight Motion Detection. Includes easy curl script install/upgrade, whiptail admin menu system, single file web server and Rclone for uploading to a variety of web storage services.
Python
89
star
5

opencv3-setup

Raspberry Pi whiptail Menu driven Easy Install and Compile of opencv3 python from source files.
Shell
51
star
6

pi-motion-lite

Raspberry Pi python motion detection using picamera python module
Python
45
star
7

face-track-demo

Raspberry Pi python PiCamera, OpenCV Face and Motion Tracking using pan/tilt assembly via servo controller or gpiozero pwm
Python
38
star
8

cam-track

Windows, Unix, Raspberry Pi Computer python program to Track Camera X, Y Movements and Convert to Camera Pointing Position. Useful for Stabilization or Robotics Course Correction
Python
38
star
9

sonic-track

Uses a raspberry pi camera or web cam and python opencv to track motion in camera view. Sends motion contour data to sonic-pi via osc interface to produce and control notes/sample. Includes ability to use onscreen menu areas to change synthesizer, octaves Etc.
Python
30
star
10

pi-motion

Raspberry Pi and Camera Module raspistill Python Motion Capture
Shell
23
star
11

FileBrowser

This is a bash whiptail file selection menu sample code
Shell
15
star
12

track-inout

Windows, Unix, Raspberry Pi program uses opencv and python to track moving objects that enter and leave camera view and cross a vert or horz trigger center line. Can be configured to take an image and log data to a csv file. Includes a standalone web server for viewing image files. At this point it is a demo since it would need more work but the basic operation is functional.
Python
12
star
13

webserver

A Raspberry Pi Simple python Stand Alone Local Network Web Server. Automatically reads folder and file entries into a right pane selection list. Selected folder opens a new browser tab and Selected file displays content in browser left pane iframe. Right pane list can be ordered by date/time or alphabetic ascending or descending via settings.py file. A menubox.sh makes it easier to operate and change the webserver settings.
Python
12
star
14

pi-motion-orig

Raspberry Pi camera python motion detect and grive sync images to google drive
Python
10
star
15

panopi

Create pano timelapse images from multiple RPI computers using picamera modules.
Python
9
star
16

pifan

Control Raspberry Pi case fan on/off using CPU temperature
Python
7
star
17

waveshare.pantilthat

Waveshare PanTiltHat python2 and 3 Driver and demo. Uses curl install scripts. One for Demo and Driver and one just for driver. Demo's scripts support Pimoroni.
Python
6
star
18

enviro-pi

Use RPI with Sensehat to monitor humidity, temperature, barometric pressure. View data and graphs on a web browser. Optionally Upload data to Weather Underground Personal Weather Station
Python
6
star
19

pokeme

A Motion Tracking Demo with Motion Activated Menus and Image Clips
Python
3
star
20

MoTrack-Picam2-Demo

Test of Picamera2 python library
Python
3
star
21

hotspot-game

A Windows, Unix or Raspberry Pi Computer Motion Tracking Game using a Web Cam or RPI Camera Video Streaming. Uses Body Motion for Menus and Game Play for One or Two Players.. Get High Score by getting most motion hits in moving boxes that get smaller..
Python
3
star
22

rpi-shutdown

Safely shutdown a raspberry pi using a momentary switch
Python
2
star
23

webcam-video

A Bash script to take short video sequences using avconv and upload (sync) to google drive. Runs on Raspberry Pi or other Unix Distros
Shell
1
star