Indholdsfortegnelse:
- Trin 1: Forbrugsvarer
- Trin 2: Fritzing skematisk
- Trin 3: Forbered Raspberry Pi
- Trin 4: Databasemodel - MySQL
- Trin 5: Frontend: Opsætning af webserveren
- Trin 6: Backend
- Trin 7: Placering af LED Strip
- Trin 8: Placering af rørene
- Trin 9: Placering af LCD -skærmen
- Trin 10: Placering af sensorerne og tilslutning af LED -stripen
- Trin 11: Tilslutning af Pi
- Trin 12: Lav en beholder til vand
- Trin 13: Endeligt resultat
Video: Automatiseret plantepotte - lille have: 13 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Jeg er studerende fra multimedie- og kommunikationsteknologi på Howest Kortrijk. Til vores sidste opgave måtte vi udvikle et IoT -projekt efter eget valg.
Da jeg ledte efter ideer, besluttede jeg mig for at gøre noget nyttigt for min mor, der elsker at dyrke planter og begyndte at arbejde på en automatiseret plantekrukke.
Hovedopgaverne for denne automatiserede plantekrukke, Little Garden, er at:
-
Mål
- Temperatur
- Lysintensitet
- Fugtighed
- Jordfugtighed
Gem målingerne i en database
Forbedre betingelserne for plantevækst, hvis en bestemt værdi er for lav
Lad enheden overvåges og administreres via et websted
Ikke hvert trin skal følges til mærket. Meget af det, der sker, kan være din personlige præference eller blive forbedret. Denne konstruktion blev lavet på en måde, så dele kunne genoprettes bagefter, så du vil måske nærme dig din iteration anderledes for at gøre den mere permanent
Trin 1: Forbrugsvarer
De fleste forsyninger til dette projekt er ikke særlig vanskelige at erhverve, selvom jeg i mit tilfælde har arbejdet med mange genbrugsmaterialer. Jeg var også nødt til at sikre, at jeg kunne genvinde nogle materialer bagefter.
Kernekomponenter:
- Raspberry Pi 4 model B
- Raspberry Pi strømforsyning
- Raspberry Pi T-skomager
- 16 GB micro SD -kort
- Breadboard strømforsyning med 3,3V og 5V
- Brødbræt
- 12V strømforsyning
Sensorer:
- DHT11: Fugtigheds- og temperatursensor
- BH1750: Lysintensitetssensor
- Jordfugtighedsføler
- MCP3008
Aktuatorkomponenter:
- 220V vandpumpe
- 12V LED strip
- Relæmodul Velleman
- TIP 50: NPN -transistor
- 16X2 LCD-moduke display
- PCF8574a
Modstande:
- 3 x 330 Ohm modstande
- 1 x 5k Ohm modstand
- 2 x 10k Ohm modstande
- 1 x 1k Ohm modstand
- 1 x 10k Potentio modstand
Materialer:
- Præfabrikeret drivhus/plantekrukke
- Samledåse
- Vandflaske i plast
- Drejeligt
- Jumper ledninger + almindelig ledning
- Skruer
- Loddeform + krympeslange
- Dobbeltsidet tape
- Maling
Værktøjer:
- Limpistol
- Bore
- Savklinge
- Loddekolbe
- Hobbykniv
- Pensel
Det pæne ved dette projekt er, at det kan udvides eller forenkles ved at tilføje/fjerne komponenter og lidt justere koden. For eksempel ved at udskifte 220V -pumpen med en 12V -pumpe kan du fjerne en strømadapter fra enheden.
Trin 2: Fritzing skematisk
Brødbrættet og elektriske ordninger for enheden er vist ovenfor. Her kan du se, hvordan alle komponenter er forbundet med hinanden.
En generel forklaring på, hvordan komponenterne fungerer:
- DHT11 måler luftfugtigheden i % og temperaturen i ° C. Kommunikationen med den varetages af en I2C bu.
- BH1750 måler lysintensiteten i lux. Kommunikationen håndteres af en I2C -bus
- Jordfugtighedsføleren skaber et digitalt signal, der omdannes af MCP3008 til et læseligt digitalt signal til Raspberry Pi
- 16x2 LCD-modulet viser IP-adresserne fra Pi, den ene efter den anden. Den er forbundet til en PCF8574a, der modtager et signal fra Raspberry Pi, der konverterer det til et antal signaler for skærmens bitpinde. E- og RS -benene fra LCD'et er forbundet direkte til Pi. Potentiomodstanden bestemmer skærmens lysstyrke.
- Vandpumpen er forbundet til et relæ, der er mellem den og dens 220V strømforsyning/stikkontakt. Raspberry Pi kan sende et signal til relæet for at lukke det elektriske kredsløb og tænde pumpen.
- LED -båndet er forbundet til 12V strømforsyningen og TIP 50 (NPN transistor), der skifter den elektriske strøm. 1k Ohm modstanden bruges til at begrænse den trukne effekt fra Raspberry Pi, ellers ville den blive stegt ekstra sprød.
Trin 3: Forbered Raspberry Pi
Hvis du ikke har fået en endnu, skal du lægge et af Raspberry Pi OS -billederne på SD -kortet. Jeg anbefaler ikke at bruge Lite, da dette forårsagede problemer i starten. Bagefter skal du sikre dig, at din Pi er opdateret ved at bruge følgende kommandoer, mens Pi er forbundet til internettet:
- sudo apt-get opdatering
- sudo apt-get opgradering
Derefter kan du aktivere eller installere pakkerne, så projektet kan fungere, enten via raspi-config eller kommandoer.
- SPI
- I2C
- MySQL: næste trin
- SocketIO: pip installer kolbe-socketio
Efter opsætningen kan du tilføje de nødvendige filer, der er skrevet i html, CSS, Javascript og Python. Al min kode kan findes på mit github -lager.
Trin 4: Databasemodel - MySQL
Ovenfor kan du se ERD -diagrammet, der er hostet gennem MariaDB. Jeg anbefaler at følge denne MariaDB installationsvejledning, ikke kun for at installere MariaDB, men også for at sikre, at din Pi er beskyttet.
For folk, der gerne vil forstå, fungerer databasen som følger:
Målingerne og aktuatorskiftene gemmes som rækker i Metingen -tabellen.
- metingId = ID for måling/skift række
- deviceId = ID for den enhed, der er ansvarlig for denne række i tabellen
-
waarde = værdien af sensormålingen eller aktuatorskift
- sensor: værdien af målingen i de tilsvarende enheder
- aktuatorer: 0 = OFF og 1 = ON
- commentaar = kommentarer, der bruges til at tilføje ekstra oplysninger, f.eks. fejl
- datum = den dato og det tidspunkt, hvor målingen/skiftet fandt sted
Indstillingerne for enheden gemmes i Indstillinger.
- settingId = ID for denne række og indstillingsværdien
- deviceID = ID for den tilsvarende enhed/sensor
- waarde = værdien af indstillingen
- type = typen af settinet, er det maksimum eller minimum?
Sidst men ikke mindst indeholder tabellen Enheder oplysninger om sensorer og aktuatorer.
- deviceId = ID for enheden i denne tabel
- naam = navn på enheden/komponenten
- mærke = mærke
- pris = komponentens pris
- beschrijving = sammendrag af komponenten
- enhed = enhed for de målte værdier
- typeDevice = angiver, om komponenten er en sensor eller aktuator
Trin 5: Frontend: Opsætning af webserveren
Pi vil kræve, at du installerer Apache -webserveren for at køre webserveren til denne enhed. Dette kan gøres med følgende kommando:
sudo apt-get install apache2.
Når dette er gjort, kan du navigere til mappen:/var/www/html. Her skal du placere al koden til frontend. Bagefter kan du få adgang til webstedet ved at gå til IP -adressen.
Trin 6: Backend
For at køre backend skal du køre appen app.py, enten manuelt eller ved at oprette en service til den på Pi, så den starter automatisk.
Som du måske bemærker, er der en del filer. Jeg adskilte koden så meget som jeg kunne for at få et klart overblik og organisering af koden.
En kort forklaring:
app.py: Hovedfilen, hvor databasen, hardwarekoden og backend -koden er forbundet
config.py: Konfigurationsfilen til databaseRepositories
Lagre: Til adgang til datalageret
-
Hjælper
- devices_id: klasser, der hjælper med at identificere enhedsoplysninger i databasen
- lcd: for at køre PCF og LCD
- Aktuatorer: klasser til drift af aktuatorerne
- Sensorer: klasser til kørsel af sensorerne
Trin 7: Placering af LED Strip
Jeg skar et stykke af LED -strimlen og limede det fast på toppen af drivhuskassen. Strimlen, jeg brugte, kunne skæres i flere positioner og tilsluttes igen, så du kunne placere flere strimler og forbinde dem igen bagefter gennem ledninger, så der kunne lyses mere plads op.
Trin 8: Placering af rørene
Rørene kunne placeres på en række måder, men i mit tilfælde satte jeg dem fast på siden af bunden, holdt dem så langt fra den anden elektronik som muligt og lod vandet simpelthen strømme ind i snavs.
Trin 9: Placering af LCD -skærmen
Jeg skar en hel i låget på forbindelsesboksen med en savklinge og skabte en åbning, der var stor nok til, at displayet kunne komme igennem, men lille nok, så printkortet ville blive bagved det. Bagefter blev det fastgjort til låget ved hjælp af skævheder.
LCD'et viser Raspberry Pi's IP -adresser, hvilket gør det muligt at vide, hvilken adresse du kan bruge til at surfe til webstedet.
Trin 10: Placering af sensorerne og tilslutning af LED -stripen
Ved hjælp af fritz -ordningerne lodde jeg forbindelser mellem ledningerne og placerede modstandene inde i ledningerne ved hjælp af varmekrympeslanger til at isolere dem.
Der blev skåret huller i siderne af drivhusets låg og bund for at fastgøre drejerne, hvorigennem jeg trak ledningerne til sensorerne og LED -strimlen.
Jeg grupperede ledningerne efter funktion. Spændingen fra ledningerne og krympeslangerne holdt sensorerne oppe. Jeg måtte kun bruge lim på ledningerne til DHT11, da dette forlængede sig yderligere.
Trin 11: Tilslutning af Pi
Jeg skar huller i siden af samlingsboksen for at lade ledningerne komme igennem senere.
Herefter placerede jeg brødbrættet (med T-skomageren, PCF8574a, MCP3008, justerbar modstand og TIP50), relæ og Raspberry Pi på bunden af forbindelsesboksen, som var dækket med dobbeltsidet duktape. Strømforsyningen passede ikke på brødbrættet, så jeg måtte lægge den på siden og brugte jumperwires til at forbinde den med brødbrættet.
Til sidst trak jeg adapteren, sensoren og aktuatorledningerne gennem hullerne, der sluttede ledningerne til brødbrættet, Raspberry Pi og andre komponenter. Tråden på pumpen blev skåret op, så jeg kunne placere enderne inde i relæet, så den kunne bruges som switch.
Trin 12: Lav en beholder til vand
Jeg lavede en vandbeholder fra en 1 l plastikflaske ved at skære toppen af med en bokseskærer og male den for et bedre udseende. Vandpumpen blev derefter placeret indeni. Årsagen til reglen om kommunikation af fartøjer kan vandet potentielt strømme gennem rørene på egen hånd, men ved at holde røret løst problemet.
Trin 13: Endeligt resultat
Det øjeblik, du har ventet på. Nu kan du placere snavs og frø inde i drivhuskassen og lade enheden overtage. Du kan overvåge enhedens status fra webstedet og indstille de optimale værdier for belysning og jordforhold.
Jeg anbefaler at vande jorden først manuelt, da noget snavs kan være temmelig tørt i starten. Nogle pumper ser også ud til at vande ganske langsomt, men du skal være meget forsigtig, da den fyldes hurtigere, end du ville forvente. En mætning på over 80% kan gøre jorden meget fugtig. Og sørg for, at jordfugtighedsføleren er dyb nok.
Anbefalede:
Akvariedesign med automatiseret kontrol af grundlæggende parametre: 4 trin (med billeder)
Akvariedesign med automatiseret styring af grundlæggende parametre: Introduktion I dag er havakvariumpleje tilgængelig for alle akvarister. Problemet med at anskaffe et akvarium er ikke svært. Men for beboernes fulde livsstøtte, beskyttelse mod tekniske fejl, let og hurtig vedligeholdelse og pleje
Automatiseret modelbanelayout med to tog (V2.0) - Arduino baseret: 15 trin (med billeder)
Automatiseret modelbanelayout med to tog (V2.0) | Arduino baseret: Automatisering af modeljernbanelayouter ved hjælp af Arduino mikrokontroller er en fantastisk måde at flette mikrokontrollere, programmering og modeljernbaner til en hobby. Der er en masse projekter til rådighed om at køre et tog autonomt på en model railroa
Garduino - den smarte have med Arduino: 4 trin (med billeder)
Garduino - den smarte have med Arduino: I disse dage er ingen uskyldige. Er der nogen, der ikke ved et uheld dræbte en plante ??? Det er svært at holde dine planter i live. Du køber et nyt anlæg, og i værste fald glemmer du bare at vande det. I bedre tilfælde husker du, at den eksisterer, men du gør
Ren luftboble - din sikre atmosfære at have på: 6 trin (med billeder)
Ren luftboble - din trygge atmosfære at have på: I denne instruktionsbog vil jeg beskrive, hvordan du kan bygge et ventilationssystem ind i dit tøj, der giver dig en strøm af ren og filtreret vejrtrækningsluft. To radiale ventilatorer er integreret i en sweater ved hjælp af brugerdefinerede 3d-printede dele, der e
OVERVÅG DIN HAVE: 16 trin (med billeder)
OVERVÅG DIN HAVE: Overvåg din have hvor som helst, brug lokalt display til at overvåge jordforholdene lokalt eller brug Mobile til at overvåge fra fjernbetjening. Kredsløbet bruger jordfugtighedsføler, kombineret med temperatur og fugtighed til at gøre opmærksom på jordens omgivende tilstand