Inhoudsopgave:

Ok Google Plant Waterer/waterpistool - Ajarnpa
Ok Google Plant Waterer/waterpistool - Ajarnpa

Video: Ok Google Plant Waterer/waterpistool - Ajarnpa

Video: Ok Google Plant Waterer/waterpistool - Ajarnpa
Video: #My Toy my water gun# 2024, November
Anonim
Ok Google Plant Waterer/waterpistool
Ok Google Plant Waterer/waterpistool

Dit is een leuk project dat de Google Home of een telefoon met Google-assistent erop gebruikt om water naar iemand te sproeien of wat planten water te geven. Het heeft ook veel potentiële toepassingen voor andere toepassingen zoals verlichting, verwarming, ventilatoren enz. Als je dit leuk vindt, stem dan op deze projecten in de IOT-competitie. Bedankt.

Stap 1: Benodigde middelen

Benodigde middelen
Benodigde middelen

Je hebt het volgende nodig:

  • Een Raspberry Pi (elk model dat toegang heeft tot internet)
  • Een 12v waterpomp (dit is degene die ik heb gebruikt)
  • Een 12v-voeding (gebruik deze of een die rondslingert)
  • Een 5v 2-kanaals relais (dit is het type dat ik heb gebruikt)
  • Sommige vrouwelijke naar vrouwelijke jumperleads
  • Een plastic doos om water in te bewaren
  • Een manier om het water uit de pomp te spuiten (ik heb een plastic buis gebogen, maar je kunt gewoon een rietje gebruiken)

We gebruikten relais omdat het mogelijk is om het op afstand in te schakelen met de Raspberry Pi in plaats van fysiek aanwezig te zijn om het aan te zetten zoals je zou doen als het gewoon een schakelaar was.

Stap 2: Google Assistent

Zorg ervoor dat je op een of andere manier toegang hebt tot de Google-assistent. Je zou een Google Home of een telefoon kunnen gebruiken.

Stap 3: Draden snijden

Snijden van draden
Snijden van draden

Gebruik draadknippers om de uiteinden van uw 12v-voeding en pomp af te knippen en vervolgens te strippen, zodat ze aan het relais kunnen worden bevestigd. Zorg ervoor dat u voldoende van de huls stript om een stevige verbinding mogelijk te maken.

Stap 4: Bevestig de pomp aan het relais

Bevestig de pomp aan het relais
Bevestig de pomp aan het relais
  1. Schroef de middelste klem op beide relais los
  2. Plaats de draden van de waterpomp
  3. Schroef er weer in

Stap 5: Voeding aansluiten op relais

Voeding aansluiten op relais
Voeding aansluiten op relais
  1. Schroef de klemmen los
  2. Steek de draden van de 12v voeding erin
  3. Schroef ze terug op hun plaats

Stap 6: Raspberry Pi aansluiten op relais

Raspberry Pi verbinden met relais
Raspberry Pi verbinden met relais

Sluit de raspberry pi aan op het relais zoals weergegeven in het bovenstaande diagram. U moet het relais aansluiten op aarde, 5v en 2 GPIO-pinnen.

Stap 7: De pomp vastzetten

De pomp vastzetten
De pomp vastzetten

Gebruik blu-tack of ducttape om de pomp in een plastic container te bevestigen.

Stap 8: Water sturen

Water leiden
Water leiden
Water leiden
Water leiden

Als je wilt dat het water iemand in het gezicht spuit, moet het worden gericht. Om dit te doen heb ik een heteluchtpistool gebruikt om een plastic buis in de hierboven getoonde vorm te buigen. Ik heb toen een pennendop op de bovenkant geplakt. Als alternatief kunt u een rietje gebruiken.

Als je wat planten water wilt geven, kun je een plastic buisje of de binnenkant van een pen toevoegen.

Stap 9: Alles samenbrengen

Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten

Ik heb nog een plastic doos toegevoegd en de Raspberry pi en relais erin gedaan om te voorkomen dat hij nat wordt.

Ik heb hierboven een schakelschema opgenomen om het circuit een beetje duidelijker te maken.

Stap 10: Hardware-werken testen

Om de pompwerking te testen, voert u de volgende code uit op de Raspberry Pi. Dit zou de pomp uit en vervolgens aan moeten zetten (of andersom).

van gpiozero import LED

import time #this zal de relevante modules importeren die we nodig hebben voor deze code

relais = LED(14)

relais2 = LED (15) #toewijzen van de relais een LED

terwijl waar:

relay.on() #je raadt het al… het relais aanzetten relay.off() #je raadt het al… het relais uitschakelen time.sleep(1) #slapen voor 1 seconde relay.on() #relay on relay.off () #relay off time.sleep(1) #sleeping

Stap 11: Kolf importeren

De eenvoudigste manier voor de Google-assistent om de Raspberry Pi te besturen, is door hem een webserver te laten hosten. We kunnen Google vervolgens ertoe brengen een pagina op die server te bezoeken wanneer u iets zegt en de raspberry pi coderen om het relais in en uit te schakelen wanneer de server wordt bezocht. Als je een meer diepgaande tutorial van flask wilt, bezoek dan deze tutorial van raspberry pi.

Importeer op je raspberry pi de kolfmodule op python.

  1. Zorg ervoor dat je verbonden bent met internet
  2. Open een terminal
  3. Typ in:

sudo pip3 install flask

Als dit niet werkt:

  • Zorg ervoor dat je verbonden bent met internet
  • Bekijk deze gids

Stap 12: Maak een map voor ons programma en ga erin

Doe dit door een terminal te openen en in te typen:

mkdir-webapp

cd-webapp

Stap 13: Webserver coderen

  1. Open inactief 3
  2. Bestand > Nieuw maken
  3. Sla het op in de webapp-map die u zojuist hebt gemaakt
  4. Voer deze code in

from flask import Flaskfrom gpiozero import LED-importtijd #dit zijn importmodules die nodig zijn voor dit project relay = LED(14) relay2 = LED(15) #toewijzing van de relais een LED-app = Flask(_name_) #toewijzing van Flask een variabele naam zodat het is gemakkelijker om er later code mee uit te voeren @app.route('/', methods=['GET']) #doing a GET op de webpagina """deze functie retourneert wat wordt weergegeven op de hoofdpagina """ def index(): return 'Hoofdpagina' @app.route('/on') #de relais inschakelen via de onderstaande functie """de relais inschakelen en hi afdrukken om te controleren of de functie goed werkt" "" def on(): print("hi") relay.on() relay2.off() return 'on' @app.route('/off') #uitschakelen van de relais via onderstaande functie """draaien schakel de relais uit en druk hi af om te controleren of de functie goed werkt""" def off(): print("hi") relay.off() relay2.on() return 'off' @app.route('/go') #run de functie go """deze functie zet de relais aan zodat het water spuit""" def go(): relay.on() r elay2.off() time.sleep(3) relay.off() relay2.on() return ('go') """toegang tot de webpagina via de relevante poort (8000 is meestal thuis) en host""" als _name_ == '_main_': app.run(debug=True, poort = 8000, host='0.0.0.0')

De opmerkingen leggen uit wat er in de code gebeurt

Stap 14: Code testen werkt

Open uw webbrowser en voer de URL in

U zou een wit scherm moeten zien, maar u zou de klik van het relais moeten kunnen horen of als de pomp is aangesloten, moet deze aangaan.

Om de pomp uit te zetten, ga naar

Opmerking: 127.0.0.1 betekent 'thuis', d.w.z. deze computer:5000 betekent 'poort 5000', de poort waarop de webserver draait. Als dit werkt, kun je een stap verder gaan door:

1. Ontdek uw Raspberry Pis ip-adres door in te typen:

hostnaam -I

2. Op elke computer die is verbonden met dezelfde wifi als uw pi, bezoekt u het pisipadres/aan

Dit zou het relais moeten inschakelen.

Dit laat zien hoe u uw raspberry pi kunt bedienen vanaf elke computer die is aangesloten op dezelfde wifi als uw raspberry pi.

Stap 15: Tunnelen

Zodat de Google Home deze website kan bezoeken zul je een tunnel moeten maken zodat computers die niet op hetzelfde ip-adres zijn aangesloten het relais toch aan en uit kunnen zetten. U kunt dit doen met ngrok. Dit is een programma dat u op de Raspberry Pi kunt installeren en waarmee u de flask-website vanaf elke computer kunt bezoeken.

Bezoek hun website voor meer info:

Stap 16: Ngrok. installeren

Voer deze link in op je Raspberry Pi: https://ngrok.com/download en volg de instructies om ngrok te downloaden en in te stellen.

Stap 17: Ngrok. testen

Zorg ervoor dat uw flask-server actief is. Open een andere terminal en typ cd webapp

Start dan ngrok door in te typen

./ngrok http 5000

Dit zou u een URL moeten tonen waar u op elk apparaat naartoe zou moeten kunnen gaan. Kopieer dit en e-mail het naar jezelf voor de volgende stap

Als dit niet werkt:

  1. Zorg ervoor dat de fles loopt
  2. Zorg ervoor dat u ngrok in dezelfde map uitvoert als het flask-programma
  3. Zorg ervoor dat je de juiste link hebt gekopieerd (deze verandert elke keer dat je het programma opnieuw start)

Stap 18: IFFF

IFFF: If This Then That is een gratis programma dat kan worden gebruikt om uw Google Home een webserver te laten bezoeken wanneer u er iets tegen zegt, Volg deze stappen om dit in te stellen:

  1. Bezoek https://ifttt.com/ of download de app
  2. Account aanmaken
  3. Klik op nieuwe applet maken (soms onder mijn applets)
  4. Klik hier
  5. Zoek op Google en selecteer Google Assistent
  6. Klik op zeg een eenvoudige zin
  7. Zet onder wat je wilt zeggen "waterpistool activeren"
  8. Klik op trigger maken
  9. Klik dat
  10. Zoeken op internet
  11. Klik op webnooks
  12. Klik op Een webverzoek doen
  13. Voer onder URL de URL in die ngrok u eerder heeft gegeven/go
  14. Selecteer onder Methode GET
  15. Selecteer onder Inhoud tekst/plat
  16. Klik op Maken
  17. Klik op voltooien

Stap 19: Klaar

Als je nu hey google zegt (vul de zin in die je hebt gekozen), moet de pomp worden ingeschakeld.

Als dit niet werkt (het kostte me ongeveer 15 pogingen om het werkend te krijgen):

  1. Zorg ervoor dat alle programma's actief zijn
  2. Zorg ervoor dat alle kabels zijn aangesloten
  3. Zorg ervoor dat de URL die u in IFTT hebt ingevoerd de nieuwste is
  4. Zorg ervoor dat raspberry pi is verbonden met internet

Stap 20: IOT-competitie

Als je deze tutorial leuk vond, stem dan op ons in de IOT-competitie. Heel erg bedankt.

Aanbevolen: