Kazalo:

Samodejni lonec za rastline - Mali vrt: 13 korakov (s slikami)
Samodejni lonec za rastline - Mali vrt: 13 korakov (s slikami)

Video: Samodejni lonec za rastline - Mali vrt: 13 korakov (s slikami)

Video: Samodejni lonec za rastline - Mali vrt: 13 korakov (s slikami)
Video: Как сделать стяжку с шумоизоляцией в квартире. #18 2024, November
Anonim
Avtomatiziran lonec za rastline - Mali vrt
Avtomatiziran lonec za rastline - Mali vrt

Sem študentka Multimedijske in komunikacijske tehnologije na Howest Kortrijk. Za zadnjo nalogo smo morali po lastni izbiri razviti projekt IoT.

Ko sem iskal ideje, sem se odločil, da bom naredil nekaj koristnega za mojo mamo, ki obožuje gojenje rastlin, in začel delati na avtomatiziranem loncu za rastline.

Glavne naloge tega avtomatiziranega lončka za rastline, Little Garden, so:

  • Izmerite

    • Temperatura
    • Intenzivnost svetlobe
    • Vlažnost
    • Vlažnost tal

Shranite meritve v bazo podatkov

Izboljšajte pogoje za rast rastlin, če je določena vrednost prenizka

Naj bo naprava nadzorovana in upravljana prek spletnega mesta

Ni treba slediti vsakemu koraku do cilja. Veliko tega, kar se zgodi, je lahko vaša osebna želja ali pa se izboljša. Ta gradnja je bila narejena tako, da bi se lahko deli pozneje rekuperirali, zato boste morda želeli k svoji iteraciji pristopiti drugače, da bo trajnejša

1. korak: Zaloge

Zaloge
Zaloge
Zaloge
Zaloge
Zaloge
Zaloge

Večine zalog za ta projekt ni težko dobiti, čeprav sem v svojem primeru delal z veliko recikliranimi materiali. Prav tako sem moral zagotoviti, da lahko pozneje obnovim nekaj materiala.

Temeljne komponente:

  • Raspberry Pi 4 model B
  • Napajanje z Raspberry Pi
  • Raspberry Pi T-čevljar
  • 16GB micro SD kartica
  • Napajalnik na plošči z 3.3V in 5V
  • Ogledna plošča
  • 12V napajanje

Senzorji:

  • DHT11: Senzor vlažnosti in temperature
  • BH1750: Senzor jakosti svetlobe
  • Senzor vlažnosti tal
  • MCP3008

Sestave pogona:

  • 220V vodna črpalka
  • 12V LED trak
  • Relejni modul Velleman
  • NAMIG 50: NPN tranzistor
  • 16X2 LCD-modularni zaslon
  • PCF8574a

Upori:

  • 3 x 330 ohmski upori
  • 1 x 5k ohmski upor
  • 2 upora 10 x Ohm
  • 1 x 1k ohmski upor
  • 1 x 10k potencialni upor

Materiali:

  • Montažni rastlinjak/lonec za rastline
  • Razvodna škatla
  • Plastična steklenica za vodo
  • Vrtljiva
  • Mostične žice + običajna žica
  • Skrews
  • Spajkalnik + toplotno skrčljiva cev
  • Dvostranski ducktap
  • Barvanje

Orodja:

  • Pištola za lepilo
  • Vrtalnik
  • Rezilo žage
  • Spajkalnik
  • Rezalnik za škatle
  • Čopič

Lepa stvar pri tem projektu je, da ga je mogoče razširiti ali poenostaviti z dodajanjem/odstranjevanjem komponent in rahlim spreminjanjem kode. Na primer, če zamenjate črpalko 220V z črpalko 12V, lahko odstranite napajalnik iz naprave.

2. korak: Shema zmrzovanja

Shema zmrzovanja
Shema zmrzovanja
Shema zmrzovanja
Shema zmrzovanja

Osnovne in električne sheme za napravo so prikazane zgoraj. Tukaj lahko vidite, kako so vse komponente povezane skupaj.

Splošna razlaga delovanja komponent:

  • DHT11 meri zračno vlago v % in temperaturo v ° C. Komunikacijo z njim vodi I2C bu.
  • BH1750 meri jakost svetlobe v luksih. Komunikacijo vodi vodilo I2C
  • Senzor vlažnosti tal ustvari digitalni signal, ki ga MCP3008 pretvori v berljiv digitalni signal za Raspberry Pi
  • LCD-modul 16x2 prikazuje naslove IP iz Pi, eden za drugim. Povezan je z računalnikom PCF8574a, ki sprejema signal od Raspberry Pi, ki ga pretvori v številne signale za bitne zatiče zaslona. Zatiči E in RS z LCD -ja so povezani neposredno na Pi. Potencialni upor določa svetlost zaslona.
  • Vodna črpalka je priključena na rele, ki je med njim in 220V napajanjem/vtičnico. Raspberry Pi lahko pošlje signal releju, da zapre električni tokokrog in vklopi črpalko.
  • LED trak je priključen na 12V napajanje in TIP 50 (NPN tranzistor), ki preklopi električni tok. Upor 1k Ohm se uporablja za omejevanje črpanja moči iz Raspberry Pi, sicer bi ga ocvrli še posebej hrustljavo.

3. korak: Pripravite Raspberry Pi

Pripravite Raspberry Pi
Pripravite Raspberry Pi

Če je še nimate, boste morali eno od slik Raspberry Pi OS postaviti na kartico SD. Ne priporočam uporabe Lite, ker mi je to na začetku povzročilo težave. Nato se morate prepričati, da je vaš Pi posodobljen z naslednjimi ukazi, ko je Pi povezan z internetom:

  1. sudo apt-get posodobitev
  2. sudo apt-get nadgradnja

Nato lahko omogočite ali namestite pakete, da bo projekt deloval, bodisi prek raspi-config ali ukazov.

  • SPI
  • I2C
  • MySQL: naslednji korak
  • SocketIO: pip install flask-socketio

Po namestitvi lahko dodate potrebne datoteke, zapisane v html, CSS, Javascript in Python. Vso mojo kodo lahko najdete v mojem skladišču github.

4. korak: Model zbirke podatkov - MySQL

Model baze podatkov - MySQL
Model baze podatkov - MySQL

Zgoraj si lahko ogledate diagram ERD, ki gostuje prek MariaDB. Priporočam, da sledite tem navodilom za namestitev MariaDB, ne samo za namestitev MariaDB, ampak tudi za zaščito vašega Pi.

Za ljudi, ki bi radi razumeli, zbirka podatkov deluje na naslednji način:

Meritve in stikala aktuatorja so shranjeni kot vrstice v tabeli Metingen.

  • metingId = ID vrstice meritve/preklopa
  • deviceId = ID naprave, odgovorne za to vrstico v tabeli
  • waarde = vrednost meritve senzorja ali preklopa aktuatorja
    • senzor: vrednost meritve v ustreznih enotah
    • pogoni: 0 = OFF in 1 = ON
  • komentar = komentarji, uporabljeni za dodajanje dodatnih informacij, na primer napak
  • datum = datum in čas, ko je bila izvedena meritev/preklop

Nastavitve naprave so shranjene v nastavitvah.

  • settingId = ID te vrstice in vrednost nastavitve
  • deviceID = ID ustrezne naprave/senzorja
  • waarde = vrednost nastavitve
  • type = vrsta nastavitve, je največja ali minimalna?

Nenazadnje tabela Naprave vsebuje informacije o senzorjih in aktuatorjih.

  • deviceId = ID naprave v tej tabeli
  • naam = ime naprave/komponente
  • merk = znamka
  • prijs = cena komponente
  • beschrijving = povzetek komponente
  • eenheid = enota za izmerjene vrednosti
  • typeDevice = določa, ali je komponenta senzor ali aktuator

5. korak: Frontend: Nastavitev spletnega strežnika

Frontend: Nastavitev spletnega strežnika
Frontend: Nastavitev spletnega strežnika

Za zagon spletnega strežnika za to napravo bo Pi zahteval, da namestite spletni strežnik Apache. To lahko storite z naslednjim ukazom:

sudo apt-get namestite apache2.

Ko to storite, se lahko pomaknete do mape:/var/www/html. Tu boste morali vnesti vso kodo vmesnika. Nato lahko do spletnega mesta dostopate tako, da poiščete naslov IP.

6. korak: Backend

Če želite zagnati zaledje, morate zagnati datoteko app.py, ročno ali tako, da zanjo ustvarite storitev na Pi, da se samodejno zažene.

Kot ste morda opazili, je kar nekaj datotek. Kodo sem ločil, kolikor sem mogel, da sem imel jasen pregled in organizacijo kode.

Kratka razlaga:

app.py: Glavna datoteka, v kateri so združene zbirka podatkov, koda strojne opreme in koda zaledja

config.py: konfiguracijska datoteka za zbirko podatkovRepositories

Repozitoriji: Za dostop do skladišča podatkov

  • Pomočnik

    • devices_id: razredi za pomoč pri prepoznavanju podatkov o napravi v zbirki podatkov
    • lcd: za zagon PCF in LCD
    • Aktuatorji: razredi za vodenje aktuatorjev
    • Senzorji: razredi za vodenje senzorjev

7. korak: Namestitev LED traku

Namestitev LED traku
Namestitev LED traku

Odrezala sem kos LED traku in ga prilepila na vrh škatle rastlinjaka. Trak, ki sem ga uporabil, lahko razrežete na več položajev in ga znova povežete, tako da lahko postavite več trakov in jih nato znova povežete prek žic, s čimer boste osvetlili več prostora.

8. korak: Polaganje cevi

Namestitev cevi
Namestitev cevi

Cevi bi lahko postavili na več načinov, vendar sem jih v mojem primeru pritrdil na stran dna, pri tem pa jih držal čim dlje od ostale elektronike in pustil, da je voda preprosto stekla v umazanijo.

9. korak: Namestitev LCD -ja

Namestitev LCD zaslona
Namestitev LCD zaslona

V pokrovu razdelilne omarice sem z žaginim listom prerezal celoto, s čimer sem ustvaril dovolj veliko odprtino za prikaz zaslona, vendar dovolj majhno, da bi tiskano vezje ostalo za njim. Nato so ga z nagibi pritrdili na pokrov.

Na LCD -prikazovalniku so prikazani naslovi IP Raspberry Pi, kar omogoča vedeti, kateri naslov lahko uporabite za brskanje po spletnem mestu.

10. korak: Namestitev senzorjev in priključitev LED traku

Namestitev senzorjev in priključitev LED traku
Namestitev senzorjev in priključitev LED traku
Namestitev senzorjev in priključitev LED traku
Namestitev senzorjev in priključitev LED traku

S shemami fritacije sem spajkal povezave med žicami in upora postavil v žice, pri čemer sem jih s toplotno skrčljivimi cevmi izoliral.

Na straneh pokrova in dna rastlinjaka so bile izrezane luknje za pritrditev vrtljivk, skozi katere sem potegnil žice za senzorje in LED trak.

Žice sem združil po funkcijah. Napetost žic in skrčljivih cevi je držala senzorje. Moral sem uporabiti le lepilo na žicah za DHT11, ker se je to še dodatno razširilo.

11. korak: Priključite Pi

Ožičenje Pi
Ožičenje Pi
Ožičenje Pi
Ožičenje Pi
Ožičenje Pi
Ožičenje Pi

Na strani razvodne omarice sem izrezal luknje, da sem pozneje prišel skozi žice.

Po tem sem postavil ploščo (s T-čevljarjem, PCF8574a, MCP3008, nastavljivim uporom in TIP50), relejem in Raspberry Pi na dno razdelilne omarice, ki je bila prekrita z dvostransko trakico. Napajalnik ni ustrezal na ploščo, zato sem jo moral postaviti na stran in jo uporabiti za priključitev na ploščo.

Nazadnje sem potegnil adapter, žice senzorja in aktuatorja skozi luknje, ki so žice povezali s ploščo, Raspberry Pi in drugimi komponentami. Žica črpalke je bila prerezana, da sem lahko namestil konce v rele, da bi jo lahko uporabili kot stikalo.

12. korak: Izdelava posode za vodo

Izdelava posode za vodo
Izdelava posode za vodo

Posodo za vodo sem naredil iz 1 -litrske plastične steklenice za vodo, tako da sem vrh odrezal z rezalnikom za škatle in jo pobarval za boljši videz. Vodno črpalko so nato postavili v notranjost. Zaradi pravila komuniciranja plovil bi voda lahko sama tekla po ceveh, vendar držanje cevi odpravi težavo.

13. korak: Končni rezultat

Končni rezultat
Končni rezultat
Končni rezultat
Končni rezultat

Trenutek, ki ste ga čakali. Zdaj lahko umazanijo in semena postavite v škatlo rastlinjaka in pustite, da naprava prevzame. S spletnega mesta lahko spremljate stanje naprave in nastavite optimalne vrednosti za razsvetljavo in stanje tal.

Priporočam, da zemljo najprej zalivate ročno, saj je lahko nekaj umazanije sprva precej suho. Zdi se, da se nekatere črpalke tudi počasi zalivajo, vendar morate biti zelo previdni, saj se bodo napolnili hitreje, kot bi pričakovali. Zaradi nasičenosti nad 80% lahko zemlja postane zelo mokra. Pazite, da je senzor vlage v tleh dovolj globok.

Priporočena: