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: IOT Waterpistool/plantenwaterer - 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
- zet draden van de 12v voeding in
- 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 importeert de relevante modules die we nodig hebben voor deze code relay = LED(14) relay2 = LED(15) #de relais een LED toewijzen terwijl True: relay.on() #u raadt het al… het relais aanzetten op relais.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) #slapen
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
uit kolf import Flask
from 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 een variabele naam aan Flask zodat het gemakkelijker is 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 de onderstaande functie """uitschakelen van de relais en hi afdrukken om te controleren of de functie goed werkt""" def off(): print("hi") relay.off() relay2.on() return 'off' @app.route('/go') #running de functie go """deze functie zet de relais aan zodat het water spuit""" def go(): relay.on() relay2.off() time.sleep(3) relay.off() relay2.on() return ('go') """toegang tot de webpagina via de relevante poort (8000 is meestal thuis) en host""" if _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 flaskserver 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 google en selecteer google assistent
- Klik op zeg een eenvoudige zin
- Zet onder wat je wilt zeggen "activeer waterpistool" of wat je maar wilt
- 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:
IoT Power Module: een functie voor het meten van IoT-vermogen toevoegen aan My Solar Charge Controller: 19 stappen (met afbeeldingen)
IoT Power Module: een functie voor het meten van IoT-vermogen toevoegen aan My Solar Charge Controller: Hallo allemaal, ik hoop dat jullie allemaal geweldig zijn! In deze instructable ga ik je laten zien hoe ik een IoT Power Measurement-module heb gemaakt die de hoeveelheid stroom berekent die wordt gegenereerd door mijn zonnepanelen, die wordt gebruikt door mijn zonnelaadcontroller t
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS: 5 stappen
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS: als u een persoon bent die van knutselen en elektronica houdt, komt u vaker wel dan niet de term Internet of Things tegen, meestal afgekort als IoT, en dat het verwijst naar een reeks apparaten die verbinding kunnen maken met internet! Zo iemand zijn
ESP8266 NODEMCU BLYNK IOT-zelfstudie - Esp8266 IOT Blunk en Arduino IDE gebruiken - Led's bedienen via internet: 6 stappen
ESP8266 NODEMCU BLYNK IOT-zelfstudie | Esp8266 IOT Blunk en Arduino IDE gebruiken | LED's bedienen via internet: Hallo jongens, in deze instructables zullen we leren hoe we IOT kunnen gebruiken met onze ESP8266 of Nodemcu. We zullen daarvoor de blynk-app gebruiken. Dus we zullen onze esp8266/nodemcu gebruiken om de LED's via internet te bedienen. Dus de Blynk-app wordt verbonden met onze esp8266 of Nodemcu
IoT Analoge Input - Aan de slag met IoT: 8 stappen
IoT Analoge Input - Aan de slag met IoT: Inzicht in analoge inputs is een cruciaal onderdeel om te begrijpen hoe de dingen om ons heen werken, de meeste, zo niet alle sensoren zijn analoge sensoren (soms worden deze sensoren omgezet naar digitaal). In tegenstelling tot digitale ingangen die alleen aan of uit kunnen staan, is analoge ingang
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