Inhoudsopgave:
- Stap 1: Benodigde middelen
- Stap 2: Google Assistent
- Stap 3: Draden snijden
- Stap 4: Bevestig de pomp aan het relais
- Stap 5: Voeding aansluiten op relais
- Stap 6: Raspberry Pi aansluiten op relais
- Stap 7: De pomp vastzetten
- Stap 8: Water sturen
- Stap 9: Alles samenbrengen
- Stap 10: Hardware-werken testen
- Stap 11: Kolf importeren
- Stap 12: Maak een map voor ons programma en ga erin
- Stap 13: Webserver coderen
- Stap 14: Code testen werkt
- Stap 15: Tunnelen
- Stap 16: Ngrok. installeren
- Stap 17: Ngrok. testen
- Stap 18: IFFF
- Stap 19: Klaar
- Stap 20: IOT-competitie
Video: Ok Google Plant Waterer/waterpistool - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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
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
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
- Schroef de middelste klem op beide relais los
- Plaats de draden van de waterpomp
- Schroef er weer in
Stap 5: Voeding aansluiten op relais
- Schroef de klemmen los
- Steek de draden van de 12v voeding erin
- Schroef ze terug op hun plaats
Stap 6: Raspberry Pi aansluiten op 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
Gebruik blu-tack of ducttape om de pomp in een plastic container te bevestigen.
Stap 8: Water sturen
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
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.
- Zorg ervoor dat je verbonden bent met internet
- Open een terminal
- 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
- Open inactief 3
- Bestand > Nieuw maken
- Sla het op in de webapp-map die u zojuist hebt gemaakt
- 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:
- Zorg ervoor dat de fles loopt
- Zorg ervoor dat u ngrok in dezelfde map uitvoert als het flask-programma
- 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:
- Bezoek https://ifttt.com/ of download de app
- Account aanmaken
- Klik op nieuwe applet maken (soms onder mijn applets)
- Klik hier
- Zoek op Google en selecteer Google Assistent
- Klik op zeg een eenvoudige zin
- Zet onder wat je wilt zeggen "waterpistool activeren"
- Klik op trigger maken
- Klik dat
- Zoeken op internet
- Klik op webnooks
- Klik op Een webverzoek doen
- Voer onder URL de URL in die ngrok u eerder heeft gegeven/go
- Selecteer onder Methode GET
- Selecteer onder Inhoud tekst/plat
- Klik op Maken
- 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):
- Zorg ervoor dat alle programma's actief zijn
- Zorg ervoor dat alle kabels zijn aangesloten
- Zorg ervoor dat de URL die u in IFTT hebt ingevoerd de nieuwste is
- 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:
Pixie - Let Your Plant Smart: 4 stappen (met afbeeldingen)
Pixie - Let Your Plant Smart: Pixie was een project dat is ontwikkeld met de bedoeling om de planten die we thuis hebben interactiever te maken, aangezien voor de meeste mensen een van de uitdagingen van het hebben van een plant in huis is om te weten hoe ze ervoor moeten zorgen, hoe vaak we water geven, wanneer en hoeveel
Plant'm: 6 stappen (met afbeeldingen)
Plant'm: Zoals de meesten vind ik het heerlijk om planten in huis te hebben. Helaas sterven ze bijna altijd binnen een paar weken. Dus toen ik aan het einde van mijn eerste jaar als student aan MCT bij Howest de taak kreeg om een project te maken dat alles zou laten zien
The Artificial Plant Emotion Expressor (A.P.E.X.): 7 stappen (met afbeeldingen)
The Artificial Plant Emotion Expressor (A.P.E.X.): Maar wacht… Er is meer
IoT Plant Monitoring System (met IBM IoT Platform): 11 stappen (met afbeeldingen)
IoT Plant Monitoring System (met IBM IoT Platform): Overzicht Het Plant Monitoring System (PMS) is een applicatie die is gebouwd met mensen die in de arbeidersklasse zitten met groene vingers in het achterhoofd. Tegenwoordig hebben werkende mensen het drukker dan ooit tevoren; het bevorderen van hun loopbaan en het beheren van hun financiën
Je plant water geven met een Arduino: 5 stappen (met afbeeldingen)
Je plant water geven met een Arduino: heb je een kamerplant die je leuk vindt, maar vergeet je hem te vaak water te geven? Deze Instructable legt uit hoe je een plantwatersysteem maakt dat wordt aangedreven door Arduino, en hoe je je plant een beetje meer persoonlijkheid kunt geven. Nadat je deze instructable hebt gevolgd t