Përmbajtje:

Tenxhere bimore e automatizuar - Kopshti i vogël: 13 hapa (me fotografi)
Tenxhere bimore e automatizuar - Kopshti i vogël: 13 hapa (me fotografi)

Video: Tenxhere bimore e automatizuar - Kopshti i vogël: 13 hapa (me fotografi)

Video: Tenxhere bimore e automatizuar - Kopshti i vogël: 13 hapa (me fotografi)
Video: MOTIVACIONA BIOBAŠTA - PREDAVANJE #001 [TRAG BILJKE] 2024, Nëntor
Anonim
Tenxhere bimore e automatizuar - Kopshti i Vogël
Tenxhere bimore e automatizuar - Kopshti i Vogël

Unë jam një student nga Multimedia dhe Teknologjia e Komunikimit në Howest Kortrijk. Për detyrën tonë përfundimtare, na u desh të zhvillonim një projekt IoT sipas zgjedhjes sonë.

Duke kërkuar për ide, vendosa të bëj diçka të dobishme për nënën time që e do rritjen e bimëve dhe filloi të punojë në një tenxhere të automatizuar të bimëve.

Detyrat kryesore për këtë tenxhere të automatizuar të bimëve, Little Garden, janë:

  • Matni

    • Temperatura
    • Intensiteti i dritës
    • Lagështia
    • Lagështia e tokës

Ruani matjet në një bazë të dhënash

Përmirësoni kushtet për rritjen e bimës nëse një vlerë e caktuar është shumë e ulët

Lejo që pajisja të monitorohet dhe menaxhohet përmes një faqe në internet

Jo çdo hap duhet të ndiqet deri në shenjë. Shumë nga ato që ndodhin mund të jenë preferencat tuaja personale ose të përmirësohen. Kjo ndërtesë është bërë në një mënyrë që pjesët të rikuperohen më pas, kështu që ju mund të dëshironi t'i qaseni ndryshe përsëritjes tuaj për ta bërë atë më të përhershëm

Hapi 1: Furnizimet

Furnizimet
Furnizimet
Furnizimet
Furnizimet
Furnizimet
Furnizimet

Shumica e furnizimeve për këtë projekt nuk janë shumë të vështira për t'u blerë, megjithëse në rastin tim kam punuar me shumë materiale të ricikluara. Unë gjithashtu duhej të sigurohesha që mund të rikuperoja disa materiale më vonë.

Përbërësit kryesorë:

  • Raspberry Pi 4 modeli B
  • Furnizimi me energji i Raspberry Pi
  • Këpucar Raspberry Pi T
  • Kartë mikro SD 16 GB
  • Furnizimi me energji ushqimore me 3.3V dhe 5V
  • Breadboard
  • Furnizimi me energji 12V

Sensorë:

  • DHT11: Sensori i lagështisë dhe temperaturës
  • BH1750: Sensori i intensitetit të dritës
  • Sensori i lagështisë së tokës
  • MCP3008

Komponentët e aktivizuesit:

  • Pompë uji 220V
  • Rrip LED 12V
  • Moduli i stafetës Velleman
  • KIPSHILL 50: Transistor NPN
  • Ekran LCD-moduke 16X2
  • PCF8574a

Rezistenca:

  • 3 rezistente 3 x 330 Ohm
  • Rezistencë 1 x 5k Ohm
  • 2 rezistente 10 x Ohm
  • Rezistencë 1 x 1k Ohm
  • 1 x 10k Rezistencë potenciale

Materialet:

  • Serrë/tenxhere me bimë të parafabrikuara
  • Kuti kryqëzimi
  • Shishe plastike me ujë
  • Rrotullues
  • Tela kërcyes + tela të rregullt
  • Vidha
  • Kallaji i saldimit + tubat e tkurrjes së nxehtësisë
  • Kasetë duck me dy anë
  • Bojë

Mjetet:

  • Armë ngjitëse
  • Stërvitje
  • Tela sharre
  • Makine per ngjitjen e metalit
  • Prestar kuti
  • Furçë bojë

Gjëja e mirë për këtë projekt është se ai mund të zgjerohet ose thjeshtohet, duke shtuar/hequr komponentë dhe duke ndryshuar pak kodin. Për shembull, duke zëvendësuar pompën 220V me një pompë 12V, mund të hiqni një përshtatës energjie nga pajisja.

Hapi 2: Skema e ngrirjes

Skematike e ngrirjes
Skematike e ngrirjes
Skematike e ngrirjes
Skematike e ngrirjes

Skemat e bukës dhe ato elektrike për pajisjen janë treguar më lart. Këtu mund të shihni se si të gjithë përbërësit janë të lidhur së bashku.

Një shpjegim i përgjithshëm se si funksionojnë përbërësit:

  • DHT11 mat lagështinë e ajrit në % dhe temperaturën në ° C. Komunikimi me të trajtohet nga një bu I2C.
  • BH1750 mat intensitetin e dritës në lux. Komunikimi trajtohet nga një autobus I2C
  • Sensori i lagështisë së tokës krijon një sinjal dixhital që konvertohet nga MCP3008 në një sinjal dixhital të lexueshëm për Raspberry Pi
  • Moduli LCD 16x2 shfaq adresat IP nga Pi, njëra pas tjetrës. Shtë e lidhur me një PCF8574a që merr një sinjal nga Raspberry Pi që do ta konvertojë atë në një numër sinjalesh për kunjat e ekranit. Këmbët E dhe RS nga LCD janë të lidhura drejtpërdrejt me Pi. Rezistenca potenciale përcakton shkëlqimin e ekranit.
  • Pompë uji është e lidhur me një stafetë që është midis tij dhe furnizimit/prizës 220V të energjisë. Raspberry Pi mund të dërgojë një sinjal në stafetë për të mbyllur qarkun elektrik dhe për të ndezur pompën.
  • Shiriti LED është i lidhur me furnizimin me energji 12V dhe TIP 50 (transistor NPN) që ndryshon rrymën elektrike. Rezistenca 1k Ohm përdoret për të kufizuar fuqinë e tërhequr nga Raspberry Pi, përndryshe do të skuqej shumë i freskët.

Hapi 3: Përgatitni Raspberry Pi

Përgatitni Raspberry Pi
Përgatitni Raspberry Pi

Nëse nuk e keni ende një, do t'ju duhet të vendosni një nga imazhet e Raspberry Pi OS në kartën SD. Unë nuk rekomandoj përdorimin e Lite, pasi kjo më shkaktoi probleme në fillim. Më pas do të duhet të siguroheni që Pi juaj është i përditësuar duke përdorur komandat e mëposhtme ndërsa Pi është i lidhur me internetin:

  1. përditësim sudo apt-get
  2. sudo apt-get upgrade

Pas së cilës mund të aktivizoni ose instaloni paketat që projekti të funksionojë, ose përmes raspi-config ose komandave.

  • SPI
  • I2C
  • MySQL: hapi tjetër
  • SocketIO: pip install flask-socketio

Pas konfigurimit, mund të shtoni skedarët e nevojshëm të cilët janë shkruar në html, CSS, Javascript dhe Python. I gjithë kodi im mund të gjendet në depon time të github.

Hapi 4: Modeli i bazës së të dhënave - MySQL

Modeli i bazës së të dhënave - MySQL
Modeli i bazës së të dhënave - MySQL

Më sipër mund të shihni diagramin ERD i cili është pritur përmes MariaDB. Unë rekomandoj të ndiqni këtë udhëzues të instalimit MariaDB, jo vetëm për të instaluar MariaDB, por edhe për t'u siguruar që Pi juaj është i mbrojtur.

Për njerëzit që duan të kuptojnë, baza e të dhënave funksionon si më poshtë:

Matjet dhe kutitë e aktivizuesit ruhen si rreshta brenda tabelës Metingen.

  • metingId = ID e rreshtit të matjes/ndërrimit
  • deviceId = ID e pajisjes përgjegjëse për këtë rresht në tabelë
  • waarde = vlera e matjes së sensorit ose kalimi i aktivizuesit

    • sensor: vlera e matjes në njësitë përkatëse
    • aktivizuesit: 0 = OFF dhe 1 = ON
  • commentaar = komente të përdorura për të shtuar informacion shtesë, siç janë gabimet
  • datum = data dhe koha në të cilën ndodhi matja/kalimi

Cilësimet për pajisjen ruhen në Cilësimet.

  • settingId = ID e këtij rreshti dhe vlera e cilësimit
  • deviceID = ID e pajisjes/sensorit përkatës
  • waarde = vlera e cilësimit
  • lloji = lloji i vendqëndrimit, është maksimal apo minimal?

E fundit por jo më pak e rëndësishme, tabela Pajisjet përmban informacion mbi sensorët dhe aktivizuesit.

  • deviceId = ID e pajisjes në këtë tabelë
  • naam = emri i pajisjes/komponentit
  • merk = markë
  • prijs = çmimi i përbërësit
  • beschrijving = përmbledhje e përbërësit
  • eenheid = njësi për vlerat e matura
  • typeDevice = përcakton nëse komponenti është një sensor ose një aktivizues

Hapi 5: Frontend: Konfigurimi i serverit të uebit

Frontend: Vendosja e serverit të uebit
Frontend: Vendosja e serverit të uebit

Pi do t'ju kërkojë të instaloni serverin e uebit Apache në mënyrë që të ekzekutoni serverin e uebit për këtë pajisje. Kjo mund të bëhet me komandën e mëposhtme:

sudo apt-get install apache2.

Pasi të bëhet kjo, mund të lundroni te dosja:/var/www/html. Këtu do t'ju duhet të vendosni të gjithë kodin e frontit. Më pas, mund të hyni në faqen e internetit duke shfletuar në adresën IP.

Hapi 6: Përmbajtja

Për të ekzekutuar backend, do t'ju duhet të ekzekutoni skedarin app.py, me dorë ose duke krijuar një shërbim për të në Pi, në mënyrë që të fillojë automatikisht.

Siç mund ta vini re, ka mjaft skedarë. E ndava kodin sa të mundja për të pasur një pasqyrë dhe organizim të qartë të kodit.

Një shpjegim i shkurtër:

app.py: Skedari kryesor ku bashkohet baza e të dhënave, kodi i harduerit dhe kodi i backendit

config.py: Skedari i konfigurimit për databazat

Depot: Për qasje në depon e të dhënave

  • Ndihmës

    • devices_id: klasa për të ndihmuar në identifikimin e informacionit të pajisjes në bazën e të dhënave
    • LCD: për të drejtuar PCF dhe LCD
    • Aktivizuesit: klasa për drejtimin e aktivizuesve
    • Sensorë: klasa për drejtimin e sensorëve

Hapi 7: Vendosja e Rripit LED

Vendosja e Rripit LED
Vendosja e Rripit LED

Kam prerë një pjesë të shiritit LED dhe e kam ngjitur në krye të kutisë së serrës. Shiriti që kam përdorur mund të pritet në pozicione të shumta dhe të lidhet përsëri, kështu që ju mund të vendosni shirita të shumtë dhe t'i lidhni përsëri më pas përmes telave, duke lejuar që më shumë hapësirë të ndriçohet.

Hapi 8: Vendosja e tubave

Vendosja e Tubave
Vendosja e Tubave

Tubat mund të vendosen në një numër mënyrash, por në rastin tim i bashkova ato në anën e poshtme, duke i mbajtur sa më larg nga pajisjet e tjera elektronike dhe duke e lënë ujin thjesht të rrjedhë në papastërti.

Hapi 9: Vendosja e LCD -së

Vendosja e LCD -së
Vendosja e LCD -së

Kam prerë një tërësi në kapakun e kutisë së bashkimit me një sharrë, duke krijuar një hapje mjaft të madhe që ekrani të kalojë, por mjaft i vogël në mënyrë që PCB të qëndrojë prapa tij. Më pas, ajo u ngjit në kapak duke përdorur skews.

LCD -ja shfaq adresat IP të Raspberry Pi, duke bërë të mundur të dini se cilën adresë mund të përdorni për të lundruar në uebfaqe.

Hapi 10: Vendosja e sensorëve dhe lidhja e shiritit LED

Vendosja e sensorëve dhe lidhja e shiritit LED
Vendosja e sensorëve dhe lidhja e shiritit LED
Vendosja e sensorëve dhe lidhja e shiritit LED
Vendosja e sensorëve dhe lidhja e shiritit LED

Duke përdorur skemat e ngrirjes, unë bashkova lidhjet midis telave dhe vendosa rezistorët brenda telave, duke përdorur tuba për tkurrjen e nxehtësisë për t'i izoluar ato.

Vrimat u prenë në anët e kapakut dhe pjesës së poshtme të serrës për të bashkuar rrotulluesit, përmes të cilave tërhoqa telat për sensorët dhe shiritin LED.

I grupova telat sipas funksionit. Tensioni nga telat dhe tubat e tkurrjes i mbante sensorët. Më duhej të përdor vetëm zam në telat për DHT11 pasi kjo u zgjerua më tej.

Hapi 11: Instalimi i Pi

Instalimi i Pi
Instalimi i Pi
Instalimi i Pi
Instalimi i Pi
Instalimi i Pi
Instalimi i Pi

Kam prerë vrima në anën e kutisë së kyçjes për të lejuar që telat të kalojnë më vonë.

Pas kësaj, vendosa tabelën e bukës (me T-cobbler, PCF8574a, MCP3008, rezistencë të rregullueshme dhe TIP50), stafetë dhe Raspberry Pi në pjesën e poshtme të kutisë së kyçjes, e cila ishte e mbuluar me kasetë të dyfishtë të dyanshme. Furnizimi me energji elektrike nuk u përshtat në bordin e bukës, kështu që më duhej ta vendosja anash dhe përdora telat e kërcyesit për ta lidhur me atë.

Më në fund unë tërhoqa përshtatësin, sensorin dhe telat e aktivizuesit përmes vrimave të lidhura telat me dërrasën e bukës, Raspberry Pi dhe përbërës të tjerë. Teli i pompës u hap në mënyrë që të vendosja skajet brenda stafetës në mënyrë që të mund të përdoret si ndërprerës.

Hapi 12: Bërja e një enë për ujë

Bërja e një enë për ujë
Bërja e një enë për ujë

Kam bërë një enë me ujë nga një shishe plastike me ujë 1l duke e prerë pjesën e sipërme me një prestar kutie dhe duke e lyer atë për një pamje më të mirë. Pompa e ujit u vendos më pas brenda. Për shkak të rregullit të komunikimit të anijeve, uji potencialisht mund të rrjedhë nëpër tuba vetë, por mbajtja e tubit lart e zgjidh problemin.

Hapi 13: Rezultati Përfundimtar

Rezultati Përfundimtar
Rezultati Përfundimtar
Rezultati Përfundimtar
Rezultati Përfundimtar

Momenti që keni pritur. Tani mund t'i vendosni papastërtitë dhe farat brenda kutisë së serrës dhe ta lini pajisjen të marrë kontrollin. Ju mund të monitoroni statusin e pajisjes nga faqja e internetit dhe të vendosni vlerat optimale për ndriçimin dhe kushtet e tokës.

Unë rekomandoj që të ujisni tokën së pari me dorë, pasi disa papastërti mund të jenë mjaft të thata në fillim. Disa pompa gjithashtu duket se ujiten mjaft ngadalë, por ju duhet të jeni shumë të kujdesshëm pasi do të mbushet më shpejt sesa prisni. Një ngopje mbi 80% mund ta bëjë tokën shumë të lagur. Dhe sigurohuni që sensori i lagështisë së tokës të jetë mjaft i thellë.

Recommended: