Taster mit Raspberry Pi beschalten

In diesem kleinen Tutorial zeigen wir euch wie Ihr einen Taster mit Raspberry Pi beschalten könnt, und dann eine Funktion ausführt. Um die Sache aber noch etwas zu verkomplizieren, holen wir uns Daten aus der Datenbank und führen je nach dem Wert der Datenbank eine bestimmte Aktion aus. Ein «must-to-know» für jeden Raspberry Pi-Developer.

Materialliste

Für die oben genannte Problemstellung benötigen wir folgendes:

So nun haben wir alle nötigen Teile zusammen um mit unserem Projekt durchzustarten.

Das Setup

Als erstes nehmen wir uns das Hilfsdokument GPIO-Pins zur Hand. Hier sehen wir sehr gut welche Kabel wir an welchen PIN unseres Raspberry Pi stecken müssen.

Das Setup für unser Projekt sieht wie folgt aus:

Taster mit Raspberry Pi beschalten – Schaltplan

Der 47kΩ-Widerstand wird benötigt, damit der GPIO (in unserem Fall GPIO14) einen klaren Zustand von 1 oder 0 erhalt. Also Strom oder kein Strom. Als nächstes können wir uns eigentlich aber schon unserem Script auf dem Raspberry Pi widmen.

Installation des MySQL-Connectors

Wir benutzen in unserem folgenden Script den mysql-connector für Python. Diesen haben wir jedoch relativ flott mit

sudo apt-get -y install python-mysql.connector

für Python2 oder

sudo apt-get -y install python3-mysql.connector

für Python3 installiert. Anschliessend sollten wir diesen in unserem Script nutzen können.

Das Python Script

Das Setup ist nun durch und wir können in unserem Lieblings-Code-Editor (bei uns PHPStorm von JetBrains) an den Python Code machen. In unserem Beispiel möchten wir beispielsweise den aktuellen «Mood» von einem gewissen Peter beim Buttondruck ausdrucken. Dafür holen wir uns die Daten aus der Spalte ishappy aus unserer Datenbank. Die Spalte steht an 2. Stelle und ist innerhalb der Tabelle «mitarbeiter» angegliedert.

Das Script sieht dann in etwa so aus:

#import der benötigten module
import RPi.GPIO as GPIO
import time
import mysql.connector

#GPIO definieren
GPIO.setmode(GPIO.BCM)
GPIO.setup(14, GPIO.IN)

#Datenbankverbindung herstellen
try:
    connection = mysql.connector.connect(host = "Dein DB-Host", user = "Dein DB-User", passwd = "Dein DB-Passwort", db = "Dein DB-Name")
except:
    print ("Keine Verbindung zum Server")
    exit(0)

#Holen der Daten aus der Datenbank
cursor = connection.cursor()
#Das Select-Statement
cursor.execute("""SELECT * from mitarbeiter WHERE name = Peter""")
row = cursor.fetchone()
#Den Wert der 2. Spalte in die Variable happy schreiben
happy = (row[1])
cursor.close()

#happy auswerten
if happy = 1
   moodpeter = "happy"
else
   moodpeter = "traurig"

#Button in Dauerschleife abfragen
while True:
    if GPIO.input(14) == 1:
        print ("Peter ist heute",moodpeter)

    time.sleep(0.2)

Das Script mittels SSH auf den Raspberry Pi laden und mit python3 script.py ausführen.

Fertig, nun wisst Ihr wie Ihr einen Taster mit dem Raspberry Pi beschalten könnt. In diesem weiteren Tutorial zeigen wir euch wie Ihr Feuchtigkeitssensoren wie den DHT11 oder DHT22 auslesen könnt.

Happy Testing und bei Fragen könnt Ihr gerne Kommentar hinterlassen 🙂

Die mobile Version verlassen