Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Raspberry Pi geautomatiseerde bewatering van planten met website

Stel uw Pi in om zorg automatisch voor een kamerplant door een vochtsensor te lezen en water te geven wanneer dat nodig is.

Verhaal

Dit bericht begint met twee feiten:

  • Ik heb een voorliefde voor het doden van planten.
  • Mensen in Nederland kweken dingen binnenshuis heel goed.

Nadat ik had gelezen over hoe goed dingen binnenshuis kunnen groeien, begon ik te denken dat automatisering misschien mijn pad naar gezonde planten was. Dus besloot ik het absolute minimum te bouwen:een plant, een pomp en een watersensor. Als de watersensor zegt "geen water hier", gebruik dan de pomp om daar water te zetten.

Ik heb ook besloten om het allemaal door een Raspberry Pi te laten lopen als excuus om met de RPi GPIO te communiceren.

Dit is hoe ik het deed!

Materialen:

  • Raspberry Pi 3
  • Bodemvochtsensor
  • Flexibele waterlijn
  • 5V relais
  • 3-6V mini micro-dompelpomp
  • TOLI 120-delige veelkleurige Dupont-draad
  • 5v-voeding (elke USB-kabel + USB-wandoplader

Bedrading:

Het eerste wat ik deed was mijn 5V-voeding maken van een USB-kabel. Met behulp van een oude iPhone-kabel knipte ik de iPhone-kant af en viste een rode en zwarte draad eruit. Ik heb hier wat stevigere draden aan gesoldeerd en deze in een muuradapter gestoken. Na controle met een voltmeter kreeg ik 5V output.

Nu tijd voor de GPIO.

RPi-bedrading:

Volgend op deze GPIO-indeling:

Watersensor – sluit de positieve kabel van de watersensor aan op pin 2 en de negatieve kabel op pin 6. Sluit de signaaldraad (geel) aan op pin 8.

Relais – Sluit de positieve kabel van pin 7 aan op IN1 op de relaiskaart. Sluit ook pin 2 aan op VCC en pin 5 op GND op het relaisbord.

Pomp – Sluit uw pomp aan op een stroombron, voer de zwarte aardedraad tussen slot B en C van relaismodule 1 (wanneer de RPi een LAAG signaal van 0 V naar pin 1 stuurt, wordt de circuit dat de pomp aanzet).

Dit diagram zou de juiste GPIO moeten vastleggen, zolang je Raspberry Pi 3 gebruikt. Niet weergegeven is een andere stroombron voor de RPi.

Hardware instellen:

Zodra de bedrading is voltooid, bevestigt u de flexibele slang aan de pomp (ik gebruikte elektrische tape) en laat u deze in een pot met water vallen. Bevestig het andere uiteinde van de slang aan uw plant.

Steek nu alle stroombronnen aan (en zorg ervoor dat je Raspberry Pi een versie van een besturingssysteem gebruikt, zoals deze hier).

Software

Opmerking:als je de bedrading precies krijgt zoals hierboven beschreven, zal mijn code in de volgende sectie werken zonder aanpassingen. Deze opstelling bestaat uit twee delen. Eén bestand bestuurt alle GPIO- en circuitlogica en het andere voert een lokale webserver uit.

Alle bestanden:

  • water.py
  • auto_water.py
  • web_plants.py
  • main.html

GPIO-script

Laten we beginnen met de code voor het besturen van de GPIO. Dit vereist de RPi.GPIO python-bibliotheek die als volgt op uw Raspberry Pi kan worden geïnstalleerd:

$> python3.4 -m pip install RPi.GPIO

Als dat is geïnstalleerd, zou je het water.py-script moeten kunnen gebruiken dat je hier kunt vinden. Je kunt testen of dit correct werkt door als volgt een interactieve python-sessie uit te voeren:

$> python3.4>>> import water>>> water.get_status()>>> water.pump_on() Dit zou een verklaring moeten afdrukken over of uw sensor nat of droog is (get_status()), en ook de pomp voor 1s. Als deze werken zoals verwacht, ben je in goede vorm.

Op dit punt kun je ook je watersensor kalibreren. Als uw plantstatus niet correct is, probeer dan de kleine schroef (potentiometer) op de sensor te draaien terwijl deze zich in vochtige grond bevindt totdat het 2e lampje gaat branden.

Flask-webserver

Het volgende aspect van dit project is het opzetten van de webserver. Deze code is hier te vinden in een bestand met de naam web_plants.py. Dit python-script voert een webserver uit die verschillende acties van het hierboven beschreven script mogelijk maakt.

Je moet web_plants.py in dezelfde directory houden als water.py en auto_water.py hierboven beschreven. Je hebt ook een submap nodig met de naam 'templates' met daarin het html-bestand hier main.html.

U moet flask en psutil als volgt installeren:

$> python3.4 -m pip install flask $> python3.4 -m pip install psutil

Zorg ervoor dat u het bestand web_plants.py in dezelfde map plaatst als het bovenstaande water.py-script. U moet ook een submap maken met de naam sjablonen en main.html in de sjablonenmap plaatsen. Voer nu de volgende opdracht uit om uw webserver te starten:

$> sudo python3.4 web_plants.py Als je nu naar het ip-adres van je RPi navigeert, zou je een webdashboard moeten zien dat er ongeveer zo uitziet:

Klik op de knoppen om er zeker van te zijn dat alles werkt zoals verwacht! Als dat zo is, ga je naar de races. hier is nog een geweldige tutorial die ik volgde op kolf + GPIO

Website automatisch uitvoeren

Ten slotte wilt u waarschijnlijk dat de website automatisch start wanneer de RPi wordt ingeschakeld. Dit kan worden gedaan met behulp van een tool genaamd cronjob, die uw website registreert als een opstartopdracht.

Typ hiervoor:

$> sudo crontab -e

Hiermee wordt een teksteditor weergegeven. Voeg een enkele regel toe die luidt (en zorg ervoor dat u een lege regel hieronder laat):

@reboot cd ; sudo python3.4 web_plants.py

Als je nu je pi opnieuw opstart, zou hij de server automatisch moeten starten.

Lees meer detail:Raspberry Pi geautomatiseerde bewatering van planten met website


Productieproces

  1. Temperatuur aflezen met DS18B20 | Raspberry Pi 2
  2. Raspberry Pi-gestuurde aquaponics
  3. Temperatuur meten met RASPBERRY PI
  4. Kamertemperaturen bewaken met Moteino's en Raspberry Pi
  5. Temperatuur bewaken met Raspberry Pi
  6. 1-draads temperatuursensor DS1820 op Raspberry Pi (direct GPIO)
  7. Ultrasone sensor (HC-SR04) + Raspberry Pi
  8. Lijnvolgsensor met RPi
  9. Bliksem detecteren met een Raspberry Pi
  10. Analoge sensoren zonder analoge ingangen op de Raspberry Pi
  11. Raspberry pi 2 wateralarm met t cobbler plus