Systém autonomního zavlažování rostlin: 4 kroky
Systém autonomního zavlažování rostlin: 4 kroky
Anonim
Autonomní zavlažovací systém rostlin
Autonomní zavlažovací systém rostlin
Autonomní zavlažovací systém rostlin
Autonomní zavlažovací systém rostlin
Autonomní zavlažovací systém rostlin
Autonomní zavlažovací systém rostlin

Tento projekt představuje inteligentní autonomní systém zavlažování rostlin. Systém je energeticky autonomní pomocí 12 V baterie a solárního panelu a zavlažuje rostlinu, když jsou nastaveny správné podmínky, s dobře promyšleným (doufám) systémem odolným proti selhání. Je to chytré, protože komunikuje s uživateli pomocí aplikace Telegram.

Kroky, které systém dodržuje, jsou následující:

  • obsah vody v půdě je vždy monitorován;
  • pokud je obsah vody v půdě pod určitou hodnotou (max_moil_moisture), systém:

    • (?) kontroluje, zda není nádrž na vodu prázdná (a během) zavlažování, aby nedošlo k poškození běžícího čerpadla;
    • (?) kontroluje, zda je překročena minimální doba vody mezi dvěma zavlažovacími událostmi. To se provádí proto, aby se zabránilo přílišnému zalévání rostlin během dne (v určitém okamžiku je lepší mít trochu sucho) a aby byla zajištěna jistota v případě rozbití snímače vlhkosti půdy;
    • (?) spustit zavlažování;
    • zastaví zavlažování, kdykoli:

      • (?) obsah vody v půdě dosahuje určité hodnoty (max_moil_moisture) nebo;
      • (?) nádrž na vodu je prázdná, v takovém případě se zavlažování obnoví, jakmile se znovu naplní, nebo;
      • (?) doba zavlažování překračuje maximální dobu povolenou pro každou událost zavlažování (watering_max_time). Zde je cílem vyhnout se chodu čerpadla, dokud není nádrž na vodu prázdná, pokud dojde k netěsnosti v systému, která by zabránila zvýšení vlhkosti půdy;
  • (?) kontroluje, zda jsou rostliny zalévány alespoň každé dané časové období (max_wo_water), aby se zabránilo jejich odumření, pokud např. snímač vlhkosti půdy je rozbitý a vrací vždy vysoké hodnoty;

Uživatel je upozorněn zprávami Telegramu v každém důležitém kroku (označeno?). Uživatel může také ručně spustit zavlažovací událost z Telegramu, i když je obsah vody v půdě vyšší než daná hodnota (max_soil_moisture). Je také možné zapnout a vypnout celý systém, zeptat se, zda je systém v provozu, nebo se zeptat na aktuální hodnotu obsahu vody v půdě (viz snímek Telegramu).

Zásoby

Materiál

Zde je seznam produktů použitých k sestavení systému. Musím říci, že nedostávám žádné pobídky od Amazonu, od kterého byly zakoupeny všechny produkty.

Ovládání systému:

  • Deska NodeMCU (ESP8266) pro mozek, 17,99 EUR
  • Reléový modul, 11,99 EUR
  • 120 prototypovacích propojovacích vodičů, 6,99 EUR -> prototypování
  • 3 prkénka, 8,99 € -> prototypování
  • Vodotěsný box, 10,99 €
  • Sada rezistorů 525 kusů, 10,99 EUR
  • Tištěná deska plošných spojů s přípojkami podobnými prkénku, 9,27 EUR
  • Elektrické splétané vodiče 20, 22 nebo 24 AWG v závislosti na vašich preferencích (20 je pevnější, ale u některých připojení je třeba snížit, 22 je dobré, 24 je levnější), 18,99 EUR

Pro autonomii v energii:

  • 12V baterie, 21,90 €
  • 10W wp 12V monokrystalický solární panel, 23,90 €
  • Regulátor nabíjení 12/24V, 13,99 €

Pro nádrž na vodu:

  • Vodní čerpadlo 12V, 16,99 €
  • DC konektor samec/samice (pro připojení čerpadla), 6,99 €

Senzory:

  • Plovák na vodní hladině, 7,99 €
  • Kapacitní snímač půdní vlhkosti, 9,49 €
  • nějaký lak na nehty pro hydroizolaci snímače vlhkosti půdy, 7,99 €;

A zavlažovací systém:

Zavlažovací systém, 22,97 €

Celkem za 237,40 €. To není levné! Mějte však na paměti, že je stále levnější než předem připravený systém a má mnohem více funkcí! Také některé díly jsou pouze pro prototypování (15,98 EUR) a mnoho komponent jsem zakoupil ve skupinách po několika kusech pro jiné projekty, např. 525 rezistorů je šílené množství, pro tento projekt nepotřebujete 3 desky NodeMCU, ani 6 relé.

Krok 1: Kód

K reprodukci tohoto projektu budete potřebovat nějaké nástroje, nějaký materiál a kód z tohoto projektu.

Kód

Chcete -li získat kód z tohoto projektu, buď jej naklonujte (nebo lépe vidličkujte) z úložiště Github pomocí GIT, a pokud nevíte, co GIT, klon a vidlička znamená, jednoduše si jej stáhněte do počítače pomocí tohoto odkazu?.

Poté jej nakonfigurujte podle svých potřeb!

Abyste mohli používat Telegram, musí být NodeMCU připojeno k internetu. Udělal jsem to pomocí jeho modulu WIFI a mého domácího WIFI. Chcete-li konfigurovat vlastní připojení, otevřete skript plant_watering.ino v Arduino IDE a vyplňte chybějící hodnoty pro vaše přihlašovací údaje pro wifi (předpokládám, že máte WiFi):

Řetězec ssid = "xxxxx"; // Název vašeho řetězce Wifi String = "xxxxx"; // Wifi heslo

Poté vytvoříme telegramového robota, což je uživatelský účet trochu podobný vašemu, ale ve skutečnosti jej provozuje robot (váš NodeMCU). Chcete -li to provést, postupujte podle zde popsaných kroků. V několika slovech:

  • Otevřete Telegram (a spojte se se svým účtem);
  • Vytvořte nového robota:

    • Prohledejte BotFather ve svých kontaktech (zadejte jej do vyhledávacího pole) a otevřete s ním konverzaci (jako u jakéhokoli nového kontaktu);
    • Do konverzace napište /newbot (sledujte případ a zahrňte /!)
    • Pojmenujte svého robota, jak chcete, ale ukončete jej výrazem „bot“(např. „Watering_balcony_bot“);
    • Botfather vám dá token robota, velmi ho utajte (nesdílejte ho pomocí GIT !!), použijeme ho v několika krocích;
    • Vyhledejte jej ve svých kontaktech a pošlete mu tuto zprávu: /start
    • Zkopírujte token vrácený Botfatherem a vložte jej do skriptu plant_watering.ino zde:

      Řetězec tokenu = "xxxxxx: xxxxxxxxxxxxxxxxxxxxxxxxx"; // Telegram bot token

Váš robot je nyní naživu!

Aby mohla komunikovat s vámi, musí znát vaše ID konverzace. Protože chceme být schopni sdílet to, co robot říká, s ostatními lidmi v případě, že pojedeme na dovolenou, raději místo toho vytvořím skupinový chat. Vytvořte tedy jeden (Nová skupina), přidejte svého robota vyhledáním jeho jména a dočasně přidejte třetího robota s názvem IDBot. Poté pojmenujte svůj skupinový chat, jak chcete. Otevřete svůj skupinový chat a zadejte /getgroupid. IDBot vrátí číslo jako -xxxxxxxxx (nezapomeňte na mínus při kopírování!), To je vaše ID skupinového chatu!

Můžete také požádat /getid o získání vašeho osobního ID, takže váš robot místo toho odešle zprávy přímo vám (neposílá je skupině)

Zkopírujte ID a vložte jej do skriptu plant_watering.ino zde:

int chatID = -000000000; // Toto je ID vašeho skupinového chatu Pokud chcete, aby robot odesílal zprávy přímo vám, vložte sem /getid

Poté odeberte IDBot ze své skupiny pro případ (nechceme, aby unikla nějaká data).

V posledním kroku budete muset nainstalovat knihovny CTBot a ArduinoJson. Chcete -li to provést, zadejte ctrl+maj+I, vyhledejte CTBot a vyhledejte CTBot podle Stefano Ledda a klikněte na nainstalovat. Poté opakujte pro ArduinoJson a vyhledejte ArduinoJson podle Benoita Blanchona, ale prozatím nainstalujte verzi 5.13.5, protože CTBot zatím není kompatibilní se šestou verzí (zde můžete zkontrolovat, zda došlo ke změnám).

A je to, váš kód je připraven! Nyní jej můžete nahrát na NodeMCU! Pokud se vyskytnou nějaké chyby, zkontrolujte, zda jste jako typ desky vybrali NodeMCU 1.0 a zda používáte správnou verzi pro své knihovny.

Krok 2: Nástroje

Nástroje

Nástroje jsou velmi jednoduché, použil jsem pro tento projekt:

  • Páječka + cín (např. 220 V 60 W);
  • Multimetr (můj je TackLife DM01M);
  • Plochý šroubovák (malý je lepší);
  • Řezací kleště;

Pokud je máte, můžete také přidat několik odizolovačů drátu, ale nejsou nepostradatelné.

Krok 3: Sestavení

Shromáždění
Shromáždění

Sestavení dílů najdete pomocí Fritzing k otevření projektu Fritzing v úložišti Github.

Poznámka: NodeMCU je připojen k regulátoru solárního nabíjení pomocí kabelu USB (ten ve schématu jej nemá). V části Materiál najdete příklad solárního regulátoru nabíjení s USB.

Všechny vlastní díly jsem zpřístupnil ve složce fritzování z projektu Github (všechny lze najít na internetu kromě vodního plováku, protože jsem ho vytvořil).

Krok 4: Poděkování

Chtěl bych poděkovat svému úžasnému partnerovi, který mi to umožnil o víkendech! A samozřejmě všichni tvůrci, kteří projekt umožnili, jako například @shurillu pro super knihovnu CTBot, EstebanP27 pro jeho tutoriál, ze kterého jsem se pro tento projekt hodně naučil! Také bych chtěl poděkovat svgrepo, ze kterého jsem použil SVG jako základ pro logo.