sbkirby / RPi_bird_feeder_monitor

Bird Feeder Monitor - with Raspberry Pi
GNU General Public License v3.0
1 stars 0 forks source link

Bird Feeder MQTT #1

Open nbanderso opened 1 year ago

nbanderso commented 1 year ago

Hi Stephen,

I wanted to thank you for putting this together. I am attempting to build a similar bird watching camera but am really struggling with the MQTT part. Here is the issue(s) that I am running into:

sudo apt-get install mosquitto mosquitto-clients python-mosquitto

When I try to install python-mosquitto I get the following message:

E: Unable to locate package python-mosquitto

Also, when I attempt to run mqtt-ping.py, I receive the following message:

connecting to broker loopback on port 1883 topic pingtest can't connect to broker loopback

If you need additional information, please let me know and I'll provide everything I can. Thank you in advance for your assistance!

sbkirby commented 1 year ago

After Googling the problem, it appears my installation method of MQQT is out of date. There's a couple of links with a better explanation than I can supply. The first, and an excellent source of information, is Steve's Internet Guide. He has an excellent page for How to Install The Mosquitto MQTT Broker on Linux. The other link has an explanation of the problem python-mosquitto missing. Give these a try.

nbanderso commented 1 year ago

@sbkirby That did the job. Thank you!

One last question - How sensitive is the CAP1188 detection for you? The reason I ask is because 99% of the birds at my feeder are small finches and they don't seem to be big enough to trigger the CAP1188 sensor. I've tried reapplying and soldering the copper tape twice now but it's still not sensitive enough. Have you found similar results?

Thanks again!

sbkirby commented 1 year ago

Luckily, I didn't have a problem with sensitivity. All of the small birds were detected on my feeder. In any case, the CAP1188 sensitivity can be read and adjusted if need be. After initializing the CAP1188 object (e.g. cap = CAP1188_I2C(i2c)) in the feeder_mqtt_client.py, you can read the current sensitivity setting via cap.sensitivity(). The default value is 32. The range is SENSITIVITY = (128, 64, 32, 16, 8, 4, 2, 1), with 1 being the least sensitive. To change the sensitivity, set cap.sensitivity(int) to one of the above int values (e.g. cap.sensitivity(64)). I've never used this feature, but suspect it should do the trick. I found this information in the Adafruit CAP1188 python library file cap1188.py.