Inhoudsopgave:

Bird Feeder Monitor V2.0 - Ajarnpa
Bird Feeder Monitor V2.0 - Ajarnpa

Video: Bird Feeder Monitor V2.0 - Ajarnpa

Video: Bird Feeder Monitor V2.0 - Ajarnpa
Video: Bird Feeder Monitor V2.0 2024, Juli-
Anonim
Image
Image
Vogelvoedermonitor V2.0
Vogelvoedermonitor V2.0

Dit is een project voor het monitoren, fotograferen en vastleggen van het aantal en de tijd die vogels besteden aan een bezoek aan onze vogelvoeder. Voor dit project zijn meerdere Raspberry Pi's (RPi) gebruikt. Eén werd gebruikt als een capacitieve aanraaksensor, Adafruit CAP1188, om de foto's van de vogels te detecteren, op te nemen en te activeren. Een andere RPi werd geconfigureerd om de werking van dit monitoringsysteem te besturen en om de gegevens op te slaan en te onderhouden voor monitoring en analyse. De laatste RPi was geconfigureerd als een camera om elke vogel die de feeder bezocht te fotograferen.

Benodigdheden

  1. 1 stuk - Raspberry Pi W
  2. 1 stuk - Raspberry Pi 3 - Model B+ - voor MQTT-server
  3. 1 stuk - Raspberry Pi met camera - Optioneel
  4. 2 ea - Weerbestendige koffers voor RPi- en CAP1188-sensor
  5. 1 stuk - Koperfolietape met geleidende lijm
  6. Draad - 18-22 AWG
  7. Soldeerbout en soldeer
  8. Soldeervloeistof voor elektronica
  9. Siliconenkit*
  10. 8 st - M3 x 25 Machineschroeven*
  11. 8 stuks - M3 Moeren*
  12. 1 ea - Proto Board voor montage CAP1188
  13. 1 stuk - 1x8 vrouwelijke Dupont-connector
  14. 1 stuk - 1x6 mannelijke Dupont-connector
  15. 1 ea - CAP1188 - Capacitieve aanraaksensor met 8 toetsen
  16. 2 ea - PG7 waterdichte IP68 nylon kabelwartelverbinding verstelbare borgmoer voor kabeldraad met een diameter van 3 mm - 6,5 mm
  17. 1 set - 2-pins manier auto waterdichte elektrische connector plug met draad AWG Marine Pack van 10
  18. 3 ea - 5VDC voeding - één voor elke RPi
  19. 1 ea - Vogelvoeder (CedarWorks Plastic Hopper Vogelvoeder), of een Vogelvoeder met plastic of houten zitstokken

*voor 3D-geprinte weerbestendige koffers

Stap 1: Overzicht van Bird Feeder Monitoring System

Overzicht van Bird Feeder Monitoring System
Overzicht van Bird Feeder Monitoring System

Dit is een monitoringsysteem dat is ontworpen om de vogels te tellen, te timen, vast te leggen en te fotograferen die bij onze vogelvoeder eten. De vorige versie van mijn Bird Feeder Monitor gebruikte een Arduino Yun en bewaarde de gegevens in een spreadsheet op mijn Google Drive. Deze versie maakt gebruik van meerdere Raspberry Pi's, MQTT-communicatie en lokale opslag van gegevens en foto's.

De Bird Feeder is uitgerust met een Raspberry Pi Zero W en Capacitieve Touch Sensor (CAP1188). Alle vogels die op de zitstokken aansteken, activeren de aanraaksensor die een timer start om te bepalen hoe lang elk evenement duurt. Zodra de aanraking is geactiveerd, wordt het MQTT-bericht " monitor/feeder/foto " gepubliceerd door de Bird Feeder Monitor. Dit bericht waarschuwt de Raspberry Pi Camera om een foto te maken. Als de MQTT-server een " monitor/feeder/getcount " bericht publiceert, zal de Bird Feeder Monitor reageren met een " monitor/feeder/count " MQTT-bericht dat de server zal opslaan.

De MQTT-server voert verschillende taken uit. Het vraagt en bewaart gegevens van de Bird Feeder Monitor en regelt de werking van de monitor. Het activeert de monitor bij zonsopgang en sluit het af bij schemering. Het regelt ook het timing-interval voor het opvragen van gegevens en het bewaakt ook de huidige weersomstandigheden via DarkSky. De weersomstandigheden worden om een aantal redenen in de gaten gehouden. Allereerst kan de hoeveelheid neerslag de sensoren beïnvloeden. Als dit gebeurt, worden de sensoren routinematig opnieuw gekalibreerd terwijl het regent. De tweede reden is het monitoren en registreren van weersomstandigheden voor correlatie met de vogeltellingsgegevens.

De Raspberry Pi camera is een RPi + Raspberry Pi Camera module. De camerasoftware die voor dit project wordt gebruikt, werkt niet met een USB-webcam. De RPi Camera is uitgerust met WIFI en draait op MQTT Client-software. Het abonneert zich op "monitor/feeder/foto" MQTT-berichten en maakt een foto telkens wanneer dit bericht wordt ontvangen. De foto's worden opgeslagen op RPi Camera en op afstand beheerd.

Stap 2: Raspbian installeren op Bird Feeder Monitor

Raspbian installeren op Bird Feeder Monitor
Raspbian installeren op Bird Feeder Monitor

Installeer de nieuwste versie van Raspbian Lite op de Raspberry Pi Zero W. Ik raad aan om de stapsgewijze instructies te volgen die te vinden zijn op Adafruit's Raspberry Pi Zero Headless Quick Start.

De volgende stappen zijn opgenomen in de bovenstaande instructies, maar verdienen herhaling:

Maak via ssh verbinding met de RPi en voer de volgende opdrachten uit:

sudo apt-get updatesudo apt-get upgrade

Het duurt even voordat de bovenstaande opdrachten zijn voltooid, maar als u deze opdrachten uitvoert, bent u zeker dat u op de hoogte bent van de nieuwste pakketten.

Voer vervolgens de volgende opdracht uit om de RPi-software te configureren:

sudo raspi-config

Wijzig uw wachtwoord, schakel SPI en I2C in en breid het bestandssysteem uit. Zodra deze zijn voltooid, verlaat u raspi-config.

Stap 3: Bedrading van RPi en CAP1188

Bedrading van RPi en CAP1188
Bedrading van RPi en CAP1188

De Raspberry Pi W (RPi) en de CAP1188 zijn bedraad met I2C. Er zijn andere capacitieve aanraaksensoren beschikbaar met één, vijf of acht sensoren. Ik koos acht omdat mijn vogelvoeder zes kanten heeft.

bedrading:

  • CAP1188 SDA == RPi-pen 3
  • CAP1188 SCK == RPi-pen 5
  • CAP1188 VIN == RPi Pin 1 (+3.3VDC)
  • CAP1188 GND == RPi Pin 9 (GND)
  • CAP1188 C1-C8 == Aansluiten op draden op elke zitstok via 1x8 vrouwelijke Dupont-connector
  • CAP1188 3Vo == CAP1188 AD - Bedrading van het I2C-adres naar 0x28
  • RPi Pin 2 == +5VDC
  • RPi-pin 14 == GND

De stroomvoorziening voor de RPi werd extern geleverd, door een draad onder de grond te laten lopen vanuit mijn garage en omhoog door de pijp die als vogelvoederstandaard werd gebruikt. Aan het uiteinde van de draad werd een 2-pins weerbestendige connector bevestigd om de RPi Bird Feeder Monitor aan te sluiten. Het andere uiteinde van de draad was aangesloten op een gezekerde 5-VDC voeding in de garage. Dit project zou met batterijen moeten werken, maar ik wilde niet het gedoe van het routinematig vervangen van batterijen.

Ik heb een 16 lange kabel geconstrueerd om de Weatherproof Box met de RPi te verbinden met de Weatherproof Box met de CAP1188. De capacitieve sensor moet zo dicht mogelijk bij de zitstokken worden geplaatst.

De RPi Zero en CAP1188 hadden in één weerbestendige doos kunnen worden verpakt, maar ik had ze liever apart verpakt.

Stap 4: De Vogelvoedermonitor configureren

De Vogelvoedermonitor configureren
De Vogelvoedermonitor configureren
De Vogelvoedermonitor configureren
De Vogelvoedermonitor configureren

Log in op de Raspberry Pi Zero W en voer de volgende stappen uit.

Installeer pip:

sudo apt-get install python3-pip

Installeer Adafruit CircuitPython:

sudo pip3 install --upgrade setuptools

Controleer op I2C- en SPI-apparaten:

ls /dev/i2c* /dev/spi*

U zou het volgende antwoord moeten zien:

/dev/i2c-1 /dev/spidev0.0 /dev/spidev0.1

Installeer vervolgens een GPIO en Adafruit blinka pakket:

pip3 installeer RPI. GPIOpip3 installeer adafruit-blinka

Installeer de CAP1188-module van Adafruit:

pip3 installeer adafruit-circuitpython-cap1188

I2C-tools installeren:

sudo apt-get install python-smbussudo apt-get install i2c-tools

Controleer I2C-adressen met bovenstaande tool:

i2cdetect -y 1

Als de CAP1188 is aangesloten, ziet u hetzelfde antwoord als op de bovenstaande foto, wat aangeeft dat de sensor zich op I2C-adres 0x28 (of 0x29 afhankelijk van uw keuze van I2C-adres) bevindt.

Installeer mosquitto, mosquitto-clients en paho-mqtt:

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

sudo pip3 installeer paho-mqtt

Ik raad aan om Adafruit's MQTT configureren op de Raspberry Pi te gebruiken om MQTT op deze RPi te configureren en in te stellen.

Installeer de Bird Feeder Monitor-software:

cd ~

sudo apt-get install git git clone "https://github.com/sbkirby/RPi_bird_feeder_monitor.git"

Logboekmap maken:

cd ~

mkdir-logboeken

Sluit de CAP1188-sensor aan op de RPi en voer het volgende uit om het systeem te testen nadat de MQTT-server operationeel is:

cd RPi_bird_feeder_monitor

sudo nano config.json

Vervang de waarden voor "OIP_HOST", "MQTT_USER", "MQTT_PW" en "MQTT_PORT" zodat ze overeenkomen met uw lokale instellingen. Sluit af en sla uw wijzigingen op.

Uitvoeren bij opstarten

Terwijl je nog steeds in de /home/pi/RPi_bird_feeder_monitor directory.

nano launcher.sh

Neem de volgende tekst op in launcher.sh

#!/bin/sh

# launcher.sh # navigeer naar de thuismap, dan naar deze map, voer dan het python-script uit en dan terug naar huis cd / cd home/pi/RPi_bird_feeder_monitor sudo python3 feeder_mqtt_client.py cd /

Sluit de launcher.sh. af en sla deze op

We moeten van het script een uitvoerbaar bestand maken.

chmod 755 launcher.sh

Test het script.

sh launcher.sh

Vervolgens moeten we crontab (de linux-taakbeheerder) bewerken om het script bij het opstarten te starten. Opmerking: we hebben de directory /logs al eerder gemaakt.

sudo crontab -e

Dit brengt het crontab-venster zoals hierboven te zien is. Navigeer naar het einde van het bestand en voer de volgende regel in.

@reboot sh /home/pi/RPi_bird_feeder_monitor/launcher.sh >/home/pi/logs/cronlog 2>&1

Sluit het bestand af, sla het op en start de RPi opnieuw op. Het script moet het feeder_mqtt_client.py-script starten nadat de RPi opnieuw is opgestart. De status van het script kan worden gecontroleerd in de logbestanden in de map /logs.

Stap 5: 3D-geprinte onderdelen

3D-geprinte onderdelen
3D-geprinte onderdelen
3D-geprinte onderdelen
3D-geprinte onderdelen
3D-geprinte onderdelen
3D-geprinte onderdelen

Deze STL-bestanden zijn voor de 3D-geprinte onderdelen die ik voor dit project heb gemaakt, en al deze onderdelen zijn optioneel. Weerbestendige koffers kunnen ter plaatse worden vervaardigd of gekocht. De "Mounting Wedge" voor de CedarWorks Bird Feeder is ook optioneel. Dit onderdeel was nodig om de CAP1188 sensorbehuizing te monteren.

Stap 6: Vogelvoedermonitor Montage

Vogelvoedermonitor Montage
Vogelvoedermonitor Montage

Na het installeren van Raspbian, het configureren en testen van de RPi en CAP1188 Sensor zoals eerder vermeld, is het nu tijd om deze apparaten in hun weerbestendige behuizingen te monteren.

Ik heb de twee weerbestendige behuizingen gebruikt die ik heb afgedrukt om de RPi- en CAP1188-sensor te monteren. Allereerst heb ik een gat van 1/2 geboord aan het ene uiteinde van elke behuizing. Boor het gat in de RPi-behuizing aan de andere kant met de SD-kaart. Monteer de nylon kabelwartelverbinding met verstelbare borgmoer in elk gat. Voer de vier geleiderkabel tussen elke behuizing. Installeer en soldeer de 2-pins auto waterdichte elektrische vrouwelijke connector aan de RPi zoals weergegeven in de bovenstaande foto. Soldeer de rode draad aan de +5VDC Pin 2 van de RPi, en de zwarte draad aan GND of Pin 14 Zie het bedradingsschema voor de andere aansluitingen die op de RPi worden gebruikt.

Leid het andere uiteinde van de vieraderige draad door de wartelverbinding op de CAP1188-behuizing en bevestig de draden zoals aangegeven in het bedradingsschema. Alle 8 CAP1188 capacitieve aanraaksensoren zijn gesoldeerd aan de 8-pins vrouwelijke Dupont-connector. Deze connector is verzonken in de zijkant van de behuizing om een waterdichte afdichting mogelijk te maken wanneer de bovenkant wordt aangebracht. Opmerking: de bovenkant van beide gevallen vereist waarschijnlijk aanpassingen om de moeren op de wartelverbindingsconnectoren mogelijk te maken.

Voor het sluiten breng ik siliconenkit aan op de randen van elke behuizing en rond de draden van de klierverbindingen om de behuizingen af te dichten. Ik voeg ook siliconen toe aan de achterkant van de Dupont-connector om deze af te dichten tegen de elementen.

Stap 7: Bedrading van de vogelvoeder

Bedrading van de vogelvoeder
Bedrading van de vogelvoeder
Bedrading van de vogelvoeder
Bedrading van de vogelvoeder
Bedrading van de vogelvoeder
Bedrading van de vogelvoeder

Elk van de zitstokken op de feeder was bedekt met 1/4 brede zelfklevende koperfolietape. Er werd een klein gaatje geboord door de tape en de baars, en een draad werd aan de folietape gesoldeerd en onder de feeder geleid. draden zijn aangesloten op een mannelijke 6-pins Dupont-connector.

Opmerking: bij de hierboven getoonde vogelvoeder raad ik een opening aan tussen de uiteinden van elke foliestrook van 1 1/4" - 1 1/2". Ik ontdekte dat de grotere vogels, zoals grackles en duiven, in staat zijn om twee foliestroken tegelijk aan te raken als ze te dicht bij elkaar worden geplaatst.

De eerder genoemde "Mounting Wedge" werd afgedrukt en op de bodem van de feeder geplakt om een vlak gebied te creëren om de weerbestendige doos met de CAP1188 te monteren. Klittenband werd zowel op de doos als op het houten blok aangebracht als bevestigingsmiddel. Dit is te zien op de foto hierboven van de voltooide montage. Een klittenband wordt gebruikt om de pijp en de RPi-doos te wikkelen om ze onder de feeder te bevestigen.

De vogelvoeder wordt bijgevuld met de sensor en RPi bevestigd aan de voerbak en terwijl deze nog op de pijpsteun staat. Gelukkig ben ik 1.80 m lang en bereik ik zonder veel moeite de container.

Stap 8: MQTT-server

MQTT-server
MQTT-server
MQTT-server
MQTT-server
MQTT-server
MQTT-server

Als je al in de IOT-wereld aan het ploeteren bent, heb je misschien al een MQTT-server in gebruik op je netwerk. Als je dat niet doet, raad ik aan om een Raspberry Pi 3 te gebruiken voor de MQTT-server en de instructies en het IMG-afbeeldingsbestand te vinden op de website van Andreas Spiess "Node-Red, InfuxDB & Grafana Installation". Andreas heeft ook een informatieve video over dit onderwerp #255 Node-Red, InfluxDB en Grafana Tutorial op Raspberry Pi.

Zodra de Node-Red Server operationeel is, kunt u de Bird Feeder Monitor-stroom importeren door de gegevens in ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Flow.json te kopiëren en Importeren > Klembord te gebruiken om het klembord in een nieuwe stroom te plakken.

Voor deze stroom zijn de volgende knooppunten vereist:

  • node-red-node-darksky - Een DarkSky API-account is vereist om dit knooppunt te gebruiken.
  • node-red-contrib-bigtimer - Big Timer by Scargill Tech
  • node-red-contrib-influxdb - InfluxDB Database

Weergegevens voor uw locatie worden geleverd via DarkSky. En ik bewaak en registreer momenteel "precipIntensity", "temperature", "humidity", "windSpeed", "windBearing", "windGust" en "cloudCover". De "precipIntensity" is belangrijk omdat deze wordt gebruikt om te bepalen of de sensoren opnieuw moeten worden gekalibreerd als gevolg van de regen.

De Big Timer node is het Zwitserse zakmes onder de timers. Het wordt gebruikt om elke dag de opname van gegevens bij zonsopgang en zonsondergang te starten en te stoppen.

InfluxDB is een lichtgewicht, eenvoudig te gebruiken tijdreeksdatabase. De database voegt automatisch een tijdstempel toe elke keer dat we gegevens invoegen. In tegenstelling tot SQLite hoeven de velden niet te worden gedefinieerd. Ze worden automatisch toegevoegd wanneer gegevens in de database worden ingevoerd.

Knooppunt-rode configuratie

Het hierboven genoemde JSON-bestand laadt een stroom die een paar aanpassingen vereist om aan uw vereisten te voldoen.

  1. Verbind de "MQTT Publish" en "monitor/feeder/#" met uw MQTT-server.
  2. Stel de breedte- en lengtegraad in op uw locatie in het Big Timer-knooppunt "Dawn & Dusk Timer (config)".
  3. Configureer het knooppunt "monitor/feeder/astronomie (config)". De camera kan voor elke zitstok worden in-/uitgeschakeld. Twee van mijn zitstokken bevinden zich bijvoorbeeld aan de achterkant en de camera is uitgeschakeld voor deze zitstokken.
  4. Stel het knooppunt "Counter Timer (config)" in op het gewenste tijdsinterval. Standaard = 5 min
  5. Stel de breedte- en lengtegraad in op uw locatie in het knooppunt "DarkSky (config)". Voer vervolgens uw DarkSky API-sleutel in het darksky-credentials-knooppunt in.
  6. Stel de neerslagintensiteit in het functieknooppunt "monitor/feeder/herkalibreren (config)" in. Standaard = 0,001 inch/uur
  7. Bewerk het "Topic Filter for MQTT Receiver Debug Node (config)" Functieknooppunt om de MQTT-berichten eruit te filteren die u NIET wilt zien.
  8. Optioneel: als u gegevens in een spreadsheet op uw Google Drive wilt opslaan, moet u het functieknooppunt "Build Google Docs Payload (config)" bewerken met formulierveld-ID's.
  9. Optioneel: voeg uw unieke formulier-URL toe aan het URL-veld van het HTTP-verzoekknooppunt 'Google Docs GET (config)'.

Node-Red UI Desktop

De Bird_Feeder_Monitor_Flow bevat een gebruikersinterface (UI) voor toegang tot de MQTT-server via een mobiele telefoon. De monitor kan UIT of AAN worden gezet, sensoren opnieuw kalibreren of handmatig foto's maken. Er wordt ook een totaal van de sensor "aanrakingen" weergegeven, waardoor u een globaal beeld krijgt van het aantal vogels dat de feeder bezoekt.

Stap 9: Grafana

Grafana
Grafana
Grafana
Grafana

"Grafana is een open source metrische analyse- en visualisatiesuite. Het wordt het meest gebruikt voor het visualiseren van tijdreeksgegevens voor infrastructuur- en applicatieanalyses, maar velen gebruiken het ook in andere domeinen, waaronder industriële sensoren, domotica, weers- en procesbesturing." refn: Grafana Docs.

Deze software is opgenomen in het afbeeldingsbestand van Andreas Spiess dat is gebruikt om mijn MQTT-server te maken. Na het configureren van de InfluxDB-database op de MQTT-server, kan Grafana worden geconfigureerd om deze database te gebruiken zoals te zien is in de bovenstaande afbeelding. Vervolgens kan het dashboard dat door dit project wordt gebruikt, worden geladen vanuit het JSON-bestand in de ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Grafana.json. Tips voor het configureren van Grafana zijn te vinden op de website van Andreas Spiess "Node-Red, InfuxDB & Grafana Installation".

Stap 10: InfluxDB

InstroomDB
InstroomDB
InstroomDB
InstroomDB

Zoals eerder vermeld heeft Adreas Spiess een geweldige gids en video om je door de configuratie van InfluxDB te leiden. Dit zijn de stappen die ik heb genomen om mijn database te configureren.

Allereerst heb ik via SSH ingelogd op mijn MQTT-server en een GEBRUIKER gemaakt:

root@MQTTPi:~# influx Verbonden met "https://localhost:8086" versie 1.7.6 InfluxDB shell-versie: 1.7.6 Voer een InfluxQL-query in > CREER GEBRUIKER "pi" MET WACHTWOORD 'raspberry' MET ALLE RECHTEN > GEBRUIKERS TONEN gebruikersbeheerder ---- ----- pi waar

Vervolgens heb ik een database gemaakt:

CREATE DATABASE BIRD_FEEDER_MONITOR> > SHOW DATABASES naam: database naam ---- _internal BIRD_FEEDER_MONITOR >

NADAT u de bovenstaande database hebt gemaakt, kunt u de InfluxDB-node configureren in Node-Red. Zoals te zien is op de foto hierboven, noem ik de meting "feeders". Dit is te zien in InfluxDB nadat de gegevens zijn geïnitialiseerd:

GEBRUIK BIRD_FEEDER_MONITORGebruik van database BIRD_FEEDER_MONITOR

TOON METINGEN naam: afmetingen naam ---- feeders >

Een van de vele functies van InfluxDB is dat de FIELDS-configuratie niet vereist is. De VELDEN worden automatisch toegevoegd en geconfigureerd wanneer gegevens worden ingevoerd. Dit zijn de FIELDS en FIELDTYPE voor deze database:

SHOW FIELD KEYSname: feeders fieldKey fieldType -------- --------- bewolking float count_1 float count_2 float count_3 float count_4 float count_5 float count_6 float vochtigheid float naam string precip_Int float temp float time_1 float time_2 float time_3 float time_4 float time_5 float time_6 float winddir float windgust float windsnelheid float >

Een paar vermeldingen uit de database zijn hieronder te zien:

SELECT * FROM feeders LIMIT 10 naam: feeders tijd bewolking count_1 count_2 count_3 count_4 count_5 count_6 vochtigheid naam precip_Int temp time_1 time_2 time_3 time_4 time_5 time_6 winddir windvlaag windsnelheid ---- ---------- ----- -- ------- ------- ------- ------- ------- -------- ---- - --------- ---- ------ ------ ------ ------ ------ ------ - ------ -------- --------- 1550270591000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550271814000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550272230000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550272530000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550272830000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550273130000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550273430000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550273730000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550274030000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550274330000000000 0 0 0 0 0 0 Aanvoer1 0 0 0 0 0 0 >

Stap 11: Raspberry Pi-camera

Raspberry Pi-camera
Raspberry Pi-camera
Raspberry Pi-camera
Raspberry Pi-camera
Raspberry Pi-camera
Raspberry Pi-camera
Raspberry Pi-camera
Raspberry Pi-camera

Ik raad aan om mijn Instructable, Remote CNC Stop and Monitor te gebruiken om een Raspberry Pi-camera te monteren. Voer alle genoemde stappen uit behalve 6 en 8 om de camera te maken. Let op: ik gebruik een oudere Raspberry Pi voor mijn camera, maar het heeft heel goed gewerkt vanuit mijn etalage.

Rasbian upgraden:

sudo apt-get updatesudo apt-get upgrade

PIP installeren:

sudo apt-get install python3-pip

Paho-mqtt installeren:

sudo pip3 installeer paho-mqtt

Installeer git en Bird Monitoring Software:

cd ~

sudo apt-get install git git clone "https://github.com/sbkirby/RPi_bird_feeder_monitor.git"

Als je video's wilt maken van de afbeeldingen die door de camera zijn gemaakt, installeer dan ffmpeg:

git kloon "https://git.ffmpeg.org/ffmpeg.git" ffmpeg

cd ffmpeg./configure make sudo make install

De machtigingen configureren op de Bird Feeder Monitoring-software:

cd RPi_bird_feeder_monitor

sudo chmod 764 make_movie.sh sudo chmod 764 take_photo.sh sudo chown www-data:www-data make_movie.sh sudo chown www-data:www-data take_photo.sh

Persoonlijk raad ik het gebruik van make_movie.sh op de RPi-camera niet aan. Het vereist te veel middelen om op de RPi te draaien. Ik raad aan om de afbeeldingen naar uw pc over te zetten en daar ffmpeg uit te voeren.

Uitvoeren bij opstarten

Log in op de RPi en ga naar de directory /RPi_bird_feeder_monitor.

cd RPi_bird_feeder_monitor

nano launcher.sh

Neem de volgende tekst op in launcher.sh

#!/bin/sh

# launcher.sh # navigeer naar de thuismap, dan naar deze map, voer dan het python-script uit en dan terug naar huis cd / cd home/pi/RPi_bird_feeder_monitor sudo python3 camera_mqtt_client.py cd /

Sluit de launcher.sh. af en sla deze op

We moeten het script en uitvoerbaar maken.

chmod 755 launcher.sh

Test het script.

sh launcher.sh

Maak een logmap aan:

cd ~

mkdir-logboeken

Vervolgens moeten we crontab (de linux-taakbeheerder) bewerken om het script bij het opstarten te starten.

sudo crontab -e

Dit brengt het crontab-venster zoals hierboven te zien is. Navigeer naar het einde van het bestand en voer de volgende regel in.

@reboot sh /home/pi/RPi_bird_feeder_monitor/launcher.sh >/home/pi/logs/cronlog 2>&1

Sluit het bestand af, sla het op en start de RPi opnieuw op. Het script moet het camera_mqtt_client.py-script starten nadat de RPi opnieuw is opgestart. De status van het script kan worden gecontroleerd in de logbestanden in de map /logs.

Stap 12: Geniet ervan

Genieten van
Genieten van

We genieten van het kijken naar vogels, maar we kunnen de feeder niet op een locatie plaatsen voor maximaal plezier. De enige plaats waar de meesten van ons het kunnen zien, is vanaf de ontbijttafel, en niet iedereen kan de feeder vanaf daar zien. Daarom kunnen we met de Bird Feeder Monitor de vogels op ons gemak bewonderen.

Een ding dat we met de monitor hebben ontdekt, is de frequentie van vogels die op de ene baars landen, gevolgd door springen naar de volgende baars totdat ze de hele feeder hebben omzeild. Als gevolg hiervan zijn de vogeltellingen VERWIJDERD van het aantal individuele vogels dat onze feeder bezoekt. Een voerbak met slechts één of twee smalle zitstokken zou waarschijnlijk het beste zijn voor het "tellen" van vogels.

Sensoren wedstrijd
Sensoren wedstrijd
Sensoren wedstrijd
Sensoren wedstrijd

Tweede prijs in de Sensors-wedstrijd

Aanbevolen: