Inhaltsverzeichnis:
- Schritt 1: Benötigte Ressourcen
- Schritt 2: Google Assistant
- Schritt 3: Drähte schneiden
- Schritt 4: Pumpe an Relais anschließen
- Schritt 5: Anschließen des Netzteils an das Relais
- Schritt 6: Raspberry Pi an Relais anschließen
- Schritt 7: Sichern der Pumpe
- Schritt 8: Wasser lenken
- Schritt 9: Alles zusammenfügen
- Schritt 10: Testen der Hardware funktioniert
- Schritt 11: Importieren von Flask
- Schritt 12: Erstellen Sie einen Ordner für unser Programm und gehen Sie hinein
- Schritt 13: Webserver codieren
- Schritt 14: Testcode funktioniert
- Schritt 15: Tunneln
- Schritt 16: Ngrok. installieren
- Schritt 17: Ngrok. testen
- Schritt 18: IFFF
- Schritt 19: Fertig
- Schritt 20: IOT-Wettbewerb
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Dies ist ein lustiges Projekt, das Google Home oder ein beliebiges Telefon mit Google Assistant verwendet, um Wasser auf jemanden zu sprühen oder einige Pflanzen zu gießen. Es hat auch viele potenzielle Anwendungsmöglichkeiten für andere Anwendungen wie Licht, Heizung, Ventilatoren usw. Wenn Ihnen das gefällt, dann stimmen Sie bitte für dieses Projekt im IOT-Wettbewerb ab. Vielen Dank.
Schritt 1: Benötigte Ressourcen
Sie benötigen Folgendes:
- Ein Himbeer-Pi (jedes Modell, das Zugang zum Internet hat)
- Eine 12-V-Wasserpumpe (Dies ist die, die ich verwendet habe)
- Ein 12-V-Netzteil (Verwenden Sie dieses oder ein herumliegendes)
- Ein 5v 2-Kanal-Relais (dies ist der Typ, den ich verwendet habe)
- Einige weibliche zu weibliche Überbrückungskabel
- Eine Plastikbox zum Aufbewahren von Wasser
- Irgendwie kann das Wasser aus der Pumpe gespritzt werden (ich habe ein Plastikrohr gebogen, aber du könntest einfach einen Strohhalm verwenden)
Wir haben Relais verwendet, da sie es ermöglichen, es mit dem Himbeer-Pi aus der Ferne einzuschalten, anstatt physisch vor Ort sein zu müssen, um es einzuschalten, wie wenn es nur ein Schalter wäre.
Schritt 2: Google Assistant
Stellen Sie sicher, dass Sie eine Möglichkeit haben, auf den Google-Assistenten zuzugreifen. Sie könnten ein Google Home oder ein Telefon verwenden.
Schritt 3: Drähte schneiden
Verwenden Sie einen Drahtschneider, um die Enden Ihrer 12-V-Versorgung und -Pumpe abzuschneiden und dann abzustreifen, damit sie am Relais befestigt werden können. Stellen Sie sicher, dass Sie genug von der Ummantelung entfernen, um eine feste Verbindung zu ermöglichen.
Schritt 4: Pumpe an Relais anschließen
- Schrauben Sie die mittlere Klemme an beiden Relais ab
- Kabel von der Wasserpumpe einführen
- Wieder einschrauben
Schritt 5: Anschließen des Netzteils an das Relais
- Klemmen abschrauben
- Legen Sie Drähte von der 12-V-Stromversorgung in
- Schrauben Sie sie wieder fest
Schritt 6: Raspberry Pi an Relais anschließen
Verbinden Sie Himbeer-Pi mit dem Relais, wie im obigen Diagramm gezeigt. Sie müssen das Relais an Masse, 5 V und 2 GPIO-Pins anschließen.
Schritt 7: Sichern der Pumpe
Verwenden Sie entweder Blu-Tack oder Klebeband, um die Pumpe in einem Plastikbehälter zu befestigen.
Schritt 8: Wasser lenken
Wenn Sie möchten, dass das Wasser jemandem ins Gesicht spritzt, muss es gerichtet werden. Dazu benutzte ich eine Heißluftpistole, um ein Plastikrohr in die oben gezeigte Form zu biegen. Ich habe dann einen Stiftdeckel auf die Oberseite geklebt. Alternativ können Sie auch einen Strohhalm verwenden.
Wenn Sie einige Pflanzen gießen möchten, können Sie ein Plastikrohr oder das Innere eines Stifts hinzufügen.
Schritt 9: Alles zusammenfügen
Ich fügte eine weitere Plastikbox hinzu und legte den Himbeer-Pi und das Relais hinein, um zu verhindern, dass es nass wird.
Ich habe oben einen Schaltplan eingefügt, um die Schaltung etwas klarer zu machen.
Schritt 10: Testen der Hardware funktioniert
Um die Pumpenfunktion zu testen, führen Sie den folgenden Code auf dem Himbeer-Pi aus. Dies sollte die Pumpe aus- und wieder einschalten (oder umgekehrt).
von gpiozero import LED
import time #this importiert die relevanten Module, die wir für diesen Code benötigen
Relais = LED(14)
Relais2 = LED(15) #den Relais eine LED zuordnen
während Wahr:
relay.on() #Sie haben es erraten… Relais einschalten relay.off() #Sie haben es erraten… Relais ausschalten time.sleep(1) #Schlafen für 1 Sekunde relay.on() #Relay on relay.off () #Relais aus Zeit.sleep(1) #schlafen
Schritt 11: Importieren von Flask
Der einfachste Weg für den Google Assistant, den Raspberry Pi zu steuern, besteht darin, ihn dazu zu bringen, einen Webserver zu hosten. Wir können dann Google dazu bringen, eine Seite auf diesem Server zu besuchen, wenn Sie etwas sagen, und das Himbeer-Pi codieren, um das Relais ein- und auszuschalten, wenn der Server besucht wird. Wenn Sie ein ausführlicheres Tutorial von Flask wünschen, besuchen Sie dieses Tutorial von Raspberry Pi.
Importieren Sie auf Ihrem Himbeer-Pi das Kolbenmodul auf Python.
- Stellen Sie sicher, dass Sie mit dem Internet verbunden sind
- Öffne ein Terminal
- Eintippen:
sudo pip3 installiere flasche
Wenn dies nicht funktioniert:
- Stellen Sie sicher, dass Sie mit dem Internet verbunden sind
- Schau dir diese Anleitung an
Schritt 12: Erstellen Sie einen Ordner für unser Programm und gehen Sie hinein
Öffnen Sie dazu ein Terminal und geben Sie Folgendes ein:
mkdir-Webapp
CD-Webapp
Schritt 13: Webserver codieren
- Leerlauf 3. öffnen
- Datei > Neu erstellen
- Speichern Sie es in dem soeben erstellten Web-App-Ordner
- Fügen Sie diesen Code ein
from Flask import Flaskfrom gpiozero import LED import time #Dies sind Importmodule, die für dieses Projekt benötigt werden es ist einfacher Code damit später in @app.route('/', method=['GET']) auszuführen #einen GET auf der Webseite ausführen """diese Funktion gibt zurück, was auf der Hauptseite angezeigt wird """ def index(): return 'Main page' @app.route('/on') #Einschalten der Relais durch die Funktion unten """Einschalten der Relais und Drucken von Hallo, um zu überprüfen, ob die Funktion richtig funktioniert" "" def on(): print("hi") relay.on() relay2.off() return 'on' @app.route('/off') #Abschalten der Relais durch die Funktion unten """turning schalte die Relais aus und drucke hi, um zu überprüfen, ob die Funktion richtig funktioniert""" def off(): print("hi") relay.off() relay2.on() return 'off' @app.route('/go') #die Funktion ausführen go """diese Funktion schaltet die Relais ein, damit sie Wasser versprüht""" def go(): relay.on() r elay2.off() time.sleep(3) relay.off() relay2.on() return ('go') """Zugriff auf die Webseite über den entsprechenden Port (8000 ist normalerweise Home) und Host""" if _name_ == '_main_': app.run(debug=True, port = 8000, host='0.0.0.0')
Die Kommentare erklären, was im Code vor sich geht
Schritt 14: Testcode funktioniert
Öffnen Sie Ihren Webbrowser und geben Sie die URL https://127.0.0.1:5000/on ein
Sie sollten einen weißen Bildschirm sehen, aber Sie sollten das Klicken des Relais hören können oder wenn die Pumpe eingesteckt ist, sollte sie angehen.
Um die Pumpe auszuschalten, gehen Sie zu
Hinweis: 127.0.0.1 bedeutet ‚home‘, d.h. dieser Computer:5000 bedeutet ‚Port 5000‘, das ist der Port, auf dem der Webserver läuft. Wenn dies funktioniert, können Sie noch einen Schritt weiter gehen, indem Sie:
1. Finden Sie Ihre Himbeer-Pis-IP-Adresse heraus, indem Sie Folgendes eingeben:
Hostname -I
2. Auf jedem Computer, der mit demselben WLAN wie Ihr Pi verbunden ist, besuchen Sie die pisipadress/on
Dies sollte das Relais einschalten.
Dies zeigt, wie Sie Ihren Himbeer-Pi von jedem Computer aus steuern können, der mit demselben WLAN wie Ihr Himbeer-Pi verbunden ist.
Schritt 15: Tunneln
Damit Google Home diese Website besuchen kann, müssen Sie einen Tunnel erstellen, damit Computer, die nicht mit derselben IP-Adresse verbunden sind, wie Sie das Relais aus- und einschalten können. Sie können dies mit ngrok tun. Dies ist ein Programm, das Sie auf dem Raspberry Pi installieren können, mit dem Sie die Flask-Website von jedem Computer aus besuchen können.
Besuchen Sie ihre Website für weitere Informationen:
Schritt 16: Ngrok. installieren
Geben Sie diesen Link auf Ihrem Raspberry Pi ein: https://ngrok.com/download und folgen Sie den Anweisungen zum Herunterladen und Einrichten von ngrok.
Schritt 17: Ngrok. testen
Stellen Sie sicher, dass Ihr Flaschenserver läuft. Öffnen Sie ein anderes Terminal und geben Sie cd webapp ein
Dann starte ngrok durch Eingabe
./ngrok http 5000
Dies sollte Ihnen eine URL anzeigen, die Sie auf jedem Gerät aufrufen können. Kopieren Sie dies und senden Sie es für den nächsten Schritt per E-Mail an sich selbst
Wenn dies nicht funktioniert:
- Stellen Sie sicher, dass die Flasche läuft
- Stellen Sie sicher, dass Sie ngrok im selben Ordner wie das Flask-Programm ausführen
- Stellen Sie sicher, dass Sie den richtigen Link kopiert haben (er ändert sich bei jedem Neustart des Programms)
Schritt 18: IFFF
IFFF: If This Then That ist ein kostenloses Programm, mit dem Ihr Google-Home einen Webserver besuchen kann, wenn Sie etwas dazu sagen.
Um dies einzurichten, gehen Sie wie folgt vor:
- Besuchen Sie entweder https://ifttt.com/ oder laden Sie die App herunter
- Ein Konto erstellen
- Klicken Sie auf Neues Applet erstellen (manchmal unter meinen Applets)
- Klicke hier
- Suchen Sie bei Google und wählen Sie Google Assistant
- Klicken Sie auf, sagen Sie einen einfachen Satz
- Setzen Sie unter das, was Sie sagen möchten, "Wasserpistole aktivieren"
- Klicken Sie auf Auslöser erstellen
- Klicke darauf
- Web durchsuchen
- Klicken Sie auf Webnooks
- Klicken Sie auf Webanfrage stellen
- Geben Sie unter URL die URL ein, die Ihnen ngrok früher gegeben hat/go
- Wählen Sie unter Methode GET
- Wählen Sie unter Inhalt Text/einfach aus
- Klicken Sie auf Erstellen
- Klicken Sie auf Fertig stellen
Schritt 19: Fertig
Wenn Sie jetzt "Hey Google" sagen (fügen Sie den von Ihnen gewählten Ausdruck ein), sollte sich die Pumpe einschalten.
Wenn dies nicht funktioniert (ich habe ungefähr 15 Versuche gebraucht, um es zum Laufen zu bringen):
- Stellen Sie sicher, dass alle Programme ausgeführt werden
- Stellen Sie sicher, dass alle Leads angeschlossen sind
- Stellen Sie sicher, dass die URL, die Sie in IFTT eingegeben haben, die neueste ist
- Stellen Sie sicher, dass Raspberry Pi mit dem Internet verbunden ist
Schritt 20: IOT-Wettbewerb
Wenn Ihnen dieses Tutorial gefallen hat, dann stimmen Sie bitte für uns im IOT-Wettbewerb. Ich danke dir sehr.