Innehållsförteckning:

Automatiserad växtkruka - Little Garden: 13 steg (med bilder)
Automatiserad växtkruka - Little Garden: 13 steg (med bilder)

Video: Automatiserad växtkruka - Little Garden: 13 steg (med bilder)

Video: Automatiserad växtkruka - Little Garden: 13 steg (med bilder)
Video: KYCKLING TAPAKA. Enkelt recept för nybörjare!!! 2024, Juli
Anonim
Automatiserad växtkruka - Little Garden
Automatiserad växtkruka - Little Garden

Jag är student från Multimedia och kommunikationsteknik på Howest Kortrijk. För vårt sista uppdrag var vi tvungna att utveckla ett IoT -projekt efter eget val.

När jag letade efter idéer bestämde jag mig för att göra något användbart för min mamma som älskar att odla växter och började arbeta med en automatisk växtkruka.

Huvuduppgifterna för denna automatiska växtkruka, Little Garden, är att:

  • Mät

    • Temperatur
    • Ljusintensitet
    • Fuktighet
    • Markfuktighet

Spara mätningarna i en databas

Förbättra förutsättningarna för växttillväxten om ett visst värde är för lågt

Låt enheten övervakas och hanteras via en webbplats

Inte varje steg måste följas till märket. Mycket av det som händer kan vara din personliga preferens eller förbättras. Denna konstruktion gjordes på ett sätt så att delar kunde återhämtas efteråt, så du kanske vill närma dig din iteration annorlunda för att göra den mer permanent

Steg 1: Tillbehör

Tillbehör
Tillbehör
Tillbehör
Tillbehör
Tillbehör
Tillbehör

De flesta förnödenheter för detta projekt är inte särskilt svåra att skaffa, men i mitt fall arbetade jag med mycket återvunnet material. Jag var också tvungen att se till att jag kunde återhämta mig lite material efteråt.

Kärnkomponenter:

  • Raspberry Pi 4 modell B
  • Raspberry Pi strömförsörjning
  • Hallon Pi T-skomakare
  • 16 GB micro SD -kort
  • Brödbräda strömförsörjning med 3.3V och 5V
  • Bakbord
  • 12V strömförsörjning

Sensorer:

  • DHT11: Luftfuktighets- och temperatursensor
  • BH1750: Ljussensor
  • Jordfuktighetssensor
  • MCP3008

Ställdonets komponenter:

  • 220V vattenpump
  • 12V LED -remsa
  • Relämodul Velleman
  • TIPS 50: NPN -transistor
  • 16X2 LCD-moduke display
  • PCF8574a

Motstånd:

  • 3 x 330 Ohm motstånd
  • 1 x 5k Ohm motstånd
  • 2 x 10k Ohm motstånd
  • 1 x 1k Ohm motstånd
  • 1 x 10k Potentio -motstånd

Material:

  • Prefabricerat växthus/växtkruka
  • Kopplingsdosa
  • Vattenflaska i plast
  • Vridbara
  • Bygeltrådar + vanlig tråd
  • Skruvar
  • Lödtenn + värmekrympslang
  • Dubbelsidig dukband
  • Måla

Verktyg:

  • Limpistol
  • Borra
  • Sågblad
  • Lödkolv
  • Kartongkniv
  • Pensel

Det fina med det här projektet är att det kan utökas eller förenklas genom att lägga till/ta bort komponenter och justera koden något. Till exempel, genom att byta ut 220V -pumpen mot en 12V -pump, kan du ta bort en nätadapter från enheten.

Steg 2: Fritzing Schematic

Fritzing Schematisk
Fritzing Schematisk
Fritzing Schematisk
Fritzing Schematisk

Brödbrädan och elektriska scheman för enheten visas ovan. Här kan du se hur alla komponenter är sammankopplade.

En allmän förklaring av hur komponenterna fungerar:

  • DHT11 mäter luftfuktigheten i % och temperaturen i ° C. Kommunikationen med den hanteras av en I2C bu.
  • BH1750 mäter ljusintensiteten i lux. Kommunikationen hanteras av en I2C -buss
  • Jordfuktighetssensorn skapar en digital signal som omvandlas av MCP3008 till en läsbar digital signal för Raspberry Pi
  • 16x2 LCD-modulen visar IP-adresserna från Pi, den ena efter den andra. Den är ansluten till en PCF8574a som tar emot en signal från Raspberry Pi som kommer att konvertera den till ett antal signaler för skärmens bitstift. E- och RS -stiften från LCD -skärmen är anslutna direkt till Pi. Potentiomotståndet bestämmer skärmens ljusstyrka.
  • Vattenpumpen är ansluten till ett relä som är mellan den och dess 220V strömförsörjning/uttag. Raspberry Pi kan skicka en signal till reläet för att stänga den elektriska kretsen och slå på pumpen.
  • LED -remsan är ansluten till 12V -strömförsörjningen och TIP 50 (NPN -transistorn) som växlar den elektriska strömmen. 1k Ohm -motståndet används för att begränsa dragkraften från Raspberry Pi, annars skulle det stekas extra krispigt.

Steg 3: Förbered Raspberry Pi

Förbered Raspberry Pi
Förbered Raspberry Pi

Om du inte har en än måste du lägga en av Raspberry Pi OS -bilderna på SD -kortet. Jag rekommenderar inte att använda Lite, eftersom det orsakade problem i början. Efteråt måste du se till att din Pi är uppdaterad genom att använda följande kommandon medan Pi är ansluten till internet:

  1. sudo apt-get uppdatering
  2. sudo apt-get uppgradering

Därefter kan du aktivera eller installera paketen för att projektet ska fungera, antingen genom raspi-config eller kommandon.

  • SPI
  • I2C
  • MySQL: nästa steg
  • SocketIO: pip installera kolv-socketio

Efter installationen kan du lägga till nödvändiga filer som är skrivna i html, CSS, Javascript och Python. All min kod finns på mitt github -arkiv.

Steg 4: Databasmodell - MySQL

Databasmodell - MySQL
Databasmodell - MySQL

Ovan kan du se ERD -diagrammet som är värd via MariaDB. Jag rekommenderar att du följer denna MariaDB installationsguide, inte bara för att installera MariaDB, utan också för att se till att din Pi är skyddad.

För personer som vill förstå fungerar databasen enligt följande:

Mätningarna och ställdonets växlar lagras som rader i Metingen -tabellen.

  • metingId = ID för mät-/växlingsraden
  • deviceId = ID för enheten som är ansvarig för denna rad i tabellen
  • waarde = värdet på sensormätningen eller ställdonets växling

    • sensor: mätvärdet i motsvarande enheter
    • ställdon: 0 = AV och 1 = PÅ
  • commentaar = kommentarer som används för att lägga till extra information, till exempel fel
  • datum = datum och tid då mätningen/växlingen inträffade

Inställningarna för enheten lagras i Inställningar.

  • settingId = ID för denna rad och inställningsvärdet
  • deviceID = ID för motsvarande enhet/sensor
  • waarde = värde för inställningen
  • typ = typ av setin, är det maximalt eller minimum?

Sist men inte minst innehåller tabellen Enheter information om sensorer och ställdon.

  • deviceId = ID för enheten i denna tabell
  • naam = enhetens/komponentens namn
  • märke = märke
  • pris = komponentens pris
  • beschrijving = sammanfattning av komponenten
  • enhet = enhet för de uppmätta värdena
  • typeDevice = anger om komponenten är en sensor eller ställdon

Steg 5: Frontend: Konfigurera webbservern

Frontend: Konfigurera webbservern
Frontend: Konfigurera webbservern

Pi kräver att du installerar Apache -webbservern för att köra webbservern för den här enheten. Detta kan göras med följande kommando:

sudo apt-get install apache2.

När detta är gjort kan du navigera till mappen:/var/www/html. Här måste du placera all kod för frontend. Efteråt kan du komma åt webbplatsen genom att bläddra till IP -adressen.

Steg 6: Backend

För att köra backend måste du köra filen app.py, antingen manuellt eller genom att skapa en tjänst för den på Pi så att den startar automatiskt.

Som du kanske märker finns det ganska många filer. Jag separerade koden så mycket jag kunde för att få en tydlig översikt och organisation av koden.

En kort förklaring:

app.py: Huvudfilen där databasen, maskinvarukoden och backendkoden är sammanfogade

config.py: Konfigurationsfilen för databaseRepositories

Lagringsplatser: För åtkomst till datalageret

  • Hjälpare

    • devices_id: klasser för att identifiera enhetsinformationen i databasen
    • lcd: för att köra PCF och LCD
    • Ställdon: klasser för drift av ställdon
    • Sensorer: klasser för att köra sensorerna

Steg 7: Placering av LED -remsan

Placering av LED -remsan
Placering av LED -remsan

Jag klippte en bit av LED -remsan och limmade den på toppen av växthusboxen. Remsan jag använde kunde klippas på flera positioner och återanslutas, så att du kan placera flera remsor och ansluta dem igen efteråt genom ledningar, så att mer utrymme kan lysa upp.

Steg 8: Placera rören

Placera rören
Placera rören

Rören kan placeras på ett antal olika sätt, men i mitt fall har jag fäst dem på sidan av botten, håll dem så långt från den andra elektroniken som möjligt och låt vattnet helt enkelt rinna ut i smutsen.

Steg 9: Placera LCD -skärmen

Placera LCD -skärmen
Placera LCD -skärmen

Jag skar en hel i locket på kopplingsdosan med en sågklinga och skapade en öppning som var tillräckligt stor för att skärmen skulle ta sig igenom, men tillräckligt liten för att kretskortet skulle ligga bakom det. Efteråt fästes det på locket med skevheter.

LCD -skärmen visar Raspberry Pi: s IP -adresser, vilket gör det möjligt att veta vilken adress du kan använda för att surfa till webbplatsen.

Steg 10: Placera sensorerna och anslut LED -remsan

Placera sensorerna och ansluta LED -remsan
Placera sensorerna och ansluta LED -remsan
Placera sensorerna och ansluta LED -remsan
Placera sensorerna och ansluta LED -remsan

Med hjälp av fritz -scheman löd jag anslutningar mellan trådarna och placerade motstånden inuti trådarna med hjälp av värmekrymprör för att isolera dem.

Hål skars i sidorna av växthusets lock och botten för att fästa svängarna, genom vilka jag drog trådarna för sensorerna och LED -remsan.

Jag grupperade ledningarna efter funktion. Spänningen från ledningarna och krymprören i sig höll sensorerna. Jag var bara tvungen att använda lim på trådarna för DHT11 eftersom detta förlängdes ytterligare.

Steg 11: Anslut Pi

Anslutning av Pi
Anslutning av Pi
Anslutning av Pi
Anslutning av Pi
Anslutning av Pi
Anslutning av Pi

Jag skar hål i sidan av kopplingsdosan för att låta trådarna komma igenom senare.

Efter det placerade jag brödbrädan (med T-skomakaren, PCF8574a, MCP3008, justerbart motstånd och TIP50), relä och hallon Pi på botten av kopplingsdosan, som var täckt med dubbelsidig duktape. Strömförsörjningen passade inte på brödbrädan, så jag var tvungen att lägga den på sidan och använde bygelkablar för att ansluta den till brödbrädan.

Slutligen drog jag adaptern, sensorn och ställdonstrådarna genom hålen som kopplade ledningarna till brödbrädan, Raspberry Pi och andra komponenter. Pumpens ledning klipptes upp så att jag kunde placera ändarna inuti reläet så att den kunde användas som omkopplare.

Steg 12: Gör en behållare för vatten

Att göra en behållare för vatten
Att göra en behållare för vatten

Jag gjorde en vattenbehållare av en 1l plastvattenflaska genom att klippa toppen av med en lådskärare och måla den för ett bättre utseende. Vattenpumpen placerades sedan inuti. Orsaken till regeln att kommunicera kärl kan vattnet eventuellt rinna genom rören på egen hand, men att hålla röret upp löser problemet.

Steg 13: Slutresultat

Slutresultat
Slutresultat
Slutresultat
Slutresultat

Det ögonblick du har väntat på. Nu kan du placera smuts och frön inuti växthuslådan och låta enheten ta över. Du kan övervaka enhetens status från webbplatsen och ställa in de optimala värdena för belysning och markförhållanden.

Jag rekommenderar att vattna jorden först manuellt, eftersom lite smuts kan vara ganska torrt först. Vissa pumpar verkar också vattna ganska långsamt, men du måste vara mycket försiktig eftersom det kommer att fyllas upp snabbare än du förväntar dig. En mättnad på över 80% kan göra marken mycket fuktig. Och se till att jordfuktighetssensorn är tillräckligt djup.

Rekommenderad: