Inhaltsverzeichnis:

Vogelhäuschen Monitor V2.0 - Gunook
Vogelhäuschen Monitor V2.0 - Gunook

Video: Vogelhäuschen Monitor V2.0 - Gunook

Video: Vogelhäuschen Monitor V2.0 - Gunook
Video: Путешествие на поезде 2024, Juli
Anonim
Image
Image
Vogelhäuschen Monitor V2.0
Vogelhäuschen Monitor V2.0

Dies ist ein Projekt zur Überwachung, Fotografie und Aufzeichnung der Anzahl und Zeit, die Vögel, die unser Vogelhäuschen besuchen, verbringen. Für dieses Projekt wurden mehrere Raspberry Pis (RPi) verwendet. Einer wurde als kapazitiver Berührungssensor, Adafruit CAP1188, verwendet, um die Fotografien der Vogelfütterung zu erkennen, aufzuzeichnen und auszulösen. Ein weiteres RPi wurde konfiguriert, um den Betrieb dieses Überwachungssystems zu steuern sowie die Daten für Überwachung und Analyse zu speichern und zu pflegen. Das letzte RPi wurde als Kamera konfiguriert, um jeden Vogel zu fotografieren, der den Feeder besucht.

Lieferungen

  1. 1 Stück - Raspberry Pi W
  2. 1 Stück - Raspberry Pi 3 - Modell B+ - für MQTT-Server
  3. 1 Stück - Raspberry Pi mit Kamera - Optional
  4. 2 Stück - Wetterfeste Hüllen für RPi und CAP1188 Sensor
  5. 1 Stück - Kupferfolienband mit leitfähigem Klebstoff
  6. Draht - 18-22 AWG
  7. Lötkolben und Lot
  8. Lötflussmittel für Elektronik
  9. Silikonabdichtung*
  10. 8 Stück - M3 x 25 Maschinenschrauben*
  11. 8 Stück - M3-Muttern*
  12. 1 St. - Proto Board zur Montage von CAP1188
  13. 1 Stück - 1x8 weiblicher Dupont-Anschluss
  14. 1 Stück - 1x6 männlicher Dupont-Anschluss
  15. 1 Stück - CAP1188 - Kapazitiver Berührungssensor mit 8 Tasten
  16. 2 Stück - PG7 Wasserdicht IP68 Nylon-Kabelverschraubung Einstellbare Kontermutter für Kabeldraht mit 3 mm bis 6,5 mm Durchmesser
  17. 1 Satz - 2-poliger Auto-wasserdichter elektrischer Stecker mit Draht AWG Marine Packung mit 10
  18. 3 Stück - 5VDC Netzteil - eines für jedes RPi
  19. 1 Stück - Vogelhäuschen (CedarWorks Plastic Hopper Bird Feeder) oder jedes beliebige Vogelhäuschen mit Sitzstangen aus Kunststoff oder Holz

*für 3D-gedruckte wetterfeste Hüllen

Schritt 1: Überblick über das Vogelfutter-Überwachungssystem

Übersicht über das Vogelfutter-Überwachungssystem
Übersicht über das Vogelfutter-Überwachungssystem

Dies ist ein Überwachungssystem, das entwickelt wurde, um die Vögel, die an unserem Futterhäuschen fressen, zu zählen, zu messen, aufzuzeichnen und zu fotografieren. Die vorherige Version meines Vogelfuttermonitors verwendete einen Arduino Yun und speicherte die Daten in einer Tabelle auf meinem Google Drive. Diese Version verwendet mehrere Raspberry Pis, MQTT-Kommunikation und die lokale Speicherung von Daten und Fotos.

Das Vogelfutterhaus ist mit einem Raspberry Pi Zero W und einem kapazitiven Berührungssensor (CAP1188) ausgestattet. Alle Vögel, die auf den Sitzstangen leuchten, aktivieren den Berührungssensor, der einen Timer startet, um die Dauer jedes Ereignisses zu bestimmen. Sobald die Berührung aktiviert wird, wird die MQTT-Nachricht „monitor/feeder/picture“vom Bird Feeder Monitor veröffentlicht. Diese Nachricht weist die Raspberry Pi-Kamera an, ein Foto aufzunehmen. Wenn der MQTT-Server eine "monitor/feeder/getcount"-Nachricht veröffentlicht, antwortet der Bird Feeder Monitor mit einer "monitor/feeder/count"-MQTT-Nachricht, die der Server speichert.

Der MQTT-Server führt mehrere Aufgaben aus. Es fordert und speichert Daten vom Vogelfuttermonitor und steuert den Betrieb des Monitors. Es aktiviert den Monitor bei Dawn und schaltet ihn bei Dusk aus. Es steuert auch das Zeitintervall für die Datenabfrage und überwacht auch die aktuellen Wetterbedingungen über DarkSky. Die Wetterbedingungen werden aus mehreren Gründen überwacht. Zunächst kann die Niederschlagsmenge die Sensoren beeinflussen. In diesem Fall werden die Sensoren bei Regen routinemäßig neu kalibriert. Der zweite Grund besteht darin, die Wetterbedingungen zu überwachen und aufzuzeichnen, um sie mit den Vogelzählungsdaten zu korrelieren.

Die Raspberry Pi-Kamera ist ein RPi + Raspberry Pi-Kameramodul. Die für dieses Projekt verwendete Kamerasoftware funktioniert nicht mit einer USB-Webcam. Die RPi-Kamera ist mit WIFI ausgestattet und betreibt die MQTT-Client-Software. Es abonniert "Monitor/Feeder/Picture"-MQTT-Nachrichten und nimmt jedes Mal ein Foto auf, wenn diese Nachricht empfangen wird. Die Fotos werden auf der RPi-Kamera gespeichert und aus der Ferne verwaltet.

Schritt 2: Raspbian auf dem Vogelfuttermonitor installieren

Raspbian auf dem Vogelfuttermonitor installieren
Raspbian auf dem Vogelfuttermonitor installieren

Installieren Sie die neueste Version von Raspbian Lite auf dem Raspberry Pi Zero W. Ich empfehle, die Schritt-für-Schritt-Anleitung zu befolgen, die Sie im Raspberry Pi Zero Headless Quick Start von Adafruit finden.

Die folgenden Schritte waren in den obigen Anweisungen enthalten, verdienen jedoch eine Wiederholung:

Verbinden Sie sich per ssh mit dem RPi und führen Sie die folgenden Befehle aus:

sudo apt-get Updatessudo apt-get upgrade

Die Ausführung der obigen Befehle dauert eine Weile, aber das Ausführen dieser Befehle stellt sicher, dass Sie mit den neuesten Paketen auf dem neuesten Stand sind.

Führen Sie als Nächstes den folgenden Befehl aus, um die RPi-Software zu konfigurieren:

sudo raspi-config

Ändern Sie Ihr Passwort, aktivieren Sie SPI und I2C und erweitern Sie das Dateisystem. Sobald diese abgeschlossen sind, beenden Sie raspi-config.

Schritt 3: Verdrahtung von RPi und CAP1188

Verkabelung von RPi und CAP1188
Verkabelung von RPi und CAP1188

Der Raspberry Pi W (RPi) und der CAP1188 sind mit I2C verkabelt. Es gibt weitere kapazitive Berührungssensoren mit einem, fünf oder acht Sensoren. Ich habe acht gewählt, weil mein Vogelhäuschen sechs Seiten hat.

Verdrahtung:

  • CAP1188 SDA == RPi-Pin 3
  • CAP1188 SCK == RPi-Pin 5
  • CAP1188 VIN == RPi Pin 1 (+3.3VDC)
  • CAP1188 GND == RPi Pin 9 (GND)
  • CAP1188 C1-C8 == Verbinden Sie die Drähte an jeder Stange über 1x8 weiblicher Dupont-Anschluss
  • CAP1188 3Vo == CAP1188 AD - Festverdrahten der I2C-Adresse auf 0x28
  • RPi-Pin 2 == +5VDC
  • RPi Pin 14 == GND

Die Stromversorgung des RPi wurde extern bereitgestellt, indem ein Kabel von meiner Garage unter der Erde und durch das Rohr, das als Vogelfutterständer diente, geführt wurde. Am Ende des Kabels wurde ein 2-poliger wetterfester Stecker angebracht, um den RPi Bird Feeder Monitor anzuschließen. Das andere Ende des Kabels wurde an ein abgesichertes 5-Gleichstrom-Netzteil in der Garage angeschlossen. Dieses Projekt sollte mit Batterien funktionieren, aber ich wollte nicht routinemäßig Batterien wechseln.

Ich habe ein 16 langes Kabel konstruiert, um die Weatherproof Box mit dem RPi mit der Weatherproof Box mit dem CAP1188 zu verbinden. Der kapazitive Sensor muss so nah wie möglich an den Sitzstangen platziert werden.

Das RPi Zero und das CAP1188 hätten in einer wetterfesten Box verpackt sein können, aber ich zog es vor, sie separat zu verpacken.

Schritt 4: Konfigurieren des Vogelfuttermonitors

Konfigurieren des Vogelfuttermonitors
Konfigurieren des Vogelfuttermonitors
Konfigurieren des Vogelfuttermonitors
Konfigurieren des Vogelfuttermonitors

Melden Sie sich beim Raspberry Pi Zero W an und führen Sie die folgenden Schritte aus.

Pip installieren:

sudo apt-get install python3-pip

Installieren Sie Adafruit CircuitPython:

sudo pip3 install --upgrade setuptools

Suchen Sie nach I2C- und SPI-Geräten:

ls /dev/i2c* /dev/spi*

Sie sollten die folgende Antwort sehen:

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

Als nächstes installieren Sie ein GPIO- und Adafruit-Blinka-Paket:

pip3 installieren RPI. GPIOpip3 installieren adafruit-blinka

Installieren Sie das CAP1188-Modul von Adafruit:

pip3 installieren adafruit-circuitpython-cap1188

I2C-Tools installieren:

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

Überprüfen Sie die I2C-Adressen mit dem obigen Tool:

i2cdetect -y 1

Wenn der CAP1188 angeschlossen ist, sehen Sie dieselbe Antwort wie auf dem obigen Foto, was darauf hinweist, dass sich der Sensor an der I2C-Adresse 0x28 (oder 0x29 je nach Ihrer Wahl der I2C-Adresse) befindet.

Installieren Sie mosquitto, mosquitto-clients und paho-mqtt:

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

sudo pip3 install paho-mqtt

Ich empfehle, MQTT von Adafruit auf dem Raspberry Pi zu konfigurieren, um MQTT auf diesem RPi zu konfigurieren und einzurichten.

Installieren Sie die Bird Feeder Monitor-Software:

cd ~

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

Protokollverzeichnis erstellen:

cd ~

mkdir-Protokolle

Verdrahten Sie den CAP1188-Sensor mit dem RPi und führen Sie die folgenden Schritte aus, um das System zu testen, nachdem der MQTT-Server betriebsbereit ist:

cd RPi_bird_feeder_monitor

sudo nano config.json

Ersetzen Sie die Werte für "OIP_HOST", "MQTT_USER", "MQTT_PW" und "MQTT_PORT" entsprechend Ihrem lokalen Setup. Beenden Sie und speichern Sie Ihre Änderungen.

Beim Start ausführen

Noch im Verzeichnis /home/pi/RPi_bird_feeder_monitor.

nano launcher.sh

Fügen Sie den folgenden Text in launcher.sh ein

#!/bin/sh

# launcher.sh # zum Home-Verzeichnis navigieren, dann zu diesem Verzeichnis, dann Python-Skript ausführen, dann zurück nach Hause cd / cd home/pi/RPi_bird_feeder_monitor sudo python3 feeder_mqtt_client.py cd /

Beenden und speichern Sie die launcher.sh

Wir müssen das Skript ausführbar machen.

chmod 755 launcher.sh

Testen Sie das Skript.

sh launcher.sh

Als nächstes müssen wir crontab (den Linux-Task-Manager) bearbeiten, um das Skript beim Start zu starten. Hinweis: Wir haben das Verzeichnis /logs bereits zuvor erstellt.

sudo crontab -e

Dadurch wird das Crontab-Fenster wie oben gezeigt geöffnet. Navigieren Sie zum Ende der Datei und geben Sie die folgende Zeile ein.

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

Beenden und speichern Sie die Datei und starten Sie das RPi neu. Das Skript sollte nach dem Neustart des RPi das Skript feeder_mqtt_client.py starten. Der Status des Skripts kann in den Protokolldateien im Ordner /logs überprüft werden.

Schritt 5: 3D-gedruckte Teile

3D-gedruckte Teile
3D-gedruckte Teile
3D-gedruckte Teile
3D-gedruckte Teile
3D-gedruckte Teile
3D-gedruckte Teile

Diese STL-Dateien sind für die 3D-gedruckten Teile, die ich für dieses Projekt erstellt habe, und alle diese Teile sind optional. Wetterfeste Gehäuse können vor Ort hergestellt oder gekauft werden. Der "Montagekeil" für das CedarWorks Vogelhäuschen ist ebenfalls optional. Dieses Teil war notwendig, um das Sensorgehäuse CAP1188 zu montieren.

Schritt 6: Vogelhäuschen Monitor Montage

Vogelhäuschen Monitor Montage
Vogelhäuschen Monitor Montage

Nach der Installation von Raspbian, der Konfiguration und dem Testen des RPi- und CAP1188-Sensors wie bereits erwähnt, ist es nun an der Zeit, diese Geräte in ihren wetterfesten Gehäusen zu montieren.

Ich habe die beiden wetterfesten Gehäuse verwendet, die ich gedruckt habe, um den RPi- und den CAP1188-Sensor zu montieren. Zuerst habe ich an einem Ende jedes Gehäuses ein 1/2 Loch gebohrt. Bohren Sie das Loch am RPi-Gehäuse gegenüber der Seite mit der SD-Karte. Montieren Sie die Nylon-Kabelverschraubung mit verstellbarer Kontermutter in jedem Loch. Führen Sie die vier Leiterkabel zwischen jedem Gehäuse. Installieren und löten Sie die 2-polige wasserdichte elektrische Buchse des Autos an das RPi, wie auf dem Foto oben gezeigt. Löten Sie das rote Kabel an den +5VDC Pin 2 des RPi und das schwarze Kabel an GND oder Pin 14 Siehe den Schaltplan für die anderen am RPi verwendeten Anschlüsse.

Führen Sie das andere Ende des vieradrigen Drahts durch die Kabelverschraubung am CAP1188-Gehäuse und schließen Sie die Drähte wie im Schaltplan angegeben an. Alle 8 kapazitiven Berührungssensoren CAP1188 sind an die 8-Pin-Dupont-Buchse angelötet. Dieser Anschluss ist an der Seite des Gehäuses versenkt, um eine wasserdichte Abdichtung zu ermöglichen, wenn das Oberteil angebracht wird. Hinweis: Das Oberteil in beiden Fällen erfordert wahrscheinlich Modifikationen, um die Muttern an den Stopfbuchsenverbindern zu berücksichtigen.

Vor dem Schließen trage ich Silikondichtungen auf die Kanten jedes Gehäuses und um die Drähte der Gland Joints auf, um die Gehäuse abzudichten. Ich füge auch Silikon auf der Rückseite des Dupont-Anschlusses hinzu, um ihn vor den Elementen abzudichten.

Schritt 7: Verkabelung des Vogelhäuschens

Verkabelung des Vogelhäuschens
Verkabelung des Vogelhäuschens
Verkabelung des Vogelhäuschens
Verkabelung des Vogelhäuschens
Verkabelung des Vogelhäuschens
Verkabelung des Vogelhäuschens

Jede der Sitzstangen des Futterautomaten wurde mit 1/4 breitem selbstklebendem Kupferfolienband bedeckt. Ein kleines Loch wurde durch das Band und die Sitzstange gebohrt und ein Draht wurde an das Folienband gelötet und unter dem Futterspender geführt Die Drähte sind mit einem 6-poligen Dupont-Stecker verbunden.

Hinweis: Bei dem oben gezeigten Vogelhäuschen empfehle ich einen Abstand zwischen den Enden jedes Folienstreifens von 1 1/4" - 1 1/2". Ich entdeckte, dass die größeren Vögel wie Grackles und Tauben in der Lage sind, zwei Folienstreifen gleichzeitig zu berühren, wenn sie zu nahe beieinander platziert werden.

Der zuvor erwähnte "Montagekeil" wurde gedruckt und auf die Unterseite des Feeders geklebt, um einen ebenen Bereich für die Montage der wetterfesten Box mit dem CAP1188 bereitzustellen. An der Box sowie am Holzklotz wurde Klettband angebracht, um eine Befestigungsmöglichkeit zu bieten. Dies ist auf dem obigen Foto der fertigen Montage zu sehen. Ein Klettband wird verwendet, um das Rohr und die RPi-Box zu wickeln, um sie unter dem Feeder zu befestigen.

Das Futterhäuschen wird mit Sensor und RPi am Futterhäuschen befestigt und während es sich noch auf dem Rohrständer befindet, neu befüllt. Zum Glück bin ich 6'2 groß und erreiche den Container ohne viel Kraftaufwand.

Schritt 8: MQTT-Server

MQTT-Server
MQTT-Server
MQTT-Server
MQTT-Server
MQTT-Server
MQTT-Server

Wenn Sie sich bereits in der IOT-Welt versuchen, haben Sie möglicherweise bereits einen MQTT-Server in Ihrem Netzwerk. Wenn nicht, empfehle ich die Verwendung eines Raspberry Pi 3 für den MQTT-Server und die Anweisungen und die IMG-Image-Datei auf der Website von Andreas Spiess "Node-Red, InfuxDB & Grafana Installation". Andreas hat auch ein informatives Video zu diesem Thema #255 Node-Red, InfluxDB und Grafana Tutorial auf Raspberry Pi.

Sobald der Node-Red Server betriebsbereit ist, können Sie den Bird Feeder Monitor-Flow importieren, indem Sie die Daten in ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Flow.json kopieren und die Zwischenablage mit Import > Clipboard in einen neuen Flow einfügen.

Dieser Flow erfordert die folgenden Knoten:

  • node-red-node-darksky – Zur Verwendung dieses Knotens ist ein DarkSky-API-Konto erforderlich.
  • node-red-contrib-bigtimer - Big Timer von Scargill Tech
  • node-red-contrib-influxdb - InfluxDB Database

Wetterdaten für Ihren Standort werden über DarkSky bereitgestellt. Und ich überwache und zeichne derzeit "precipIntensity", "Temperature", "humidity", "windSpeed", "windBearing", "windGust" und "cloudCover" auf. Die "precipIntensity" ist wichtig, da sie dazu dient, festzustellen, ob die Sensoren aufgrund des Regens neu kalibriert werden müssen.

Der Big Timer-Knoten ist das Schweizer Taschenmesser unter den Timern. Es wird verwendet, um die Datenaufzeichnung jeden Tag in der Morgen- und Abenddämmerung zu starten und zu stoppen.

InfluxDB ist eine leichtgewichtige, einfach zu verwendende Zeitreihendatenbank. Die Datenbank fügt jedes Mal automatisch einen Zeitstempel hinzu, wenn wir Daten einfügen. Im Gegensatz zu SQLite müssen die Felder nicht definiert werden. Sie werden automatisch hinzugefügt, wenn Daten in die Datenbank eingefügt werden.

Knotenrote Konfiguration

Die oben erwähnte JSON-Datei lädt einen Flow, der einige Anpassungen erfordert, um Ihre Anforderungen zu erfüllen.

  1. Verbinden Sie "MQTT Publish" und "monitor/feeder/#" mit Ihrem MQTT-Server.
  2. Stellen Sie den Breiten- und Längengrad auf Ihren Standort im Big Timer-Knoten "Dawn & Dusk Timer (config)" ein.
  3. Konfigurieren Sie den Knoten "Monitor/Feeder/Astronomy (config)". Die Kamera kann für jeden Sitzplatz aktiviert/deaktiviert werden. Zum Beispiel befinden sich zwei meiner Sitzstangen auf der Rückseite und die Kamera ist für diese Sitzstangen deaktiviert.
  4. Stellen Sie den Knoten „Counter Timer (config)“auf das gewünschte Zeitintervall. Standard = 5 Minuten
  5. Stellen Sie im Knoten "DarkSky (config)" den Breiten- und Längengrad auf Ihren Standort ein. Geben Sie zweitens Ihren DarkSky-API-Schlüssel in den darksky-credentials-Knoten ein.
  6. Stellen Sie die Niederschlagsintensität im Funktionsknoten "monitor/feeder/recalibrate (config)" ein. Standard = 0,001 Zoll/h
  7. Bearbeiten Sie den Funktionsknoten "Topic Filter for MQTT Receiver Debug Node (config)", um die MQTT-Nachrichten herauszufiltern, die Sie NICHT sehen möchten.
  8. Optional: Wenn Sie Daten in einer Tabelle auf Ihrem Google Drive speichern möchten, müssen Sie den Funktionsknoten "Google Docs Payload (config) erstellen" mit Formularfeld-IDs bearbeiten.
  9. Optional: Fügen Sie Ihre eindeutige Formular-URL zum URL-Feld des HTTP-Anforderungsknotens "Google Docs GET (config)" hinzu.

Knotenroter UI-Desktop

Der Bird_Feeder_Monitor_Flow enthält eine Benutzeroberfläche (UI) für den Zugriff auf den MQTT-Server über ein Mobiltelefon. Der Monitor kann aus- oder eingeschaltet werden, Sensoren neu kalibrieren oder Fotos manuell aufnehmen. Es wird auch eine Summe der Sensor-„Berührungen“angezeigt, die Ihnen eine ungefähre Vorstellung von der Anzahl der Vögel geben, die das Futterhäuschen besuchen.

Schritt 9: Grafana

Grafana
Grafana
Grafana
Grafana

"Grafana ist eine Open-Source-Suite für Metrikanalyse und -visualisierung. Sie wird am häufigsten zur Visualisierung von Zeitreihendaten für Infrastruktur- und Anwendungsanalysen verwendet, aber viele verwenden sie in anderen Bereichen, einschließlich Industriesensoren, Heimautomatisierung, Wetter und Prozesssteuerung." refn: Grafana Docs.

Diese Software ist in der Image-Datei von Andreas Spiess enthalten, die zum Erstellen meines MQTT-Servers verwendet wird. Nach der Konfiguration der InfluxDB-Datenbank auf dem MQTT-Server kann Grafana so konfiguriert werden, dass diese Datenbank verwendet wird, wie in der Abbildung oben gezeigt. Als nächstes kann das von diesem Projekt verwendete Dashboard aus der JSON-Datei geladen werden, die sich in ~/RPi_bird_feeder_monitor/json/ Bird_Feeder_Monitor_Grafana.json befindet. Tipps zur Konfiguration von Grafana finden Sie auf der Website von Andreas Spiess "Node-Red, InfuxDB & Grafana Installation".

Schritt 10: InfluxDB

InfluxDB
InfluxDB
InfluxDB
InfluxDB

Wie bereits erwähnt, hat Adreas Spiess eine großartige Anleitung und ein Video, das Sie durch die Konfiguration von InfluxDB führt. Hier sind die Schritte, die ich unternommen habe, um meine Datenbank zu konfigurieren.

Zuerst habe ich mich per SSH bei meinem MQTT-Server angemeldet und einen USER angelegt:

root@MQTTPi:~# influx Verbunden mit "https://localhost:8086" Version 1.7.6 InfluxDB-Shell-Version: 1.7.6 Geben Sie eine InfluxQL-Abfrage ein > ERSTELLEN SIE BENUTZER "pi" MIT PASSWORT 'raspberry' MIT ALLEN PRIVILEGIEN > BENUTZER ANZEIGEN Benutzeradministrator ---- ----- pi true

Als nächstes habe ich eine Datenbank erstellt:

DATENBANK ERSTELLEN BIRD_FEEDER_MONITOR> > DATENBANK ANZEIGEN Name: Datenbankname ---- _internal BIRD_FEEDER_MONITOR >

NACHDEM Sie die obige Datenbank erstellt haben, können Sie den InfluxDB-Knoten in Node-Red konfigurieren. Wie auf dem Foto oben zu sehen, nenne ich die Messung "Feeder". Dies ist in InfluxDB sichtbar, nachdem die Daten initialisiert wurden:

VERWENDEN SIE BIRD_FEEDER_MONITORVerwenden der Datenbank BIRD_FEEDER_MONITOR

MESSUNGEN ANZEIGEN Name: Messungen Name ---- Feeder >

Eine der vielen Funktionen von InfluxDB ist, dass die FIELDS-Konfiguration nicht erforderlich ist. Die FELDER werden bei der Dateneingabe automatisch hinzugefügt und konfiguriert. Hier sind die FIELDS und FIELDTYPE für diese Datenbank:

SHOW FIELD KEYSname: feeders fieldKey fieldType -------- --------- cloudcover float count_1 float count_2 float count_3 float count_4 float count_5 float count_6 float Luftfeuchtigkeit float name 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 windspeed float >

Nachfolgend sind einige Einträge aus der Datenbank zu sehen:

SELECT * FROM feeders LIMIT 10 name: feeders time cloudcover count_1 count_2 count_3 count_4 count_5 count_6 feuchtigkeit name precip_Int temp time_1 time_2 time_3 time_4 time_5 time_6 winddir windböe windspeed ---- ---------- ----- -- ------ ------ ------ ------ ------ -------- ---- - --------- ---- ------ ------ ------ ------ ------ ------ - ------ -------- --------- 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 Zubringer1 0 0 0 0 0 0 >

Schritt 11: Raspberry Pi Kamera

Raspberry Pi Kamera
Raspberry Pi Kamera
Raspberry Pi Kamera
Raspberry Pi Kamera
Raspberry Pi Kamera
Raspberry Pi Kamera
Raspberry Pi Kamera
Raspberry Pi Kamera

Ich empfehle die Verwendung meines Instructable, Remote CNC Stop and Monitor, um eine Raspberry Pi-Kamera zusammenzubauen. Führen Sie alle genannten Schritte mit Ausnahme von 6 und 8 aus, um die Kamera zu erstellen. Bitte beachten Sie, dass ich für meine Kamera einen älteren Raspberry Pi verwende, der jedoch von meinem Schaufenster aus sehr gut funktioniert hat.

Rasbian upgraden:

sudo apt-get Updatessudo apt-get upgrade

PIP installieren:

sudo apt-get install python3-pip

paho-mqtt installieren:

sudo pip3 install paho-mqtt

Installieren Sie git und Vogelüberwachungssoftware:

cd ~

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

Wenn Sie aus den von der Kamera aufgenommenen Bildern Videos machen möchten, installieren Sie ffmpeg:

git-Klon "https://git.ffmpeg.org/ffmpeg.git" ffmpeg

cd ffmpeg./configure make sudo make install

Konfigurieren der Berechtigungen in der 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

Persönlich empfehle ich nicht, die make_movie.sh auf der RPi-Kamera zu verwenden. Es erfordert zu viele Ressourcen, um auf dem RPi zu laufen. Ich empfehle, die Bilder auf Ihren PC zu übertragen und dort ffmpeg auszuführen.

Beim Start ausführen

Melden Sie sich beim RPi an und wechseln Sie in das Verzeichnis /RPi_bird_feeder_monitor.

cd RPi_bird_feeder_monitor

nano launcher.sh

Fügen Sie den folgenden Text in launcher.sh ein

#!/bin/sh

# launcher.sh # zum Home-Verzeichnis navigieren, dann zu diesem Verzeichnis, dann Python-Skript ausführen, dann zurück nach Hause cd / cd home/pi/RPi_bird_feeder_monitor sudo python3 camera_mqtt_client.py cd /

Beenden und speichern Sie die launcher.sh

Wir müssen das Skript und ausführbar machen.

chmod 755 launcher.sh

Testen Sie das Skript.

sh launcher.sh

Erstellen Sie ein Protokollverzeichnis:

cd ~

mkdir-Protokolle

Als nächstes müssen wir crontab (den Linux-Task-Manager) bearbeiten, um das Skript beim Start zu starten.

sudo crontab -e

Dadurch wird das Crontab-Fenster wie oben gezeigt geöffnet. Navigieren Sie zum Ende der Datei und geben Sie die folgende Zeile ein.

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

Beenden und speichern Sie die Datei und starten Sie das RPi neu. Das Skript sollte das Skript camera_mqtt_client.py nach dem Neustart des RPi starten. Der Status des Skripts kann in den Protokolldateien im Ordner /logs überprüft werden.

Schritt 12: Genießen Sie

Genießen
Genießen

Wir beobachten gerne Vögel, können den Futterspender jedoch nicht an einem Ort platzieren, an dem es maximalen Genuss bietet. Die meisten von uns können es nur vom Frühstückstisch aus sehen, und nicht jeder kann von dort aus den Futterautomaten sehen. Daher können wir mit dem Bird Feeder Monitor die Vögel nach Belieben bewundern.

Eine Sache, die wir mit dem Monitor entdeckt haben, ist die Häufigkeit, mit der Vögel auf einer Stange landen und dann zur nächsten Stange hüpfen, bis sie den gesamten Feeder umrundet haben. Infolgedessen ist die Anzahl der Vögel weit von der Anzahl der einzelnen Vögel entfernt, die unsere Futterstelle besuchen. Ein Futterhäuschen mit nur ein oder zwei schmalen Sitzstangen wäre wahrscheinlich am besten zum "Zählen" von Vögeln geeignet.

Sensorik-Wettbewerb
Sensorik-Wettbewerb
Sensorik-Wettbewerb
Sensorik-Wettbewerb

Zweiter Preis im Sensors Contest

Empfohlen: