Difference between revisions of "Mouse Cage Imaging"
Line 137: | Line 137: | ||
ExecStop=/usr/bin/pumount /dev/%I | ExecStop=/usr/bin/pumount /dev/%I | ||
− | Edit /usr/local/bin/cpmount and the following lines: | + | Edit /usr/local/bin/cpmount and add the following lines: |
#!/bin/bash | #!/bin/bash |
Revision as of 16:28, 6 February 2019
This is a mouse imaging system designed to take timelapse photos every 10 minutes, even overnight in complete darkness. It uses 3D parts to mount a Raspberry Pi, and an Infrared Camera to a mouse cage.
Parts:
- Element14 Raspberry Pi 3 B+ Motherboard
- 16 GB Noons Micro SD Card
- Smraza Camera Module for Raspberry Pi 3 with 5MP 1080p OV5647 Video Webcam Supports Night Vision Compatible with Raspberry Pi 3b 2 Model B B+
- DS3231 Real Time Clock Module 3.3V/5V with battery For Raspberry Pi and Arduino
- Adafruit Case Lid
- Adafruit Base Case
- Adafruit 5V 2.5A PS
Real Time Clock Setup
echo "dtoverlay=i2c-rtc,ds3231" >>/boot/config.txt
edit the /lib/udev/hwclock-set file (sudo nano /lib/udev/hwclock-set) and "comment out" the following lines"
if [ -e /run/systemd/system ] ; then exit 0 fi
so they become:
#if [ -e /run/systemd/system ] ; then # exit 0 #fi
Update the HW Clock from system time, assuming the Raspberry PI had is network connected.
sudo ntpdate time.umassmed.edu sudo hwclock -w
reboot and then run:
sudo hwclock -r
Not sure if anything below is needed
sudo apt-get purge fake-hwclock sudo systemctl start hwclock sudo systemctl enable hwclock sudo vi /lib/udev/hwclock-set sudo update-rc.d hwclock.sh enable
Infrared Camera Setup
Enable Camera
sudo raspi-config
Timelapse Scripts
cd; mkdir timelapse;mkdir bin sudo apt-get install pmount
Create a /home/pi/bin/camera.sh and add the following text
DATE=$(date +"%Y-%m-%d_%H%M") raspistill --annotate 12 -w 1296 -h 972 -hf -vf -o /home/pi/timelapse/$DATE.jpg /bin/bash /home/pi/bin/sync_files.bash
Create a /home/pi/bin/sync_file.bash and add the following text
#!/bin/bash if [ -d /home/pi/timelapse ] then if [ ! -d /media/mouse ] then pmount /dev/sda1 /media/mouse fi if [ ! -d /media/mouse ] then pmount /dev/sdb1 /media/mouse fi if [ ! -d /media/mouse ] then pmount /dev/sdc1 /media/mouse fi if [ ! -d /media/mouse ] then pmount /dev/sdd1 /media/mouse fi if [ -d /media/mouse ] then if [ ! -d /media/mouse/timelapse ] then mkdir /media/mouse/timelapse fi if [ -d /media/mouse/timelapse ] then rsync -aq /home/pi/timelapse/*.jpg /media/mouse/timelapse/ fi fi if [ -d /media/mouse ] then pumount /media/mouse fi fi
Edit a crontab for user PI and add the following text:
# m h dom mon dow command 0,10,20,30,40,50 * * * * sh /home/pi/bin/camera.sh 2>&1 0 17 * * 5 rm -rf /home/pi/timelapse/*.jpg 2>&1
Edit usbstick.rules
sudo vi /etc/udev/rules.d/usbstick.rules
Add the following line:
ACTION=="add", KERNEL=="sd[a-z][0-9]", TAG+="systemd", ENV{SYSTEMD_WANTS}="usbstick-handler@%k"
Edit usbstick-handler@.service
sudo vi /lib/systemd/system/usbstick-handler@.service
Add the following lines:
[Unit] Description=Mount USB sticks BindsTo=dev-%i.device After=dev-%i.device [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/local/bin/cpmount /dev/%I ExecStop=/usr/bin/pumount /dev/%I
Edit /usr/local/bin/cpmount and add the following lines:
#!/bin/bash /usr/bin/pmount --umask 000 --noatime -w --sync $1 mouse if mountpoint -q /media/mouse then if [ ! -d /media/mouse/timelapse ] then mkdir /media/mouse/timelapse fi chown pi:pi /media/mouse/timelapse fi