Showing posts with label picamera. Show all posts
Showing posts with label picamera. Show all posts

Monday, November 21, 2016

PI Critter Cam Day 16: Better Pictures

I set up the critter cam yesterday afternoon after adjusting the setup.py file in the pi-timolo folder to rotate the pictures 180 degrees and take pictures at a 1080 x 1920 resolution.  Luckily, a bird came by to test out the new settings.



The picture looks MUCH better!  However, we have a couple issue where it's taking and keeping a TON of pictures and it's overwriting all of the previous pictures.  

So, within the setup.py file, I'm going to change the threshold setting to 50, which should make the picture taker less sensitive.  I'm also going to change motionnumon to False so it'll use a date/time stamp to name the file.  I'm also change motionnummax to 0 in case it's using that setting as justification to delete stuff out there.  

We'll set it out again tomorrow morning to see how it does.  This time, I'll try setting it on the ground.

Sunday, November 20, 2016

PI Critter Cam Day 15: New Enclosures

After realizing that the previous enclosure wasn't going to work, I dug through my scrap wood bin and slapped together a few 2x2s to build a makeshift food holder.  I decided to use one of those birdfood suet bricks, which seemed easier to manage. 

I also sacrificed one of my sandwich boxes that I take to work to house the Raspberry PI, drilling a small 3/8" hole for the camera.  I sandwiched tack between the lunchbox and the PI in a feeble attempt to keep the water out. I used a clamp to attach the box to the birdfood holder.  

It's certainly not the most sophisticated design, but should work as a temporary solution.  Here's what we have.  


You can see the camera poking out from this angle with the new battery and PI inside.


I let it sit out all afternoon and it actually took some bird pictures, albeit upside down.    Yet, it's exciting to see this thing actually work!

NOTE:  I took the suet container out, just leaving the food brick.  I was worried the birds couldn't get to the food.  I should've moved that thread rod too!



Also, the battery held up really well.  The PI ran all day as there were some night pictures in the folder.  Although, I'm not sure exactly how long as I haven't been including the wifi dongle in the box to conserve battery, which messes up the PI's clock. 

 So, our next goals:  Get the pics right side up and see how much longer the battery lasts with higher quality pics and the wifi left running.


Saturday, October 15, 2016

PI Critter Cam Day 13 (Part 2): Setting the Trap

Now that we've got the camera looking for animals at startup and have all the other physical components, we are ready to get some animal pictures.

First, I need a way to put birdseed next to the camera.  I had some extra Y Guides shark tooth sifters laying around, which will make a great plain for holding birdseed.  I'll attach my PI enclosure to that with some wood screws.  I'm also going to cover them with tack in an attempt to keep water from entering the enclosure through the screw holes.


Now, we'll put the PI in the enclosure and here's the complete picture.


All we need now is some birdseed!

But wait... the sifter was built with chicken wire and birdseed will fall through that.  So, I'll put some plexiglassish material from a broken, cheap picture frame between the chicken wire and sifter frame.  

I've plugged in the battery,  added the birdseed and clamped it to my deck.  All we need now is some critters.


I'm not exactly sure how long the freebie battery will power the PI.  I'll check the PI at the end of the day to see if it took any pictures and, if I can figure it out, how long it ran before it died.  



PI Critter Cam Day 13: Pics on Startup

Today, we're going to get our PI set up to start looking for critters and take pictures at startup.  So, when I plug it into the battery, the PI will boot and be ready for action.  

We're using the pi-timolo package now to watch for and take pictures of these critters.  Included in the pi-timolo package is a bash script (program that runs in the Raspian terminal) that you can set to run on startup.  This is according to the pi-timolo's wiki.  To run this guy on startup, you stick a path to the program in the file rc.local

To alter rc.local, use the Terminal and type in sudo nano /etc/rc.local

This brings up the terminal's file updating/ word processing program.

Scroll down to the line right above exit 0 and stick in the filepath and file name.

/home/pi/pi-timolo/pi-timolo.sh



After that, save the file with a ctrl + x, confirm you want to use the same file name with an Enter and you are done.  

Now, I'm going to put a big pile of birdseed in front of my pi, plug it in and see what I get at the end of the day.  

Monday, October 10, 2016

PI Critter Cam Day 12: Enclosure

I've been slowly and methodically planning the enclosure for the critter cam.  I want something that can live outside, can hold a battery, and,obviously, the Pi's enclosure, but with the wifi dongle plugged in.  My ultimate goal is to have the Pi take pictures and post them automatically to Twitter.

Since I'm attempting to do this on the cheap, my enclosure plans started with a leftover container about the size of a few servings of mac and cheese, which should be the equivalent of all the components.  It's got latches on the side, which I'm hoping will keep it enclosed enough to keep the rain out.  


Due to my frugality, I'm attempting to use a freebie battery to power the Pi before investing in something more substantial.  This battery is small, but is intended for cell phones, which means you can plug the Pi into it via the mini USB port.  That really simplifies things significantly.  I tested it out and the Pi was able to boot  and take a picture with it as a power source.  Awesome!

Lastly, it has a tiny vent hole on the top that's about the same size as the camera lens.  To utilize this hole, but prevent rain from getting in, I bought some tack stuff via Amazon.  Here's what the completed enclosure looks like.


In order to fully utilize this case, however, I still need to figure out how to have the motion detector initialize on startup and figure out how to test this thing outside.  I'm thinking a tray with some birdseed might be a good test.  Until next time...

Tuesday, August 30, 2016

PI Critter Cam Day 11: More Motion Detection

Ok, it's been 4 weeks.  So, the software should now be installed.

We'll test it out using the Github instructions.

To do this, we simply enter these two lines into the terminal one at a time:

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

And our screen shows the process checking for motion at approximately one second interval.  That must be these "failed to set port info" lines.

If we wave our hand frantically in front of the camera, we see that the message changes (Found Motion).  It then tells us it captured a picture and added white text.


If I check out the /home/pi/pi-timolo/ folder, I see there are pictures of my waving hand!   So, I think we have a successful test.

Now, what do I do with this?  Well, I need an enclosure and I need to figure out how to make the PI run this program at startup.  I should probably also figure out how to make it stop also if I need to.  Maybe a button or a switch to kill the python switch?

Our initial box will just be an indoors one for further testing.  I think I've got some tupperware that I can use...

Tuesday, August 2, 2016

PI Critter Cam Day 10: Motion Detection

After a bit of a hiatus, I am back.

I think I'm going to attempt to use pi-timolo after reading this guy's blog, which appears to be very similar to what I want to do.  He's capturing hedgehogs and I'm capturing whatever comes along.  Other than that, our goals are very similar.

So, tonight, we're going to try and install the software.

Using his GitHub instructions, I installed the software, but this must've kicked off a system wide update as it's updating a ton of stuff.  I'm going to leave it running overnight and see what we end up with tomorrow...


Monday, May 23, 2016

PI Critter Cam Day 5: Picture File Names with the Date and Time

Today, my goal is expand on the picture taking, have it take a picture with a date and time stamp file name and also delete pictures that have reached a certain age.  I'm hoping there will be lots of critters to take pictures of, but my micro SD card is only 8gb.

Since I can't store my pics on the PI long term, my ultimate goal is to have the pictures automatically post to a Twitter handle where they can be stored and archived (and shared).  That'll be further down the road.

So:

  • Capture a picture with a date and time stamp to make it unique and easier to manage.
  • Delete pictures that are older than 2 weeks.
We'll just do both in the same process for now.  It might not be ideal, but I think it'll be alright.  Trying to keep it simple.

We'll use the Python Time package for collecting the time.  

It's actually pretty straightforward manipulating the time into a string for a file name using the strftime function:

time.strftime('%Y_%m_%d_%H_%M_%S')

I can just stick it in like so.  I'm also going to add a folder so everything won't write to a root directory:


#Needed packages...
import picamera
import time

#create object and initialize camera.
cam = picamera.PiCamera()

#take picture!
cam.capture('/home/pi/Pictures/critter_cam/' + time.strftime('%Y_%m_%d_%H_%M_%S') + '.jpg')

Note:  you have to create the actual folder via the File Manager.  Python will not create it automatically by referencing it in the file name.

And it seems to work.  Here's the pic in the folder with the date and time stamp.


We ran out of time regarding deleting old files.  That'll have to wait until next time.