Tartalomjegyzék:

Automatizált növénycserep - Kiskert: 13 lépés (képekkel)
Automatizált növénycserep - Kiskert: 13 lépés (képekkel)

Videó: Automatizált növénycserep - Kiskert: 13 lépés (képekkel)

Videó: Automatizált növénycserep - Kiskert: 13 lépés (képekkel)
Videó: [CC] 🌱 DIY Microgreen Tower | Önöntöző rendszer | Dream Urban Farm | Ikea Hack 2024, Július
Anonim
Automatizált növénycserep - Kiskert
Automatizált növénycserep - Kiskert

A Howest Kortrijk multimédia és kommunikációs technológia hallgatója vagyok. Utolsó feladatunkhoz saját választott IoT -projektet kellett kidolgoznunk.

Körülnézve az ötleteken, úgy döntöttem, hogy valami hasznosat készítek anyámnak, aki szereti a növénytermesztést, és elkezdtem dolgozni egy automatizált növénycserepen.

Ennek az automatizált növénycserepnek, a Little Gardennek a fő feladatai a következők:

  • Mérje meg a
    • Hőfok
    • Fényintenzitás
    • páratartalom
    • A talaj nedvessége

Mentse a méréseket egy adatbázisba

Javítsa a növény növekedési feltételeit, ha egy bizonyos érték túl alacsony

Hagyja, hogy az eszköz egy webhelyen keresztül figyelhető és kezelhető legyen

Nem kell minden lépést követni. Sok minden történhet az Ön személyes preferenciái alapján, vagy javítható. Ez a konstrukció úgy készült, hogy az alkatrészeket utólag helyre lehetett hozni, ezért érdemes lehet másképp megközelíteni az iterációt, hogy állandóbb legyen

1. lépés: Kellékek

Kellékek
Kellékek
Kellékek
Kellékek
Kellékek
Kellékek

Ennek a projektnek a legtöbb kellékét nem nagyon nehéz beszerezni, bár az én esetemben sok újrahasznosított anyaggal dolgoztam. Gondoskodnom kellett arról is, hogy néhány anyagot utána helyreállítsak.

Alapkomponensek:

  • Raspberry Pi 4 B modell
  • Raspberry Pi tápegység
  • Raspberry Pi T-cobbler
  • 16 GB -os micro SD kártya
  • Kenyérsütő tápegység 3.3V és 5V feszültséggel
  • Kenyeretábla
  • 12V -os tápegység

Érzékelők:

  • DHT11: Páratartalom és hőmérséklet érzékelő
  • BH1750: Fényerősség érzékelő
  • Talajnedvesség érzékelő
  • MCP3008

A hajtómű alkatrészei:

  • 220V vízszivattyú
  • 12V LED szalag
  • Velleman relé modul
  • 50. TIPP: NPN tranzisztor
  • 16X2 LCD-moduke kijelző
  • PCF8574a

Ellenállások:

  • 3 x 330 Ohm ellenállás
  • 1 x 5 k ohmos ellenállás
  • 2 x 10 k ohmos ellenállás
  • 1 x 1 k ohmos ellenállás
  • 1 x 10k potenciál ellenállás

Anyagok:

  • Előregyártott üvegház/növénycserep
  • Csatlakozó doboz
  • Műanyag kulacs
  • Forgatható
  • Jumper vezetékek + normál huzal
  • Csavarok
  • Forrasztókonzol + zsugorcső
  • Kétoldalas kacsatartó
  • Festék

Eszközök:

  • Ragasztópisztoly
  • Fúró
  • Fűrészlap
  • Forrasztópáka
  • Doboz vágó
  • Ecset

Ennek a projektnek az a szép dolga, hogy bővíthető vagy egyszerűsíthető komponensek hozzáadásával/eltávolításával és a kód enyhén módosításával. Például, ha a 220 V -os szivattyút 12 V -os szivattyúra cseréli, eltávolíthatja a hálózati adaptert a készülékből.

2. lépés: Fritzing séma

Fritzing séma
Fritzing séma
Fritzing séma
Fritzing séma

A készülék kenyérsütő táblája és elektromos sémái fent láthatók. Itt láthatja, hogy az összes alkatrész hogyan kapcsolódik egymáshoz.

Az összetevők működésének általános magyarázata:

  • A DHT11 méri a levegő nedvességtartalmát % -ban és a hőmérsékletet ° C -ban. A vele folytatott kommunikációt egy I2C bu.
  • A BH1750 luxban méri a fényerősséget. A kommunikációt I2C busz kezeli
  • A talajnedvesség -érzékelő digitális jelet hoz létre, amelyet az MCP3008 olvasható digitális jellé alakít a Raspberry Pi számára
  • A 16x2 LCD-modul egymás után megjeleníti a Pi-ből származó IP-címeket. Egy PCF8574a -hoz van csatlakoztatva, amely jelet fogad a Raspberry Pi -től, és azt számos jellé alakítja át a kijelző bitcsapjaihoz. Az LCD E és RS csapjai közvetlenül a Pi -hez vannak csatlakoztatva. A potencioellenállás határozza meg a képernyő fényerejét.
  • A vízszivattyú egy reléhez van csatlakoztatva, amely közte van, és 220 V -os tápegységről/aljzatról van szó. A Raspberry Pi jelet küldhet a relének, hogy lezárja az elektromos áramkört és bekapcsolja a szivattyút.
  • A LED szalag a 12 V -os tápegységhez és az elektromos áramot kapcsoló TIP 50 -hez (NPN tranzisztor) csatlakozik. Az 1 k ohmos ellenállást a Raspberry Pi által fogyasztott teljesítmény korlátozására használják, különben extra ropogósra sülne.

3. lépés: Készítse elő a Raspberry Pi -t

Készítse elő a Raspberry Pi -t
Készítse elő a Raspberry Pi -t

Ha még nem rendelkezik ilyennel, akkor a Raspberry Pi OS egyik képét az SD -kártyára kell helyeznie. Nem javaslom a Lite használatát, mivel ez az elején problémákat okozott. Ezt követően meg kell győződnie arról, hogy a Pi naprakész a következő parancsok használatával, miközben a Pi csatlakozik az internethez:

  1. sudo apt-get update
  2. sudo apt-get upgrade

Ezt követően engedélyezheti vagy telepítheti a projekt működéséhez szükséges csomagokat, akár raspi-config, akár parancsok segítségével.

  • SPI
  • I2C
  • MySQL: következő lépés
  • SocketIO: pip install flask-socketio

A beállítás után hozzáadhatja a szükséges fájlokat, amelyek html, CSS, Javascript és Python nyelven íródtak. Minden kódom megtalálható a github tárolómban.

4. lépés: Adatbázis modell - MySQL

Adatbázis modell - MySQL
Adatbázis modell - MySQL

Fent látható a MariaDB -n keresztül tárolt ERD diagram. Javaslom, hogy kövesse ezt a MariaDB telepítési útmutatót, nem csak a MariaDB telepítéséhez, hanem a Pi védelmének biztosításához is.

Azok számára, akik szeretnék megérteni, az adatbázis a következőképpen működik:

A mérések és a működtető kapcsolók sorokban tárolódnak a Metingen táblázatban.

  • metingId = a mérési/váltó sor azonosítója
  • deviceId = a táblázat ezen soráért felelős eszköz azonosítója
  • waarde = az érzékelő mérési vagy működtető kapcsolójának értéke

    • érzékelő: a mérési érték a megfelelő egységekben
    • hajtóművek: 0 = KI és 1 = BE
  • commentaar = megjegyzések, amelyekkel további információkat, például hibákat lehet hozzáadni
  • nullapont = a mérés/váltás dátuma és időpontja

Az eszköz beállításai a Beállítások menüben vannak tárolva.

  • settingId = ennek a sornak az azonosítója és a beállítás értéke
  • deviceID = a megfelelő eszköz/érzékelő azonosítója
  • waarde = a beállítás értéke
  • type = a settin típusa, maximum vagy minimum?

Végül, de nem utolsósorban az Eszközök táblázat tartalmaz információkat az érzékelőkről és a hajtóművekről.

  • deviceId = az eszköz azonosítója ebben a táblázatban
  • naam = az eszköz/alkatrész neve
  • merk = márka
  • prijs = az alkatrész ára
  • beschrijving = az összetevő összefoglalása
  • eenheid = mért értékek mértékegysége
  • typeDevice = megadja, hogy az alkatrész érzékelő vagy működtető

5. lépés: Kezelőfelület: A webszerver beállítása

Frontend: A webszerver beállítása
Frontend: A webszerver beállítása

A Pi megköveteli az Apache webszerver telepítését az eszköz webszerverének futtatásához. Ezt a következő paranccsal lehet megtenni:

sudo apt-get install apache2.

Ha ez megtörtént, navigálhat a/var/www/html mappába. Itt el kell helyeznie a frontend összes kódját. Ezt követően az IP -címre böngészve érheti el a webhelyet.

6. lépés: Háttér

A háttér futtatásához futtatnia kell az app.py fájlt, vagy manuálisan, vagy létrehozva egy szolgáltatást a Pi -n, hogy automatikusan elinduljon.

Mint észreveheti, elég sok fájl van. Amennyire csak lehetett, szétválasztottam a kódot, hogy világos áttekintést és szervezést kapjak a kódról.

Rövid magyarázat:

app.py: A fő fájl, ahol az adatbázis, a hardverkód és a háttérkód össze van kapcsolva

config.py: Az databaseRepositories konfigurációs fájlja

Adattárak: Az adattárhoz való hozzáféréshez

  • Segítő

    • devices_id: osztályok, amelyek segítenek azonosítani az adatbázisban lévő eszközinformációkat
    • lcd: a PCF és az LCD futtatásához
    • Hajtóművek: osztályok a hajtóművek működtetéséhez
    • Érzékelők: osztályok az érzékelők futtatásához

7. lépés: A LED csík elhelyezése

A LED csík elhelyezése
A LED csík elhelyezése

A LED szalagból levágtam egy darabot, és az üvegház doboz tetejére ragasztottam. Az általam használt csíkot több helyen is el lehetett vágni és újra össze lehetett kötni, így több csíkot is elhelyezhetett, majd a vezetékeken keresztül újra csatlakoztathatott, így több helyet tudtak megvilágítani.

8. lépés: A csövek elhelyezése

A csövek elhelyezése
A csövek elhelyezése

A csöveket többféle módon is el lehetett helyezni, de az én esetemben az alsó oldalhoz rögzítettem őket, a lehető legközelebb tartva őket a többi elektronikától, és hagytam, hogy a víz egyszerűen a szennyeződésbe áramoljon.

9. lépés: Az LCD elhelyezése

Az LCD elhelyezése
Az LCD elhelyezése

Fűrészlappal vágtam egy egészet az elosztódoboz fedelébe, és kialakítottam egy elég nagy nyílást ahhoz, hogy a kijelző átjusson, de elég kicsi ahhoz, hogy a NYÁK mögötte maradjon. Ezt követően ferdén rögzítették a fedélre.

Az LCD kijelzőn megjelenik a Raspberry Pi IP -címe, amely lehetővé teszi, hogy megtudja, milyen címmel böngészhet a webhelyen.

10. lépés: Az érzékelők elhelyezése és a LED csík csatlakoztatása

Az érzékelők elhelyezése és a LED csík csatlakoztatása
Az érzékelők elhelyezése és a LED csík csatlakoztatása
Az érzékelők elhelyezése és a LED csík csatlakoztatása
Az érzékelők elhelyezése és a LED csík csatlakoztatása

A fritázási sémák segítségével forrasztottam a vezetékeket a vezetékek között, és az ellenállásokat a vezetékek belsejébe helyeztem, hőzsugorító csövek segítségével.

Az üvegház fedelének és aljának oldalain lyukakat vágtak a forgatók rögzítéséhez, amelyeken keresztül kihúztam az érzékelők és a LED szalag vezetékeit.

A vezetékeket funkció szerint csoportosítottam. A vezetékek és a zsugorcsövek feszültsége maga tartotta fel az érzékelőket. Csak ragasztót kellett használnom a DHT11 vezetékein, mivel ez tovább terjedt.

11. lépés: A Pi bekötése

A Pi bekötése
A Pi bekötése
A Pi bekötése
A Pi bekötése
A Pi bekötése
A Pi bekötése

Furatokat vágtam a csatlakozódoboz oldalán, hogy később átjussanak a vezetékek.

Ezt követően a kenyérsütő deszkát (a T-cobblerrel, PCF8574a, MCP3008, állítható ellenállás és TIP50), a relét és a Raspberry Pi-t a csatlakozódoboz aljára helyeztem, amelyet kétoldalas kacsatartó borított. A tápegység nem illeszkedett a kenyértáblára, ezért oldalra kellett tennem, és áthidaló vezetékeket használva kötöttem össze a kenyérpaddal.

Végül kihúztam az adaptert, az érzékelőt és a működtető vezetékeket a lyukakon keresztül, amelyek a vezetékeket a kenyértáblához, a Raspberry Pi -hez és más alkatrészekhez kötötték. A szivattyú vezetékét elvágták, így a végeket a relé belsejébe tudtam helyezni, hogy kapcsolóként lehessen használni.

12. lépés: Tartály készítése vízhez

Tartály készítése vízhez
Tartály készítése vízhez

1 literes műanyag palackból készítettem egy víztartályt úgy, hogy dobozvágóval levágtam a tetejét és lefestettem a jobb megjelenés érdekében. Ezután a vízpumpát behelyezték. A kommunikációs edények szabálya miatt a víz potenciálisan önmagában is átfolyhat a csöveken, de a cső felemelésével megoldódik a probléma.

13. lépés: Végeredmény

Végeredmény
Végeredmény
Végeredmény
Végeredmény

A pillanat, amire vártál. Most behelyezheti a szennyeződést és a magokat az üvegházba, és hagyhatja, hogy a készülék átvegye a hatalmat. A weboldalról nyomon követheti az eszköz állapotát, és beállíthatja az optimális értékeket a megvilágítási és talajviszonyokhoz.

Javaslom, hogy először kézzel öntözze meg a talajt, mivel néhány szennyeződés először nagyon száraz lehet. Úgy tűnik, hogy egyes szivattyúk elég lassan öntöznek, de nagyon óvatosnak kell lenni, mert gyorsabban megtelik, mint amire számíthat. A 80% feletti telítettség nagyon nedves lehet a talajtól. És győződjön meg arról, hogy a talajnedvesség -érzékelő elég mély.

Ajánlott: