If you live in an area with high bird activity, setting up a bird feeder and watching some hungry little fellows visit you can be a nice and relaxing pastime. Throw in a Raspberry Pi with some sensors and it can also be the beginning of your next IoT project, as it was the case for [sbkirby] with his Bird Feeder Monitor project.
To track the arrival and departure times of his avian visitors, [sbkirby] attached a set of capacitive touch sensors to each side of his bird feeder, and hooked them up to a Raspberry Pi Zero W via a CAP1188 breakout board. The data is published via MQTT to another Raspberry Pi that serves as backend and stores the data, as well as to an optional additional camera-equipped Pi that will take a picture of each guest along the way. Taking into account that precipitation might affect the sensor readings, he also checks the current weather situation to re-calibrate the sensors if necessary, and also to observe a change in the birds’ presence and eating behavior based on weather conditions.
It seems that sensor-based animal feeding will always serve as inspiration for some new projects, whether feeding the animal itself is the goal, like most recently this fish feeder has shown, or whether the eating behavior is monitored and used for further research such as this squirrel-based weather forecast system.
Three Pis to check a capacative sensor and snap a picture? That seems… excessive?
yeah, this would have been more awesome with image processing…it could even identify the bird.
Three Pis to do two jobs, LOL
What if the data-storage Pi crashes!? Another Pi will make the whole system more fault-tolerant. Moreover it would be cool to photograph the birds from different perspectives: let’s add another dozen of Pis+cameras…
Wow, I feel stupid for just using PiKrellCam, running on a pi zero w to grab some pics and videos of my hummingbirds, when I could have used 3 pi’s. I get pictures and videos only when a hummingbird visits, or a 1% of a very frustrated wasp.
So I get videos with sound, pictures, and a time/date stamped log. My NoIR camera , with a custom filter that can be enabled/disabled to block the IR in day, and allow at night so I can use my IR lamps.
This solution looks like it’s in need of a better problem.
that image quality :)
I truly do not understand the negativity here. Oh, wait, with 25 years of working in engineering organizations, yes, yes I do understand the negativity. “My way is the only way.”
The guy did it. It does what he wants it to do. He did it his way. The snark is uncalled for.
More importantly, I bet he learned a lot along the way, though more than 1 RPi (maybe two if you’re using one as a storage server) is definitely excessive.
Why three Raspberry Pi’s: This project consisted of a MQTT Broker (Server) located in the house, and a RPi Zero located on the Feeder. The RPi camera is optional, and it could have been accomplished by attaching a camera to the MQTT Broker. Monitoring the Feeder and recording the data could have been easily accomplished with just one RPi or Arduino as I did in the first version. However, I was interested in setting up a MQTT Broker at my house, and this happened to be the first project I could use MQTT. My understanding of a MQTT Broker/Client system is very limited. The Feeder RPi is configured as a Publishing and Subscribing Client, and the Camera RPi is a Subscribing Client. Granted, this project is very complicated, and flunks the “KISS” rule, but I DID learn a great deal about MQTT and had a lot of fun making it work (and keeping it working). Could I have used less RPi’s…Probably, but what’s the fun in that? One MQTT Broker and two separate Clients doesn’t seem excessive to me.
Pay no attention to the haters.
You _definitely_ get a free pass because one of them is an MQTT broker. And from there, you get a few more free passes just simply because adding more devices to a pub/sub framework like that is so trivial that it nearly begs for you to decentralize every function.
Having a simple, universal backbone transport for my home network has made all the difference for me. I used to do everything over sockets, but the pub/sub features are really welcome and decouple things very nicely. In fact, I even use MQTT to communicate between Python and shell jobs on my laptop, within the same computer.
And when you need to press one of those Pis into service elsewhere, you will find it super easy to replace it with an ESP8266 as MQTT client to handle the simpler duties like snapping photos.
But until then: a Pi in the field is worth two in the drawer! If it’s sitting around, put it to use until you find a better use.
It’s a super cool project. I may not use the same approach but you’ve inspired me to build one also. Thank you! ✌️