Spisu treści:
- Krok 1: Potrzebne zasoby
- Krok 2: Asystent Google
- Krok 3: Cięcie przewodów
- Krok 4: Podłącz pompę do przekaźnika
- Krok 5: Podłączanie zasilacza do przekaźnika
- Krok 6: Podłączanie Raspberry Pi do przekaźnika
- Krok 7: Zabezpieczanie pompy
- Krok 8: Kierowanie wodą
- Krok 9: Składanie wszystkiego razem
- Krok 10: Testowanie pracy sprzętu
- Krok 11: Importowanie kolby
- Krok 12: Utwórz folder dla naszego programu i wejdź do niego
- Krok 13: Kodowanie serwera WWW
- Krok 14: Testowanie kodu działa
- Krok 15: Tunelowanie
- Krok 16: Instalacja Ngrok
- Krok 17: Testowanie Ngrok
- Krok 18: IFFF
- Krok 19: Gotowe
- Krok 20: Konkurencja IOT
Wideo: Ok Google Plant Waterer/pistolet wodny: 20 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
To zabawny projekt, który wykorzystuje Google Home lub dowolny telefon z asystentem Google do spryskiwania kogoś wodą lub podlewania niektórych roślin. Ma również wiele potencjalnych zastosowań do innych zastosowań, takich jak oświetlenie, ogrzewanie, wentylatory itp. Jeśli Ci się to podoba to zagłosuj na te projekty w konkursie IOT. Dziękuję.
Krok 1: Potrzebne zasoby
Będziesz potrzebować:
- Raspberry Pi (każdy model z dostępem do internetu)
- Pompa wodna 12 V (to ta, której użyłem)
- Zasilacz 12 v (użyj tego lub jednego leżącego w pobliżu)
- Przekaźnik 5v 2 kanałowy (jest to typ, którego użyłem)
- Niektóre smyczki żeńskie do żeńskich
- Plastikowe pudełko do przechowywania wody
- Jakiś sposób, żeby woda wypłynęła z pompy (zgiąłem plastikową rurkę, ale można było użyć słomki)
Użyliśmy przekaźników, ponieważ pozwala to zdalnie włączyć go za pomocą raspberry pi, zamiast fizycznie być tam, aby go włączyć, tak jak gdyby to był tylko przełącznik.
Krok 2: Asystent Google
Upewnij się, że masz jakiś sposób na dostęp do Asystenta Google. Możesz użyć Google Home lub telefonu.
Krok 3: Cięcie przewodów
Użyj przecinaków do drutu, aby odciąć, a następnie zdejmij końce z zasilacza 12 V i pompy, aby można je było przymocować do przekaźnika. Upewnij się, że rozebrać wystarczająco dużo osłony, aby umożliwić solidne połączenie.
Krok 4: Podłącz pompę do przekaźnika
- Odkręć środkowy zacisk na obu przekaźnikach
- Włóż przewody z pompy wodnej
- Wkręć ponownie
Krok 5: Podłączanie zasilacza do przekaźnika
- Odkręć zaciski
- Umieść przewody z zasilacza 12 V w
- Przykręć je z powrotem na miejsce
Krok 6: Podłączanie Raspberry Pi do przekaźnika
Podłącz raspberry pi do przekaźnika, jak pokazano na powyższym schemacie. Będziesz musiał podłączyć przekaźnik do masy, 5V i 2 pinów GPIO.
Krok 7: Zabezpieczanie pompy
Użyj kleju blu-tack lub taśmy klejącej, aby przymocować pompę do plastikowego pojemnika.
Krok 8: Kierowanie wodą
Jeśli chcesz, aby woda tryskała komuś w twarz, musisz to skierować. W tym celu zagiąłem plastikową rurkę opalarką do pokazanego powyżej kształtu. Następnie przykleiłem na górze pokrywkę długopisu. Alternatywnie możesz użyć słomki.
Jeśli chcesz podlać niektóre rośliny, możesz dodać plastikową rurkę lub wnętrze długopisu.
Krok 9: Składanie wszystkiego razem
Dodałem kolejne plastikowe pudełko i włożyłem do niego raspberry pi i przekaźnik, aby zapobiec zamoczeniu.
Powyżej zamieściłem schemat obwodu, aby obwód był nieco bardziej przejrzysty.
Krok 10: Testowanie pracy sprzętu
Aby przetestować pracę pompy uruchom poniższy kod na Raspberry Pi. Powinno to wyłączyć i ponownie włączyć pompę (lub odwrotnie).
z diody LED importu gpiozero
czas importu #to zaimportuje odpowiednie moduły, których potrzebujemy dla tego kodu
przekaźnik = LED(14)
relay2 = LED(15) #przypisanie przekaźników do LED
podczas gdy prawda:
relay.on() #zgadłeś… włączenie przekaźnika relay.off() #zgadłeś… wyłączenie przekaźnika time.sleep(1) #spanie przez 1 sekundę relay.on() #przekaźnik włączony relay.off () #czas wyłączenia.sleep(1) #sleeping
Krok 11: Importowanie kolby
Najłatwiejszym sposobem, w jaki asystent Google może kontrolować Raspberry Pi, jest nakłonienie go do hostowania serwera WWW. Możemy wtedy zmusić Google do odwiedzenia strony na tym serwerze, gdy tylko coś powiesz i zakodujesz raspberry pi, aby włączać i wyłączać przekaźnik, gdy serwer jest odwiedzany. Jeśli chcesz uzyskać bardziej szczegółowy samouczek dotyczący kolby: odwiedź ten samouczek autorstwa raspberry pi.
Na swoim raspberry pi zaimportuj moduł kolby na Pythona.
- Upewnij się, że masz połączenie z internetem
- Otwórz terminal
- Wpisz:
kolba instalacyjna sudo pip3
Jeśli to nie zadziała:
- Upewnij się, że masz połączenie z internetem
- Spójrz na ten przewodnik
Krok 12: Utwórz folder dla naszego programu i wejdź do niego
Zrób to, otwierając terminal i wpisując:
aplikacja internetowa mkdir
aplikacja internetowa na cd
Krok 13: Kodowanie serwera WWW
- Otwórz bezczynność 3
- Plik > Utwórz nowy
- Zapisz go w folderze aplikacji internetowej, który właśnie utworzyłeś
- Wstaw ten kod
from flask import Flaskfrom gpiozero import LED import time #to import modułów wymaganych dla tego projektu relay = LED(14) relay2 = LED(15) #przypisanie przekaźnikom aplikacji LED = Flask(_name_) #przypisanie Flask nazwy zmiennej, aby łatwiej jest uruchomić kod z nim później na @app.route('/', method=['GET']) #wykonanie GET na stronie internetowej """ta funkcja zwróci to, co jest wyświetlane na stronie głównej """ def index(): return 'Strona główna' @app.route('/on') #włączanie przekaźników poprzez funkcję poniżej """włączanie przekaźników i drukowanie hi, aby sprawdzić, czy funkcja działa poprawnie" "" def on(): print("hi") relay.on() relay2.off() return 'on' @app.route('/off') #wyłączenie przekaźników poprzez funkcję poniżej """wyłączanie wyłącz przekaźniki i wypisz hi, aby sprawdzić, czy funkcja działa poprawnie""" def off(): print("hi") relay.off() relay2.on() return 'off' @app.route('/go') #uruchomienie funkcji go """ta funkcja włącza przekaźniki, więc spryskuje wodę""" def go(): relay.on() r elay2.off() time.sleep(3) relay.off() relay2.on() return ('go') """dostęp do strony internetowej przez odpowiedni port (8000 jest zwykle domem) i hostem""" jeśli _name_ == '_main_': app.run(debug=True, port = 8000, host='0.0.0.0')
Komentarze wyjaśniają, co się dzieje w kodzie
Krok 14: Testowanie kodu działa
Otwórz przeglądarkę internetową i wprowadź adres URL
Powinieneś zobaczyć biały ekran, ale powinieneś być w stanie usłyszeć kliknięcie przekaźnika lub jeśli pompa jest podłączona, powinna działać.
Aby wyłączyć pompę, wejdź na
Uwaga: 127.0.0.1 oznacza „dom”, tj. ten komputer:5000 oznacza „port 5000”, czyli port, na którym działa serwer WWW. Jeśli to zadziała, możesz pójść o krok dalej:
1. Znajdź swój adres ip raspberry pis, wpisując:
nazwa hosta -I
2. Na dowolnym komputerze podłączonym do tego samego Wi-Fi co twoje pi odwiedzając adres pisipadress/on
To powinno włączyć przekaźnik.
To pokazuje, jak możesz kontrolować swoje raspberry pi z dowolnego komputera podłączonego do tego samego Wi-Fi, co raspberry pi.
Krok 15: Tunelowanie
Aby Google Home mógł odwiedzić tę witrynę, musisz utworzyć tunel, aby komputery, które nie są połączone z tym samym adresem IP, nadal można wyłączać i włączać przekaźnik. Możesz to zrobić za pomocą ngroka. Jest to program, który możesz zainstalować na raspberry pi, który pozwoli Ci wejść na stronę kolby z dowolnego komputera.
Odwiedź ich stronę internetową, aby uzyskać więcej informacji:
Krok 16: Instalacja Ngrok
Wpisz ten link na swoim raspberry pi: https://ngrok.com/download i postępuj zgodnie z instrukcjami, aby pobrać i skonfigurować ngrok.
Krok 17: Testowanie Ngrok
Upewnij się, że serwer kolb jest uruchomiony. Otwórz inny terminal i wpisz cd webapp
Następnie zacznij ngrok wpisując
./nrok http 5000
Powinno to pokazać adres URL, do którego powinieneś być w stanie przejść na dowolnym urządzeniu. Skopiuj to i wyślij do siebie, aby wykonać następny krok
Jeśli to nie zadziała:
- Upewnij się, że kolba jest uruchomiona
- Upewnij się, że używasz ngrok w tym samym folderze co program do kolb
- Upewnij się, że skopiowałeś właściwy link (zmienia się przy każdym ponownym uruchomieniu programu)
Krok 18: IFFF
IFFF: If This Then That jest darmowym programem, którego można użyć, aby Twój domowy Google odwiedzał serwer WWW, gdy coś mu powiesz, Aby to skonfigurować, wykonaj następujące kroki:
- Odwiedź stronę https://ifttt.com/ lub pobierz aplikację
- Utwórz konto
- Kliknij utwórz nowy aplet (czasami pod moimi apletami)
- Kliknij to
- Wyszukaj Google i wybierz Asystenta Google
- Kliknij powiedz proste zdanie
- Pod tym, co chcesz powiedzieć, umieść „aktywuj pistolet na wodę”
- Kliknij, aby utworzyć wyzwalacz
- Kliknij to
- Szukaj w internecie
- Kliknij webnooki
- Kliknij Złóż wniosek internetowy
- W polu URL wpisz adres URL, który podał ci wcześniej ngrok/go
- W sekcji Metoda wybierz GET
- W sekcji Treść wybierz tekst/zwykły
- Kliknij Utwórz
- Kliknij Zakończ
Krok 19: Gotowe
Teraz, gdy powiesz „hej google” (wstaw wybraną frazę), pompa powinna się włączyć.
Jeśli to nie działa (zajęło mi około 15 prób, aby działało):
- Upewnij się, że wszystkie programy są uruchomione
- Upewnij się, że wszystkie przewody są podłączone
- Upewnij się, że adres URL wprowadzony do IFTT jest najnowszym
- Upewnij się, że raspberry pi jest połączone z internetem
Krok 20: Konkurencja IOT
Jeśli podobał Ci się ten samouczek, zagłosuj na nas w konkursie IOT. Bardzo dziękuję.
Zalecana:
Alarm wodny choinki: 3 kroki
Alarm wody na choinkę: Jest to prosty przykładowy projekt, którego można użyć, jeśli masz prawdziwe drzewo na Boże Narodzenie i musisz się upewnić, że jest ono podlewane. Dorastając, pamiętam, że musieliśmy sięgnąć pod drzewo i pokręcić palcem po stojaku, aby zobaczyć, czy nie
Klepshydra – starożytny grecki zegar wodny: 8 kroków (ze zdjęciami)
Klepshydra – starożytny grecki zegar wodny: Jest to jedna z najstarszych metod pomiaru czasu – w niektórych kulturach (Egipt, Grecja, Persja i inne) została opracowana – i nadal jest w użyciu – tysiące lat temu. Dla mojego prostego modelu (a przynajmniej również oryginału to nie więcej niż to, ale
Automatyczny silnik wodny ze wskaźnikiem poziomu: 6 kroków (ze zdjęciami)
Automatyczny silnik wodny ze wskaźnikiem poziomu: Cześć wszystkim, witamy w kolejnej instrukcji. W tym projekcie nauczymy się tworzyć w pełni automatyczny kontroler poziomu wody w zbiorniku z funkcją wskaźnika poziomu wody przy użyciu Arduino Nano. Arduino jest mózgiem tego projektu. Będzie pobierać dane od
Pistolet wodny IOT/podlewacz roślin: 20 kroków
IOT Water Pistol / Plant Waterer: To zabawny projekt, który wykorzystuje Google Home lub dowolny telefon z asystentem Google do spryskiwania kogoś wodą lub podlewania niektórych roślin. Ma również wiele potencjalnych zastosowań do innych zastosowań, takich jak oświetlenie, ogrzewanie, wentylatory itp. Jeśli Ci się to podoba
Zawór wodny serwo: 5 kroków
Servo Water Valve: Mam inny projekt, czujnik wilgotności roślin, który może wykryć poziom wody w glebie. Jest to kontynuacja tego, więc możesz użyć danych dostarczanych przez czujnik, aby zrobić coś użytecznego (na przykład podlać roślinę). To jest całkowicie zrobione z domu