Welcome to ABISSMAL
Automated Behavioral tracking by Integrating Sensors that Survey Movements Around a target Location
For full documentation visit our wiki
____ _____ _____ _____ __ __ _ /\ | _ \_ _|/ ____/ ____| \/ | /\ | | / \ | |_) || | | (___| (___ | \ / | / \ | | / /\ \ | _ < | | \___ \___ \| |\/| | / /\ \ | | / ____ \| |_) || |_ ____) |___) | | | |/ ____ \| |____ /_/ \_\____/_____|_____/_____/|_| |_/_/ \_\______| Automated behavioral tracking by integrating sensors that survey movements around a target location Date: November 2023 Authors: Molina, T. & Smith-Vidaurre, G. Setting permissions for user: demo Enter first letter of the modules to track: Example: virt (V/v)ideo/(R/r)fid/(I/i)rbb/(T/t)emp To run Validation Video only, enter (A/a)
Pre-requisites
- Setup Raspberry Pi by following these steps
- Raspberry Pi 4 (2 or 4Gb)
- Raspberry Pi SD card (32Gb or 64 Gb with Rasbian Buster pre-installed)
- Python version: 3.7
- Setup sensors and other hardware
- Before starting, get to know the basics of: Linux Screen and Cron jobs
Installing ABISSMAL
cd ~/Desktop
- Navigate to the Raspberry Pi's Desktop directorygit clone https://github.com/lastralab/ABISSMAL.git
- Clone the repositorycd ABISSMAL
- Access the project root directorysudo chmod +x *.sh
- Make files executablesudo ./run_install.sh
- Initiate the installation script, enter the following information:- Insert
y/Y
to install required packages if it's the first time using ABISSMAL, this can be skipped later on. - Enter your Twilio Account SID to enable SMS alerts or press "Enter" key to skip
- Wait for it to restart
- NOTE: If you are using SSH connection you will have to mount the external hard drive manually
- Insert
Directory Structure
run_install.sh # The installer script. This needs to run everytime you pull a new version of the repository
Main.sh # The script that initiates the ABISSMAL tracking system
cron.sh # This script is automatically used by ABISSMAL for data collection, system monitoring and error logging
Modules/
Backups.py # Responsible for transfering data from the Pi to an external hard drive using cron
monitor.py # System monitoring
IRBB.py # Collects data from two pairs of infrared beam breakers
RFID.py # Collects data from the 125kHz CognIot radio frequency identification (RFID) reader
Temp.py # Collects data from the waterproof 1-wire DS18B20 temperature sensor
Video.py # Records videos by motion detection using a Raspberry Pi (H) infrared fisheye lens camera with infrared LEDs
helper.py # Contains helper functions such as the CSV writter, directory setup and sms alerts
log.py # Resposible for the global Logger setup
alt_video.py # Responsible to record alternative videos for validation (can only run on a raspberry pi without the other modules enabled)
R/
... # General documentation for data processing and integration functions
3D/
... # Holds 3D-printing designs for customized hardware in .stl format
VideoConcatenation/
... # Optional scripts for video concatenation with ffmpeg