Sadržaj:

Automatizirani lonac za biljke - Mali vrt: 13 koraka (sa slikama)
Automatizirani lonac za biljke - Mali vrt: 13 koraka (sa slikama)

Video: Automatizirani lonac za biljke - Mali vrt: 13 koraka (sa slikama)

Video: Automatizirani lonac za biljke - Mali vrt: 13 koraka (sa slikama)
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Juli
Anonim
Automatski saksija za biljke - Mali vrt
Automatski saksija za biljke - Mali vrt

Ja sam student Multimedijske i komunikacijske tehnologije na Howest Kortrijku. Za naš konačni zadatak morali smo razviti IoT projekt po vlastitom izboru.

Tražeći ideje, odlučio sam učiniti nešto korisno za svoju majku koja voli uzgoj biljaka i počeo sam raditi na automatiziranom loncu za biljke.

Glavni zadaci ovog automatiziranog lonca za biljke, Little Garden, su:

  • Izmerite

    • Temperature
    • Intenzitet svjetla
    • Vlažnost
    • Vlažnost tla

Sačuvajte merenja u bazu podataka

Poboljšajte uslove za rast biljaka ako je određena vrijednost preniska

Neka se uređaj prati i upravlja putem web stranice

Ne mora se svaki korak pratiti do oznake. Mnogo toga što se dogodi može biti vaša lična preferencija ili se može poboljšati. Ova je konstrukcija napravljena na način da se dijelovi mogu kasnije obnoviti, pa biste možda htjeli drugačije pristupiti svojoj iteraciji kako bi bila trajnija

Korak 1: Potrošni materijal

Supplies
Supplies
Supplies
Supplies
Supplies
Supplies

Većinu zaliha za ovaj projekt nije teško nabaviti, iako sam u mom slučaju radio s puno recikliranih materijala. Također sam morao osigurati da mogu naknadno obnoviti neke materijale.

Osnovne komponente:

  • Raspberry Pi 4 model B
  • Napajanje Raspberry Pi
  • Raspberry Pi T-obućar
  • 16GB micro SD kartica
  • Napajanje iz ploče sa 3.3V i 5V
  • Breadboard
  • 12V napajanje

Senzori:

  • DHT11: Senzor vlažnosti i temperature
  • BH1750: Senzor intenziteta svjetlosti
  • Senzor vlažnosti tla
  • MCP3008

Komponente pogona:

  • 220V Pumpa za vodu
  • 12V LED traka
  • Relejni modul Velleman
  • SAVJET 50: NPN tranzistor
  • 16X2 LCD modul displej
  • PCF8574a

Otpornici:

  • 3 x 330 Ohm otpornici
  • 1 x 5k Ohm otpornik
  • 2 x 10k Ohm otpornici
  • 1 x 1k Ohm otpornik
  • 1 x 10k Potencio otpornik

Materijali:

  • Montažni staklenik/saksija za biljke
  • Razvodna kutija
  • Plastična boca za vodu
  • Okretni
  • Žice za spajanje + obična žica
  • Skrews
  • Lim za lemljenje + termoskupljajuće cijevi
  • Dvostrana traka sa trakama
  • Boja

Alati:

  • Pištolj za ljepilo
  • Drill
  • Sawblade
  • Lemilica
  • Rezač kutija
  • Kist za farbanje

Zgodna stvar ovog projekta je ta što se može proširiti ili pojednostaviti dodavanjem/uklanjanjem komponenti i laganim podešavanjem koda. Na primjer, zamjenom pumpe od 220 V sa pumpom od 12 V, možete ukloniti adapter za napajanje iz uređaja.

Korak 2: Shema prefrigavanja

Fritzing Schematic
Fritzing Schematic
Fritzing Schematic
Fritzing Schematic

Osnovne i električne sheme za uređaj prikazane su gore. Ovdje možete vidjeti kako su sve komponente međusobno povezane.

Općenito objašnjenje kako komponente rade:

  • DHT11 mjeri vlažnost zraka u % i temperaturu u ° C. Komunikacijom s njim upravlja I2C bu.
  • BH1750 mjeri intenzitet svjetla u luksima. Komunikacijom upravlja I2C sabirnica
  • Senzor vlažnosti tla stvara digitalni signal koji se MCP3008 pretvara u čitljiv digitalni signal za Raspberry Pi
  • LCD modul 16x2 prikazuje IP adrese iz Pi-a, jednu za drugom. Povezan je sa PCF8574a koji prima signal od Raspberry Pi -a koji će ga pretvoriti u brojne signale za bitne pinove ekrana. E i RS pinovi sa LCD -a su spojeni direktno na Pi. Potencijalni otpornik određuje svjetlinu ekrana.
  • Pumpa za vodu je spojena na relej koji se nalazi između njega i 220V napajanja/utičnice. Raspberry Pi može poslati signal releju da zatvori električni krug i uključi pumpu.
  • LED traka je spojena na 12V napajanje i TIP 50 (NPN tranzistor) koji prebacuje električnu struju. Otpornik od 1 k Ohma koristi se za ograničavanje izvučene snage iz Raspberry Pi, inače bi se pržio dodatno hrskavo.

Korak 3: Pripremite Raspberry Pi

Pripremite Raspberry Pi
Pripremite Raspberry Pi

Ako ga još nemate, morat ćete staviti jednu od slika OS -a Raspberry Pi na SD karticu. Ne preporučujem korištenje Litea jer mi je to na početku uzrokovalo probleme. Nakon toga ćete morati provjeriti je li vaš Pi ažuriran pomoću sljedećih naredbi dok je Pi povezan s internetom:

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

Nakon toga možete omogućiti ili instalirati pakete za rad projekta, bilo putem raspi-config ili naredbi.

  • SPI
  • I2C
  • MySQL: sledeći korak
  • SocketIO: pip install flask-socketio

Nakon postavljanja možete dodati potrebne datoteke napisane na html -u, CSS -u, Javascript -u i Pythonu. Sav moj kôd se može pronaći na mom github spremištu.

Korak 4: Model baze podataka - MySQL

Model baze podataka - MySQL
Model baze podataka - MySQL

Gore možete vidjeti ERD dijagram koji je hostiran putem MariaDB -a. Preporučujem da slijedite ovaj vodič za instalaciju MariaDB -a, ne samo za instaliranje MariaDB -a, već i kako biste bili sigurni da je vaš Pi zaštićen.

Za ljude koji žele razumjeti, baza podataka radi na sljedeći način:

Prekidači merenja i aktuatora se skladište kao redovi unutar Metingen tabele.

  • metingId = ID reda za mjerenje/prebacivanje
  • deviceId = ID uređaja odgovornog za ovaj red u tabeli
  • waarde = vrijednost mjerenja senzora ili prekidača aktuatora
    • senzor: vrijednost mjerenja u odgovarajućim jedinicama
    • pogoni: 0 = OFF i 1 = ON
  • komentar = komentari koji se koriste za dodavanje dodatnih informacija, poput grešaka
  • datum = datum i vrijeme u kojem je došlo do mjerenja/prekidača

Postavke za uređaj pohranjene su u Postavkama.

  • settingId = ID ovog retka i vrijednost postavke
  • deviceID = ID odgovarajućeg uređaja/senzora
  • waarde = vrijednost postavke
  • type = tip postavke, je li maksimalna ili minimalna?

Na kraju, ali ne i najmanje važno, tablica Uređaji sadrži informacije o senzorima i aktuatorima.

  • deviceId = ID uređaja u ovoj tabeli
  • naam = naziv uređaja/komponente
  • merk = marka
  • prijs = cijena komponente
  • beschrijving = sažetak komponente
  • eenheid = jedinica za izmjerene vrijednosti
  • typeDevice = određuje je li komponenta senzor ili aktuator

Korak 5: Frontend: Postavljanje web servera

Frontend: Postavljanje web servera
Frontend: Postavljanje web servera

Pi će zahtijevati da instalirate Apache web poslužitelj kako biste pokrenuli web poslužitelj za ovaj uređaj. To se može učiniti sljedećom naredbom:

sudo apt-get install apache2.

Kada to učinite, možete se pomaknuti do mape:/var/www/html. Ovdje ćete morati postaviti sav kôd sučelja. Nakon toga web stranici možete pristupiti pregledavanjem IP adrese.

Korak 6: Pozadina

Da biste pokrenuli pozadinu, morat ćete pokrenuti datoteku app.py, bilo ručno ili stvaranjem usluge za nju na Pi -u, tako da se automatski pokreće.

Kao što ste mogli primijetiti, postoji dosta datoteka. Odvojio sam kôd koliko god sam mogao kako bih imao jasan pregled i organizaciju koda.

Kratko objašnjenje:

app.py: Glavna datoteka u kojoj su spojeni baza podataka, hardverski kod i pozadinski kôd

config.py: Konfiguracijska datoteka za spremišta baze podataka

Spremišta: Za pristup spremištu podataka

  • Helper

    • devices_id: klase koje pomažu u identifikaciji informacija o uređaju u bazi podataka
    • lcd: za pokretanje PCF -a i LCD -a
    • Pokretači: klase za pokretanje pokretača
    • Senzori: klase za pokretanje senzora

Korak 7: Postavljanje LED trake

Postavljanje LED trake
Postavljanje LED trake

Odsekao sam komad LED trake i zalepio je na vrh kutije staklenika. Traka koju sam koristio mogla bi se izrezati na više položaja i ponovno spojiti, tako da možete postaviti više traka i nakon toga ih ponovo povezati žicama, omogućavajući osvjetljavanje više prostora.

Korak 8: Postavljanje cijevi

Postavljanje cijevi
Postavljanje cijevi

Cijevi se mogu postaviti na više načina, ali u mom slučaju pričvrstio sam ih sa strane dna, držeći ih što dalje od ostale elektronike i puštajući vodu da jednostavno teče u prljavštinu.

Korak 9: Postavljanje LCD -a

Postavljanje LCD -a
Postavljanje LCD -a

List pile sam izrezao cjelinu u poklopcu razvodne kutije, stvarajući otvor dovoljno velik za prolaz ekrana, ali dovoljno mali da bi PCB ostala iza njega. Nakon toga, pričvršćen je na poklopac pomoću nagiba.

LCD prikazuje IP adrese Raspberry Pi -a, što vam omogućuje da znate koju adresu možete koristiti za surfanje na web stranicu.

Korak 10: Postavljanje senzora i spajanje LED trake

Postavljanje senzora i spajanje LED trake
Postavljanje senzora i spajanje LED trake
Postavljanje senzora i spajanje LED trake
Postavljanje senzora i spajanje LED trake

Koristeći sheme prženja, zalemio sam veze između žica i postavio otpornike unutar žica, koristeći termoskupljajuće cijevi za njihovu izolaciju.

Na bočnim stranama poklopca i dna staklenika izrezane su rupe za pričvršćivanje zakreta, kroz koje sam provukao žice za senzore i LED traku.

Grupirao sam žice prema funkciji. Napetost žica i cijevi za skupljanje sama je držala senzore. Morao sam samo koristiti ljepilo na žicama za DHT11 jer se to dodatno proširilo.

Korak 11: Povež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

Izrezao sam rupe na bočnoj strani razvodne kutije kako bih omogućio kasnije prolaz žica.

Nakon toga, postavio sam ploču (s T-obućarom, PCF8574a, MCP3008, podesivim otporom i TIP50), relej i Raspberry Pi na dno razvodne kutije, koja je bila prekrivena dvostranom trakom. Napajanje nije stalo na ploču s ploču, pa sam je morao staviti sa strane i upotrijebio kratkospojne žice da bih je spojio na ploču.

Na kraju sam izvukao adapter, žice senzora i aktuatora kroz rupe spojene žice na matičnu ploču, Raspberry Pi i druge komponente. Žica pumpe je rasječena kako bih mogao postaviti krajeve unutar releja kako bi se mogao koristiti kao prekidač.

Korak 12: Izrada spremnika za vodu

Izrada kontejnera za vodu
Izrada kontejnera za vodu

Napravio sam posudu za vodu od plastične boce od 1 l tako što sam izrezao vrh rezačem za kutije i obojao je radi boljeg izgleda. Pumpa za vodu je zatim postavljena unutra. Zbog pravila komuniciranja plovila, voda bi potencijalno mogla sama poteći kroz cijevi, ali držanje cijevi gore rješava problem.

Korak 13: Konačni rezultat

Final Result
Final Result
Final Result
Final Result

Trenutak koji ste čekali. Sada možete staviti prljavštinu i sjemenke u kutiju staklenika i pustiti uređaj da preuzme kontrolu. Sa web stranice možete pratiti status uređaja i postaviti optimalne vrijednosti za osvjetljenje i stanje tla.

Preporučujem zalijevanje zemlje prvo ručno, jer neka prljavština u početku može biti prilično suha. Čini se da se i neke pumpe zalijevaju prilično sporo, ali morate biti vrlo oprezni jer će se napuniti brže nego što biste očekivali. Zasićenost iznad 80% može učiniti tlo jako vlažnim. I provjerite je li senzor vlažnosti tla dovoljno dubok.

Preporučuje se: