Bewässern Sie Ihre Pflanzen mit einem DIY Smart Sprinkler mit PiFace und Ubidots

Einer der Gründe, warum ich die meisten Kakteen zu Hause habe, ist, dass ich oft vergesse, meine Pflanzen zu gießen. Aus diesem Grund habe ich dieses Projekt entwickelt, um ein Elektroventil aus der Ferne zu steuern und meine Pflanzen von jedem Ort aus einfach mit meinem Telefon zu bewässern.

Am Ende dieses Tutorials sollten Sie in der Lage sein, Folgendes zu tun:

Materialien

  • Raspberry Pi Modell B:
  • Piface digital

  • Kunststoff-Wasserventil – 3/4″ – 12 V nominal

  • Flexibler Draht für 1A

  • DC-Hohlbuchse

  • 12 VDC 1000 mA geregeltes Schaltnetzteil

  • 3/4-Zoll-PVC-Gewindekupplung

  • Teflonband

  • Schlauch

  • Sprinkler

Verbindungen

Der elektrische Anschluss ist ganz einfach:

  • Verbinden Sie zunächst Ihr Piface mit dem Raspberry Pi, ohne ein Netzteil anzuschließen.
  • Befolgen Sie das Diagramm unten. Der weiße Draht ist GND und mit der gemeinsamen Klemme im Relais verbunden, der rote ist mit NO (normalerweise offen) verbunden.

Achten Sie bei den hydraulischen Anschlüssen darauf, an jeder Verbindung Teflonband zu verwenden, um ein Austreten von Wasser zu verhindern.

Richten Sie Ihr Ubidots -Konto, Variablen und Widgets ein

Wenn Sie neu bei Ubidots , erstellen Sie hier ein Konto .

  • Navigieren Sie zur Registerkarte „Quellen“ und fügen Sie eine neue Quelle hinzu.

  • Wählen Sie Raspberry Pi als Ihre neue Datenquelle und füllen Sie das Formular aus.

  • Klicken Sie nun auf die neue Quelle „My Raspberry Pi“

  • Fügen Sie zwei neue Variablen namens „valve“ und „relay_state“ hinzu und vergessen Sie nicht, die Felder Name und Einheit auszufüllen.

  • Notieren Sie sich die ID Ihrer Variablen:

  • Notieren Sie sich Ihren API-Schlüssel, den Sie unter „ Mein Profil –> API-Schlüssel “ finden.
  • Erstellen wir nun ein neues Widget zur Fernsteuerung des Ventils:

  • Wählen Sie das Widget „Schalter“ und binden Sie es an die Variable „Ventil“. Dieses Widget schreibt „1“ oder „0“ in die Variable „valve“, die wir später von unserem Raspberry Pi abfragen.

  • Fügen Sie ein weiteres Widget namens „Indikator“ hinzu und wählen Sie die Variable Valve_State:

  • So sieht Ihr dashboard jetzt aus:

Codierung

Bevor wir mit dem Codieren beginnen können, sollten Sie Ihren Raspberry Pi bereits mit dem Internet konfiguriert haben. Wenn nicht, lesen Sie diesen Blogbeitrag zum Einrichten von WLAN . Jetzt können wir weitermachen, uns über ein Terminal bei Ihrem Raspberry Pi anmelden und das SPI-Modul für die Kommunikation mit dem PiFace Digital einrichten:

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Fügen Sie vor der Zeile spi-bcm2708 ein „#“-Zeichen ein, drücken Sie dann STRG-X, geben Sie Y ein und drücken Sie die Eingabetaste. Dadurch wird SPI vom Booten an aktiviert. Jetzt installieren und richten wir die PiFace Digital-Bibliothek ein:

sudo apt-get update sudo apt-get install python3-pifacedigitalio python-pifacedigitalio

Starten Sie Ihren Pi neu:

Sudo-Neustart

Großartig! Wir sind bereit, mit der Codierung unseres Projekts zu beginnen. Erstellen Sie eine neue Datei mit dem Namen „valve.py“ und fügen Sie den folgenden Code ein:

sudo nano Valve.py

import pifacedigitalio #Library for pifacedigitalio #Library for delays from ubidots import ApiClient #Library for Ubidots pifacedigital = pifacedigitalio.PiFaceDigital() #Declare piface object ##Connect to Ubidots try: api = ApiClient("1fc7a56bf4b539725ace7a3f4aa623e9e9620612") #Don't forget to Geben Sie Ihren eigenen Apikey ein. Valve = api.get_variable('53cd4cb07625425b70f5c21e') #Geben Sie hier Ihre Ventil-IDs ein , Variablen-ID und Internetverbindung while(True): lastValue = Valve.get_values(1) #Den letzten Wert von Valve von Ubidots abrufen rele = pifacedigital.relays[0].value #Relaiszustand speichern ValveState.save_value({'value' :rele}) #Relaisstatus an Ubidots senden für a in lastValue: print a['value'] if(a['value']): #Relais ein- oder ausschalten pifacedigital.output_pins[0].turn_on() else : pifacedigital.output_pins[0].turn_off()

Führen Sie Ihr Programm aus:

$ sudo python Valve.py

Einpacken

In diesem Beispiel konnten wir ein Elektroventil mit Piface Digital steuern. Wir haben über das Ubidots dashboard einen Aktor ein- und ausgeschaltet, der es Ihnen ermöglichen sollte, fast jeden physischen Prozess zu steuern, solange er über ein Relais gesteuert werden kann.

Sie können Ubidots auch verwenden, um Zeitreihendaten wie Signalpegel zu messen, Warnungen auszulösen und andere Geräte zu steuern. Vielleicht möchten Sie sich diese anderen Beispiele ansehen:


Haben Sie weitere Projektideen? Erstellen Sie ein Ubidots -Konto und verwirklichen Sie sie.