Commentum

Der Einfall, die Lüge, die Erdichtung

Die Technik im Igelhaus

Bewegungsmelder

Der Eingang des Igelhauses wird von einem Raspberry Pi mit einem Bewegungsmelder überwacht. Bei einer Bewegung wird über ein an den Raspberry angeschlossenes Relais eine 12 Volt LED-Beleuchtung eingeschaltet. Die Stromversorgung erfolgt über eine Solar-Photovoltaik-Insellösung. Weiterhin löst eine Bewegungsmeldung die Aufnahme von Videos der Raspicam und angeschlossener Webcams aus. Auch die Gewichtsmessung wird bei jeder Bewegung neu initialisiert.

  • bewegungsmelder1
  • bewegungsmelder2


Webcams

Zwei an Raspberries angeschlossene Webcams mit niedriger Auflösung (640x480, preiswerte Auslaufmodelle, 3€) erstellen bei Bwegung Videos/Fotos vom Eingangsbereich.

einfachewebcam


Temperatur und Luftfeuchtigkeit

Die Temperatur und die Luftfeuchtigkeit werden von einem Raspberry Pi mit Sensoren ermittelt und aufgezeichnet. Hier sind Sensoren wie der DS18B20 und DHT22 (wasserdicht) angeschlossen.

  • DHT22
  • ds18b20X_1
  • ds18b20, wasserdicht


Gewicht

Im Eingangsbereich ist zur Ermittlung des Gewichts der "Besucher" eine an einen Raspberry Pi (PHYLLOBATES) angeschlossene Wägezelle mit Messwerten bis 1000 Gramm installiert. Da mit Ungenauigkeiten bei der Erfassung der Werte (Bewegungen des Igels, Verlagerung des Gewichts in Randzonen) werden die Werte über einen bestimmten Zeitraum "gemittellt", Ziel ist es im Wesentlichen festzustellen, ob die Igel einem Gewicht von über 600 Gramm entsprechen und somit auch in eine Winterruhe eintreten können.

  • wägezelle
  • HX711_3


Ein weiterer Gewichtssensor ist im "Wohnbereich" untergebracht und prüft regelmäßig die Druckdaten/das Gewicht. Auch hier werden Ungenauigkeiten in Kauf genommen, das Gewicht variiert ja alleine schon wegen der eingebrachten Blätter und Äste für den Unterschlupf.

Diese Aufgabe wird von PHYLLOBATES erfüllt.

Der andere Bereich mit Wägezelle (Wohnbereich) wird von einem weiteren Raspberry Pi verarbeitet. Auch hier werden regelmäßig bzw. bei Bewegung Fotos gemacht. Diese Aufgabe erledigt der Rechner HYMENOCHIRUS.  Beide Raspberries sind fest in einem Bereich unter dem Dach in einem kleinen Holzgehäude eingebaut (einschließlich Belüftung). in diesem Gehäuse ist auch die Stromversorgung und die weitere Verkabelung (Kameras, Wägezelle, Temperatur-  und Luftfeuchtigkeitssensoren, Bewegungsmelder) untergebracht. Für die Wartung der Raspberries kann die Stromversorgung von einem Schalter am Gehäuse unterbrochen werden.

Alle von den Sensoren ermittelten Daten werden in einer Datenbank erfaßt und stehen so zur Auswertung/Bearbeitung/Darstellung zur Verfügung.

Also sind zusammengefaßt im Igelhaus zwei Raspberry Pi, zwei Wägezellen mit HX711, ein Temperatur-/Luftfeuchtigkeitssensor DHT22 (oberer Bereich, unter dem Dach), ein Temperatursensor DS18B20 (wasserdicht, unterer Bereich, Bodentemperatur), zwei Bewegungsmelder HC-SR501 PIR (Eingangs- und Fressbereich, Wohnbereich), die Netzteile und LED(-Scheinwerfer) als Technik eingebaut. Die Beleuchtung wird über ein Relais bei Bewegung von einer 12V-Solarbatterie gespeist.

  • 5VoltRelais
  • RaspberryRelaisSchaltung


HTML zur Steuerung der Relais(e)

Codebeispiel

 PYTHON-Code

 from flask import Flask, render_template, request, redirect, url_for, make_response

import time
response = make_re
import RPi.GPIO as GPIO
pin1 =32                        #Relais Pins Nummer
pin2 =16
pin3 =18
pin4 =22
GPIO.setmode(GPIO.BOARD)        #GPIO MODE
GPIO.setup(pin1,GPIO.OUT)       #Alle Relais Pins als OUTPUT
GPIO.setup(pin2,GPIO.OUT)
GPIO.setup(pin3,GPIO.OUT)
GPIO.setup(pin4,GPIO.OUT)
GPIO.output(pin1 , 1)
GPIO.output(pin2 , 1)
GPIO.output(pin3 , 1)
GPIO.output(pin4 , 1)
app = Flask(__name__)            #Flask Server einrichten
#Rückgabe der Seite index.html wenn die IP-Adresse ausgewählt ist
@app.route('/')
def index():
return render_template('index.html')
#Jeder HTML-Taster gibt eine Nummer zurück
@app.route('/<changepin>', methods=['POST'])
def reroute(changepin):
changePin = int(changepin)   #cast changepin to an int
if changePin == 1:
print ("Relais 1")        #Relais1 AN
GPIO.output(pin1 ,0)     #Low-Pegel
elif changePin == 2:
print ("Relais 2")        #Relais2 AN
GPIO.output(pin2 ,0)
elif changePin == 3:
print ("Relais 3")        #Relais3 AN
GPIO.output(pin3 ,0)
elif changePin == 4:
print ("Relais 4")        #Relais4 AN
GPIO.output(pin4 ,0)
else:
print("Aus")             #Alle Relais AUS
GPIO.output(pin1 , 1)
GPIO.output(pin2 , 1)
GPIO.output(pin3 , 1)
GPIO.output(pin4 , 1)sponse(redirect(url_for('index')))
return(response)
app.run(debug=True, host='0.0.0.0', port=8000) #Einrichten des Servers im Debug-Modus für Port 8000


Code auf dem RaspberryPi

So bekommst du den Code auf deinen Raspberry Pi
Möglichkeit 1: Bearbeite deinen Code direkt auf dem Pi:
Um den Code auf deinen Raspberry Pi zu bekommen, springst du im Terminal zunächst in den für die jeweilige Datei relevanten Ordner, den du zuvor angelegt hast.
/Projekt
relais.py
/templates
index.html
Um in den richtigen Ordner zu springen sind die folgenden Befehle hilfreich:
ls # Auflistung der Verzeichnisse sowie Inhalte
cd # Wechsel des Verzeichnisses
Im jeweiligen Verzeichnis erstellst du nun die Dateien mit den folgenden Befehlen:
cat > relais.py # dieser Befehl erstellt eine Python-Datei mit dem Namen relais.py
cat > index.html # dieser Befehl erstellt eine HTML-Datei mit dem Namen Index.html
Nun öffnest du mit dem Befehl aneine der beiden Dateien und kopierst den Code in die Datei.
nano relais.py # dieser Befehl öffnen die relais.py Datei um sie zu bearbeiten
Möglichkeit 2: Kopiere deinen Code vom Notebook auf den Pi:
Wir empfehlen den Code von deinem Notebook aus auf deinen Pi zu kopieren, da dies deutlich einfacher ist. Dabei gehst du wie folgt vor:
Aktiviere den SSH Zugriff in der Konfiguration des Raspberry Pi. Mit dem folgenden Befehl gelangst du in die Konfiguration deines Raspberrys, wo du den SSH-Zugriff aktivieren kannst:
sudo raspi-config # diesen Befehl musst du im Terminal deines Raspberrys eingeben
Nun musst du dir noch WinSCP herunterladen und auf deinem Notebook installieren. Dies kannst du hier machen.
Solltest du auf deinem Laptop Linux nutzen, lade dir bitte FileZilla anstatt WindSCP herunter. Das kannst du hier machen.
Folgende Angaben/Einstellungen sind bei deinem SSH-Client eventuell zu ändern:
Host : hier musst du die IP-Adresse oder DynDNS Domain deines Pis angeben.
username : pi
password: DEIN_PASSWORT
SSH-Port: 22

MANTELLA


Zurück


E-Mail
Infos