Obsah:

Automatizovaný kvetináč - malá záhrada: 13 krokov (s obrázkami)
Automatizovaný kvetináč - malá záhrada: 13 krokov (s obrázkami)

Video: Automatizovaný kvetináč - malá záhrada: 13 krokov (s obrázkami)

Video: Automatizovaný kvetináč - malá záhrada: 13 krokov (s obrázkami)
Video: POKUD TOHLE DĚLÁ VÁŠ PES, TAK BYSTE MĚLI VĚDĚT PROČ 2024, Júl
Anonim
Automatizovaný kvetináč - malá záhrada
Automatizovaný kvetináč - malá záhrada

Som študentom multimediálnej a komunikačnej technológie na Howest Kortrijk. Na naše konečné zadanie sme museli vyvinúť projekt internetu vecí podľa vlastného výberu.

Keď som sa poobzeral po myšlienkach, rozhodol som sa urobiť niečo užitočné pre moju matku, ktorá miluje pestovanie rastlín a začala pracovať na automatizovanom kvetináči.

Hlavnými úlohami tohto automatizovaného kvetináča, Little Garden, sú:

  • Zmerajte

    • Teplota
    • Ľahká intenzita
    • Vlhkosť
    • Vhlkosť pôdy

Uložte merania do databázy

Zlepšite podmienky pre rast rastlín, ak je určitá hodnota príliš nízka

Nechajte zariadenie monitorovať a spravovať prostredníctvom webovej stránky

Nie každý krok musí byť dodržaný až po značku. Veľa z toho, čo sa stane, môžu byť vaše osobné preferencie alebo sa dajú zlepšiť. Táto zostava bola vyrobená tak, aby bolo možné diely neskôr rekuperovať, takže by ste možno chceli k svojej iterácii pristupovať inak, aby bola trvalejšia.

Krok 1: Spotrebný materiál

Zásoby
Zásoby
Zásoby
Zásoby
Zásoby
Zásoby

Väčšinu zásob pre tento projekt nie je ťažké získať, aj keď v mojom prípade som pracoval s veľkým počtom recyklovaných materiálov. Tiež som musel zaistiť, aby som potom mohol niektoré materiály rekuperovať.

Základné komponenty:

  • Raspberry Pi 4 model B
  • Napájanie Raspberry Pi
  • T-švec Raspberry Pi
  • 16 GB micro SD karta
  • Napájanie na doske s napájaním 3,3 V a 5 V.
  • Breadboard
  • Napájanie 12V

Senzory:

  • DHT11: snímač vlhkosti a teploty
  • BH1750: snímač intenzity svetla
  • Senzor vlhkosti pôdy
  • MCP3008

Súčasti pohonu:

  • Vodné čerpadlo 220V
  • LED pásik 12V
  • Reléový modul Velleman
  • TIP 50: NPN tranzistor
  • Modul LCD s rozmermi 16 x 2
  • PCF8574a

Rezistory:

  • 3 x 330 Ohm odpory
  • Rezistor 1 x 5 kOhm
  • Rezistory 2 x 10 kOhm
  • Rezistor 1 x 1k Ohm
  • 1 x 10k odpor potencio

Materiály:

  • Prefabrikovaný skleník/kvetináč
  • Spojovacia skrinka
  • Plastová fľaša na vodu
  • Otočné
  • Prepojovacie vodiče + bežný drôt
  • Skrews
  • Spájkovacia cín + zmršťovacia bužírka
  • Obojstranná pásková páska
  • Maľovať

Nástroje:

  • Lepiaca pištoľ
  • Vŕtačka
  • Pílový kotúč
  • Spájkovačka
  • Rezačka na krabice
  • Štetec na maľovanie

Na tomto projekte je úhľadné to, že ho možno rozšíriť alebo zjednodušiť pridaním/odstránením komponentov a miernym vyladením kódu. Napríklad výmenou 220 V pumpy za 12 V vývevu môžete zo zariadenia odpojiť napájací adaptér.

Krok 2: Schéma Fritzovania

Fritzingova schéma
Fritzingova schéma
Fritzingova schéma
Fritzingova schéma

Dosky a elektrické schémy zariadenia sú uvedené vyššie. Tu vidíte, ako sú všetky komponenty navzájom prepojené.

Všeobecné vysvetlenie fungovania komponentov:

  • DHT11 meria vlhkosť vzduchu v % a teplotu v ° C. Komunikáciu s ním zabezpečuje bu I2C.
  • BH1750 meria intenzitu svetla v luxoch. Komunikáciu zabezpečuje zbernica I2C
  • Senzor pôdnej vlhkosti vytvára digitálny signál, ktorý je pomocou MCP3008 konvertovaný na čitateľný digitálny signál pre Raspberry Pi
  • LCD modul 16x2 zobrazuje IP adresy z Pi, jednu za druhou. Je pripojený k počítaču PCF8574a, ktorý prijíma signál z Raspberry Pi a prevádza ho na množstvo signálov pre bitové kolíky displeja. Piny E a RS z LCD sú pripojené priamo k Pi. Potenciový odpor určuje jas obrazovky.
  • Vodné čerpadlo je pripojené k relé, ktoré je medzi ním a napájacím zdrojom/zásuvkou 220 V. Raspberry Pi môže poslať signál do relé, aby uzavrel elektrický obvod a zapol čerpadlo.
  • LED pásik je pripojený k napájaciemu zdroju 12V a TIP 50 (tranzistor NPN), ktoré prepínajú elektrický prúd. Rezistor 1k Ohm sa používa na obmedzenie odberu energie z Raspberry Pi, inak by bol vyprážaný extra chrumkavý.

Krok 3: Pripravte si Raspberry Pi

Pripravte si Raspberry Pi
Pripravte si Raspberry Pi

Ak ešte žiadny nemáte, budete musieť vložiť jeden z obrázkov Raspberry Pi OS na kartu SD. Neodporúčam používať Lite, pretože mi to na začiatku spôsobilo problémy. Potom budete musieť zaistiť, aby bol váš Pi aktuálny, a to pomocou nasledujúcich príkazov, keď je Pi pripojené k internetu:

  1. sudo apt-get aktualizácia
  2. sudo apt-get upgrade

Potom môžete balíčky povoliť alebo nainštalovať, aby projekt fungoval, a to buď pomocou raspi-config alebo príkazov.

  • SPI
  • I2C
  • MySQL: ďalší krok
  • SocketIO: pip install flask-socketio

Po nastavení môžete pridať potrebné súbory, ktoré sú napísané v html, CSS, Javascript a Python. Celý môj kód nájdete v mojom úložisku github.

Krok 4: Databázový model - MySQL

Databázový model - MySQL
Databázový model - MySQL

Hore vidíte diagram ERD, ktorý je hostený prostredníctvom MariaDB. Odporúčam postupovať podľa tohto sprievodcu inštaláciou MariaDB, a to nielen pri inštalácii MariaDB, ale aj kvôli zaisteniu ochrany vášho Pi.

Pre ľudí, ktorí by chceli porozumieť, databáza funguje nasledovne:

Merania a prepínače akčných prvkov sú uložené ako riadky v tabuľke Metingen.

  • metingId = ID radu merania/prepínania
  • deviceId = ID zariadenia zodpovedného za tento riadok v tabuľke
  • waarde = hodnota merania senzora alebo prepínača akčného člena
    • senzor: hodnota merania v zodpovedajúcich jednotkách
    • akčné členy: 0 = VYPNUTÉ a 1 = ZAPNUTÉ
  • commentaar = komentáre používané na pridanie dodatočných informácií, ako sú napríklad chyby
  • datum = dátum a čas, kedy došlo k meraniu/prepínaniu

Nastavenia zariadenia sú uložené v Nastaveniach.

  • settingId = ID tohto riadka a hodnota nastavenia
  • deviceID = ID zodpovedajúceho zariadenia/senzora
  • waarde = hodnota nastavenia
  • typ = typ usadenia, je to maximum alebo minimum?

V neposlednom rade tabuľka Zariadenia obsahuje informácie o snímačoch a akčných členoch.

  • deviceId = ID zariadenia v tejto tabuľke
  • naam = názov zariadenia/komponentu
  • merk = značka
  • prijs = cena komponentu
  • beschrijving = súhrn zložky
  • eenheid = jednotka pre namerané hodnoty
  • typeDevice = určuje, či je komponentom snímač alebo akčný člen

Krok 5: Frontend: Nastavenie webového servera

Frontend: Nastavenie webového servera
Frontend: Nastavenie webového servera

Na spustenie webového servera pre toto zariadenie bude Pi vyžadovať, aby ste si nainštalovali webový server Apache. To je možné vykonať pomocou nasledujúceho príkazu:

sudo apt-get nainštalovať apache2.

Akonáhle to urobíte, môžete prejsť do priečinka:/var/www/html. Tu budete musieť umiestniť všetok kód frontendu. Potom sa na web dostanete tak, že prejdete na IP adresu.

Krok 6: Backend

Na spustenie backendu budete musieť spustiť súbor app.py, buď ručne, alebo vytvorením služby pre neho na počítači Pi, aby sa spustil automaticky.

Ako ste si mohli všimnúť, existuje niekoľko súborov. Kód som oddelil čo najviac, aby som mal jasný prehľad a organizáciu kódu.

Stručné vysvetlenie:

app.py: Hlavný súbor, v ktorom je pripojená databáza, hardvérový kód a kód backendu

config.py: Konfiguračný súbor pre databázové úložiská

Úložiská: Na prístup k úložisku údajov

  • Pomocník

    • devices_id: triedy, ktoré pomôžu identifikovať informácie o zariadení v databáze
    • lcd: na spustenie PCF a LCD
    • Pohony: triedy pre pohon pohonov
    • Senzory: triedy na prevádzku senzorov

Krok 7: Umiestnenie pásika LED

Umiestnenie LED pásika
Umiestnenie LED pásika

Odrezal som kus LED pásu a prilepil som ho na vrch skleníkového boxu. Pás, ktorý som použil, bolo možné odstrihnúť vo viacerých polohách a znova zapojiť, aby ste mohli umiestniť viac prúžkov a potom ich znova pripojiť pomocou drôtov, čím sa rozsvieti viac priestoru.

Krok 8: Umiestnenie skúmaviek

Umiestnenie rúrok
Umiestnenie rúrok

Rúry môžu byť umiestnené niekoľkými spôsobmi, ale v mojom prípade som ich pripevnil na bočnú stranu dna, pričom som ich držal čo najďalej od ostatnej elektroniky a nechal vodu jednoducho prúdiť do špiny.

Krok 9: Umiestnenie displeja LCD

Umiestnenie LCD
Umiestnenie LCD

Pílovým kotúčom som do veka spojovacej skrinky odrezal celok, čím som vytvoril dostatočne veľký otvor, cez ktorý by displej prešiel, ale dostatočne malý, aby za ním zostala DPS. Potom bol pomocou viečka prichytený k viečku.

LCD displej zobrazuje IP adresy Raspberry Pi, aby ste vedeli, akú adresu môžete použiť na surfovanie na webových stránkach.

Krok 10: Umiestnenie senzorov a pripojenie pásika LED

Umiestnenie senzorov a pripojenie LED pásika
Umiestnenie senzorov a pripojenie LED pásika
Umiestnenie senzorov a pripojenie LED pásika
Umiestnenie senzorov a pripojenie LED pásika

Pomocou schém fritzovania som spájkoval spoje medzi drôtmi a do vodičov umiestnil odpory pomocou tepelne zmršťovacích bužírok na ich izoláciu.

Na bokoch veka a dna skleníka boli vyrezané otvory na pripevnenie obratlíkov, cez ktoré som vytiahol vodiče pre senzory a LED pásik.

Drôty som zoskupil podľa funkcie. Napätie z drôtov a zmršťovacích bužírok zadržalo senzory. Na vodiče pre DHT11 som musel použiť iba lepidlo, pretože sa to ďalej rozšírilo.

Krok 11: Zapojenie pí

Zapojenie pí
Zapojenie pí
Zapojenie pí
Zapojenie pí
Zapojenie pí
Zapojenie pí

Vyrezal som otvory na boku spojovacej skrinky, aby umožnil neskoršie vedenie drôtov.

Potom som umiestnil dosku (s T-cobbler, PCF8574a, MCP3008, nastaviteľným odporom a TIP50), relé a Raspberry Pi na spodok spojovacej skrinky, ktorá bola potiahnutá obojstrannou páskou. Napájací zdroj sa nezmestil na dosku, takže som ho musel položiť na bok a pomocou prepojovacích káblov ho prepojiť s doskou.

Nakoniec som prevliekol vodiče adaptéra, senzora a akčného člena cez otvory spojené s drôtmi do dosky, Raspberry Pi a ďalších komponentov. Vodič čerpadla bol prerušený, aby som mohol konce umiestniť do relé, aby ho bolo možné použiť ako spínač.

Krok 12: Výroba nádoby na vodu

Výroba nádoby na vodu
Výroba nádoby na vodu

Vyrobil som nádobu na vodu z 1l plastovej fľaše na vodu tak, že som vrchnú časť odrezal a vyrezal a vymaľoval, aby vyzeral lepšie. Potom bolo dovnútra umiestnené vodné čerpadlo. Vzhľadom na pravidlo komunikácie nádob by voda mohla potenciálne pretekať potrubím sama, ale držanie trubice hore problém vyrieši.

Krok 13: Konečný výsledok

Konečný výsledok
Konečný výsledok
Konečný výsledok
Konečný výsledok

Moment, na ktorý ste čakali. Teraz môžete nečistoty a semená umiestniť do skleníka a nechať zariadenie prevziať kontrolu. Na webovej stránke môžete sledovať stav zariadenia a nastaviť optimálne hodnoty pre osvetlenie a pôdne podmienky.

Pôdu odporúčam zalievať najskôr ručne, pretože niektoré nečistoty môžu byť najskôr pekne suché. Zdá sa, že niektoré pumpy zalievajú pomerne pomaly, ale musíte byť veľmi opatrní, pretože sa naplní rýchlejšie, ako by ste čakali. Nasýtenie nad 80% môže spôsobiť, že pôda bude veľmi mokrá. A uistite sa, že snímač pôdnej vlhkosti je dostatočne hlboký.

Odporúča: