Inhoudsopgave:
- Stap 1: Wat heb je nodig?
- Stap 2: Dingen aansluiten
- Stap 3: Maak een nieuwe gegevensbron in Ubidots
- Stap 4: Selecteer Raspberry Pi als uw nieuwe gegevensbron
- Stap 5: Maak twee nieuwe variabelen
- Stap 6:
- Stap 7: Noteer de ID's van uw variabelen
- Stap 8: Widgets toevoegen aan uw dashboard
- Stap 9: Selecteer de Switch Widget
- Stap 10: Maak een indicatorwidget
- Stap 11: Klaar
- Stap 12: Uw Raspberry Pi coderen
- Stap 13: afronden
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Dit is een cool voorbeeld dat je leert hoe je een Raspberry Pi, een PiFace en Ubidots kunt gebruiken om je tuin van ver weg te bewateren. Je kunt een elektroventiel op afstand bedienen om je planten vanaf elke plek water te geven, gewoon met je telefoon.
Stap 1: Wat heb je nodig?
Nou, je hebt wat materialen nodig:
1. Raspberry Pi-model B
2. Een PiFace Digital
3. Een waterklep - 12V
4. Een flexibele draad (1Amp)
5. Een DC-aansluiting
6. Voedingsadapter (12V-DC 1000mA)
7. 3/4 PVC-schroefdraadkoppeling
8. Teflon-tape
9. Slang
10. Sproeier
11. Ubidots-account - of - STEM-licentie
Stap 2: Dingen aansluiten
1. Sluit de PiFace aan op de RaspberryPi zonder de voedingsadapter aan te sluiten.
2. Volg de afbeelding hierboven; Witte draad is aarde (GND) en is verbonden met de gemeenschappelijke aansluiting van de relaisschakelaar van de PiFace, terwijl de rode draad is verbonden met de NO-pin (Normaal Open).
Opmerking: Wat betreft de hydraulische aansluitingen, zorg ervoor dat u op elke koppeling teflontape gebruikt om te voorkomen dat het water lekt.
Stap 3: Maak een nieuwe gegevensbron in Ubidots
Als u nieuw bent bij Ubidots, gaat u naar www.ubidots.com en maakt u een account aan. Navigeer naar het tabblad "Bronnen" en klik op "Nieuwe gegevensbron toevoegen".
Stap 4: Selecteer Raspberry Pi als uw nieuwe gegevensbron
Selecteer het Raspberry Pi-pictogram en ga verder
Stap 5: Maak twee nieuwe variabelen
Klik op uw gegevensbron en maak twee nieuwe variabelen aan: "valve" en "relay_state".
Stap 6:
Stap 7: Noteer de ID's van uw variabelen
We hebben de id's van de variabelen nodig voor ons Raspberry Pi-programma. We hebben ook de API-sleutel van uw account nodig.
Stap 8: Widgets toevoegen aan uw dashboard
Klik op het tabblad "Dashboard" en klik op "Nieuwe widget toevoegen"
Stap 9: Selecteer de Switch Widget
Selecteer een Switch Widget en bind deze aan de variabele "valve". Deze widget schrijft "1" of "0" naar de variabele "valve", die we later van onze Raspberry Pi zullen opvragen.
Stap 10: Maak een indicatorwidget
Voeg nu nog een widget toe, selecteer het widgettype "indicator" en kies de variabele "valve_state"
Stap 11: Klaar
Nu hebben we een cool dashboard, laten we verder gaan met de code.
Stap 12: Uw Raspberry Pi coderen
We gaan ervan uit dat je een werkende Raspberry Pi hebt die verbonden is met internet. Zo niet, bekijk dan deze blogpost over het instellen van wifi in Raspberry Pi. Log vervolgens via een terminal in op uw Raspberry Pi en stel de SPI-module in om te communiceren met de PiFace Digital:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
Voeg een "#"-teken toe voor de regel spi-bcm2708, druk vervolgens op CTRL-X, typ Y en Enter. Hierdoor wordt SPI vanaf het opstarten ingeschakeld. Laten we nu de PiFace Digital-bibliotheek installeren en instellen:
sudo apt-get updatesudo apt-get install python3-pifacedigitalio python-pifacedigitalio
Start je Pi opnieuw op:
sudo reboot
Super goed! we zijn klaar om te beginnen met het coderen van ons project. Maak een nieuw bestand met de naam "valve.py" (door "nano valve.py" te typen) en plak de volgende code erin:
importeer pifacedigitalio #Bibliotheek voor pifacedigitalio van ubidots importeer ApiClient #Bibliotheek voor Ubidots
pifacedigital = pifacedigitalio. PiFaceDigital() #Declare piface object try: api = ApiClient("1fc7a56bf4b539725ace7a3f4aa623e9e9620612") #Vergeet niet om hier je eigen Apikey valve = api.get_variable('07531cd254cb70b) te plaatsen..get_variable("53ce95547625420403d81468") #Plaats hier uw echte ID's behalve: print("cant connect") #Controleer uw Apikey, variabele ID en internetverbinding terwijl(True): lastValue = valve.get_values(1) #Verkrijg de laatste waarde van klep van Ubidots rele = pifacedigital.relays[0].value #Save relay state valveState.save_value({'value':rele}) #Send relay state naar Ubidots voor een in lastValue: print a['value'] if(a['value']): #Schakel het relais in of uit pifacedigital.output_pins[0].turn_on() else: pifacedigital.output_pins[0].turn_off()
Stap 13: afronden
Gedaan! Nu heb je een op afstand geactiveerd systeem om je planten vanaf elke plek water te geven, gewoon met je telefoon of een webbrowser!