Cuprins:

IoT APIS V2 - Sistem autonom de irigare a plantelor activat IoT: 17 pași (cu imagini)
IoT APIS V2 - Sistem autonom de irigare a plantelor activat IoT: 17 pași (cu imagini)

Video: IoT APIS V2 - Sistem autonom de irigare a plantelor activat IoT: 17 pași (cu imagini)

Video: IoT APIS V2 - Sistem autonom de irigare a plantelor activat IoT: 17 pași (cu imagini)
Video: Les légendes de Gaïa 3- De Tibet à l'Égypte 2024, Septembrie
Anonim
IoT APIS V2 - Sistem autonom de irigare a plantelor activat de IoT
IoT APIS V2 - Sistem autonom de irigare a plantelor activat de IoT
IoT APIS V2 - Sistem autonom de irigare a plantelor activat de IoT
IoT APIS V2 - Sistem autonom de irigare a plantelor activat de IoT

Acest proiect este o evoluție a instrucțiunii mele anterioare: APIS - Sistem automat de irigare a plantelor

Folosesc APIS de aproape un an și am vrut să îmbunătățesc designul anterior:

  1. Capacitatea de a monitoriza planta de la distanță. Acesta este modul în care acest proiect a devenit compatibil cu IoT.
  2. Ușor de înlocuit sonda de umiditate a solului. Am trecut prin trei modele diferite ale sondei de umiditate și, indiferent de materialul pe care l-am folosit, s-a erodat mai devreme sau mai târziu. Așadar, noul design trebuia să dureze cât mai mult posibil și să fie înlocuit rapid și ușor.
  3. Nivelul apei în găleată. Am vrut să pot spune câtă apă mai este disponibilă în găleată și să opresc udarea când găleată este goală.
  4. Arată mai bine. O cutie de proiect gri a fost un început bun, dar am vrut să creez ceva care să arate puțin mai bine. Vei fi judecătorul dacă aș fi putut să ating acest obiectiv …
  5. Autonomie. Am vrut ca noul sistem să fie autonom în ceea ce privește puterea și / sau disponibilitatea internetului.

Proiectul rezultat nu este mai puțin configurabil decât predecesorul său și are caracteristici utile suplimentare.

De asemenea, am vrut să folosesc imprimanta 3D nou achiziționată, așa că unele dintre părți vor trebui tipărite.

Pasul 1: Hardware

Hardware
Hardware
Hardware
Hardware

Veți avea nevoie de următoarele componente pentru a construi IoT APIS v2:

  1. NodeMcu Lua ESP8266 ESP-12E WIFI Development Board - pe banggood.com
  2. Modul de măsurare a distanței senzorului ultrasonic cu 3 pini SODIAL (R), traductor dual, cu trei pini la bord - pe amazon.com
  3. DC 3V-6V 5V Pompa submersibilă mică de apă Pompa acvariu pentru pește - pe ebay.com
  4. LED cu trei culori - pe amazon.com
  5. Vero board - pe amazon.com
  6. PN2222 tranzistor - pe amazon.com
  7. Șuruburi, șuruburi și piulițe din plastic
  8. Echipamente și consumabile de lipit
  9. Sârme, rezistențe, anteturi și alte componente electronice diverse
  10. Golit Tropicana JO 2.78 QT borcan
  11. 2 cuie zincate

Pasul 2: Proiectare generală

Design general
Design general
Design general
Design general

Proiectarea generală constă din următoarele componente: 1. Sonda de umiditate a solului și incinta de udare a plantelor (combinată - imprimată 3D) 2. Tuburi și cabluri3. Senzor de scurgere a apei în tavă (imprimat 3d) 4. Modul de control montat deasupra borcanului OJ (plasat și inclus în cutia imprimată 3D) 5. Pompa de apă scufundată6. Schiță NodeMCU7. Configurația IoT Sursă de alimentare: USB prin priză - SAU - panou solar (mod autonom) Să discutăm fiecare componentă individual

Pasul 3: Pompa de apă scufundată

Pompa de apă scufundată
Pompa de apă scufundată
Pompa de apă scufundată
Pompa de apă scufundată

Pompa de apă scufundată se află sub mânerul borcanului OJ (pentru a evita interferențele cu măsurarea nivelului apei). Pompa este așezată în așa fel încât să „plutească” la aproximativ 2-3 mm deasupra fundului borcanului pentru a permite curgerea liberă a apei la admisie.

Deoarece pompa ar trebui să fie complet scufundată pentru funcționarea normală, nivelul minim de apă din borcan ar trebui să fie de aproximativ 3 cm (aproximativ 1 inch).

Pasul 4: Modul de control montat pe partea de sus a borcanului OJ

Modul de control montat pe partea superioară a borcanului OJ
Modul de control montat pe partea superioară a borcanului OJ
Modul de control montat pe partea superioară a borcanului OJ
Modul de control montat pe partea superioară a borcanului OJ
Modul de control montat pe partea superioară a borcanului OJ
Modul de control montat pe partea superioară a borcanului OJ

Am ales borcanul standard standard Tropicana OJ pentru a fi un recipient de apă. Acestea sunt disponibile pe scară largă și standard.

Modulul de control este plasat deasupra borcanului după ce robinetul original a fost îndepărtat.

Platforma pe care este amplasat modulul de control este tipărită 3D. Fișierul STL este furnizat în secțiunile fișierelor și schițelor din acest instructable.

Pompa, tubulatura și cablajul sunt direcționate prin mânerul borcanului Tropicana pentru a goli spațiul pentru măsurarea nivelului apei.

Nivelul apei este măsurat de senzorul de distanță cu ultrasunete integrat cu platforma modulului de comandă. Nivelul apei este determinat deoarece diferența este măsurarea distanței unui borcan gol și borcanul umplut cu apă la un anumit nivel.

Modulul de comandă și senzorul SUA sunt acoperite cu o „cupolă” tipărită 3D. Fișierul STL al domului este furnizat în secțiunea fișiere și schițe din acest instructable.

Pasul 5: Modul de control - Scheme

Modul de control - Scheme
Modul de control - Scheme
Modul de control - Scheme
Modul de control - Scheme

Schemele pentru modulul de control (inclusiv lista componentelor) și fișierele de proiectare a plăcilor de pâine sunt furnizate în secțiunea fișiere și schițe din acest instructable.

NOTĂ: Lucrul cu NodeMCU s-a dovedit a fi o sarcină dificilă în ceea ce privește pinii GPIO disponibili. Aproape toate GPIO-urile servesc o serie de funcții, ceea ce le face fie indisponibile pentru utilizare, fie imposibil de utilizat în modul de repaus profund (datorită funcțiilor speciale pe care le joacă în timpul procesului de boot). În cele din urmă, am reușit să găsesc un echilibru între utilizarea GPIO-urilor și cerințele mele, dar a fost nevoie de câteva iterații frustrante.

De exemplu, un număr de GPIO rămân „fierbinți” în timpul somnului profund. Conectarea LED-urilor la cei care au învins scopul reducerii consumului de energie în timpul somnului profund.

Pasul 6: Senzor de scurgere a apei în tavă

Senzor de scurgere a apei în tavă
Senzor de scurgere a apei în tavă
Senzor de scurgere a apei în tavă
Senzor de scurgere a apei în tavă
Senzor de scurgere a apei în tavă
Senzor de scurgere a apei în tavă

Dacă oala dvs. are o gaură de revărsare în partea de jos, atunci există riscul ca apa să revărseze tava de jos și să se vărsă pe podea (raftul sau orice altceva este amplasat planta dvs.).

Am observat că măsurarea umidității solului este foarte afectată de poziția sondei, de densitatea solului, de distanța față de orificiul de udare etc.

Senzorul de preaplin este un distanțier între oală și tava inferioară, cu două fire înfășurate în jurul barelor. Când apa umple tava, cele două fire se conectează, semnalând astfel microcontrolerul că apa este prezentă în tava inferioară.

În cele din urmă, apa se evaporă, iar firele se deconectează.

Tava inferioară este imprimată 3D. Fișierul STL este disponibil din secțiunea fișiere și schițe din acest instructable.

Pasul 7: Sonda de umiditate a solului și incinta de udare

Image
Image
Sonda de umiditate a solului și incinta de udare
Sonda de umiditate a solului și incinta de udare
Sonda de umiditate a solului și incinta de udare
Sonda de umiditate a solului și incinta de udare

Am proiectat o incintă tipărită hexagonală 3D pentru a fi o sondă combinată de umiditate a solului și o incintă de udare.

Un fișier de tipărire 3D (STL) este disponibil în secțiunea fișiere și schițe din acest instructable.

Incinta este formată din două părți, care trebuie lipite între ele. Un accesoriu ghimpat modificat este lipit în partea laterală a incintei pentru a atașa tubulatura.

Două găuri de 4,5 mm sunt prevăzute pentru a amplasa cuie galvanizate, servind drept sonde de umiditate a solului. Conectivitatea la microcontroler se realizează prin intermediul distanțierelor metalice selectate special pentru a se potrivi unghiilor.

Proiectarea 3D se face folosind www.tinkercad.com, care este un instrument de proiectare 3D excelent și ușor de utilizat, dar puternic.

NOTĂ: Poate doriți să întrebați de ce nu am folosit pur și simplu una dintre sondele de sol pre-fabricate? Răspunsul este: folia de pe aceștia se dizolvă în câteva săptămâni. De fapt, chiar și cu un timp limitat, unghiile sunt sub tensiune, acestea încă se erodează și trebuie înlocuite cel puțin o dată pe an. Designul de mai sus permite înlocuirea unghiilor în câteva secunde.

Pasul 8: Tuburi și cabluri

Tuburi și cabluri
Tuburi și cabluri

Apa este livrată în plan prin tuburi semi-clare din cauciuc super-moale din latex (cu diametru interior de 1/4 "și diametru exterior de 5/16").

Ieșirea pompei necesită tuburi mai mari și un adaptor: Racord cu gheare din polipropilenă rezistentă la substanțe chimice, reducere dreaptă pentru ID tub 1/4 "x 1/8".

În cele din urmă, un racord cu gheare din polipropilenă rezistent la substanțe chimice, drept pentru tub ID de 1/8 servește drept conector la incinta de udare.

Pasul 9: NodeMCU Sketch

Schiță NodeMCU
Schiță NodeMCU

Schița NodeMCU implementează mai multe caracteristici ale IoT APIS v2:

  1. Se conectează la rețeaua WiFi existentă -OR- rulează ca punct de acces WiFi (în funcție de configurație)
  2. Solicită servere NTP pentru a obține ora locală
  3. Implementează server web pentru monitorizarea plantelor și ajustarea parametrilor de udare și rețea
  4. Măsurează umiditatea solului, scurgerile de apă din tava inferioară, nivelul apei în borcan și oferă indicații vizuale prin intermediul unui LED cu 3 culori
  5. Implementează moduri de operare online și de economisire a energiei
  6. Salvează informații despre fiecare dintre udările care rulează local în memoria flash internă

Pasul 10: NodeMCU Sketch - WiFi

NodeMCU Sketch - WiFi
NodeMCU Sketch - WiFi

În mod implicit, IoT APIS v2 va crea un punct de acces WiFi local numit „Plant_XXXXXX”, unde XXXXXX este numărul de serie al cipului ESP8266 de pe placa NodeMCU.

Puteți accesa serverul web încorporat prin URL: https://plant.io Serverul DNS intern va conecta dispozitivul la pagina de stare APIS.

Din pagina de stare, puteți naviga la pagina cu parametrii de udare și pagina cu parametrii de rețea, unde puteți face IoT APIS v2 să se conecteze la rețeaua WiFi și să începeți raportarea stării în cloud.

IoT APIS acceptă moduri de operare online și de economisire a energiei:

  1. În modul online IoT APIS menține conexiunea WiFi permanentă, astfel încât să puteți verifica starea instalației în orice moment
  2. În modul de economisire a energiei, IoT APIS verifică periodic umiditatea solului și nivelul apei, punând dispozitivul în modul „somn profund” între ele, reducând astfel dramatic consumul de energie. Cu toate acestea, dispozitivul nu este disponibil online tot timpul, iar parametrii ar putea fi modificați doar în timpul perioadei de pornire a dispozitivului (în prezent, la fiecare 30 de minute, aliniat cu ceasul în oră / jumătate de oră în timp real). Dispozitivul va rămâne online timp de 1 minut la fiecare 30 de minute pentru a permite modificări ale configurației și apoi va intra în modul de repaus profund. Dacă utilizatorul se conectează la dispozitiv, timpul de „sus” este prelungit la 3 minute pentru fiecare conexiune.

Când dispozitivul este conectat la rețeaua WiFi locală, adresa IP a acestuia este raportată serverului cloud IoT și vizibilă pe dispozitivul de monitorizare mobil.

Pasul 11: NodeMCU Sketch - NTP

NodeMCU Sketch - NTP
NodeMCU Sketch - NTP

IoT APIS v2 folosește protocolul NTP pentru a obține ora locală de pe serverele de timp NIST. Timpul corect este utilizat pentru a determina dacă dispozitivul trebuie să intre în modul „noapte”, adică să evite pornirea pompei sau LED-ul intermitent.

Noaptea este configurabilă separat pentru zilele lucrătoare și dimineața weekendului.

Pasul 12: NodeMCU Sketch - Server web local

NodeMCU Sketch - Server web local
NodeMCU Sketch - Server web local
NodeMCU Sketch - Server web local
NodeMCU Sketch - Server web local
NodeMCU Sketch - Server web local
NodeMCU Sketch - Server web local

IoT APIS v2 implementează un server web local pentru raportarea stării și modificările de configurare. Pagina principală oferă informații despre umiditatea curentă și nivelul apei, prezența apei de revărsare în tava inferioară și statistici despre cea mai recentă rundă de udare. Pagina de configurare a rețelei (accesibilă) prin butonul de configurare a rețelei) oferă posibilitatea de a vă conecta la rețeaua WiFi locală și de a comuta între modurile online și de economisire a energiei. (Modificările la configurația rețelei vor determina resetarea dispozitivului) Pagina de configurare a udării (accesibilă prin intermediul butonului de configurare a apei) oferă parametri de udare de schimbare a capacității (umiditatea solului pentru a porni / opri udarea, durata cursei de udare și pauza de saturație între curse, numărul de curse, etc.) Fișierele HTML ale serverului web sunt situate în dosarul de date al schiței IDE APIS Arduino IDE. Acestea ar trebui încărcate în memoria flash NodeMCU ca sistem de fișiere SPIFF folosind instrumentul „ESP8266 Sketch Data Upload” aflat aici.

Pasul 13: NodeMCU Sketch - Jurnal de udare locală și acces la sistemul de fișiere intern

NodeMCU Sketch - Jurnal de udare locală și acces la sistemul de fișiere intern
NodeMCU Sketch - Jurnal de udare locală și acces la sistemul de fișiere intern

În cazul în care conectivitatea la rețea nu este disponibilă, sistemul IoT APIS v2 înregistrează toate activitățile de udare la nivel local.

Pentru a accesa jurnalul, conectați-vă la dispozitiv și navigați la pagina „/ editați”, apoi descărcați fișierul watering.log. Acest fișier conține istoricul tuturor cursurilor de udare de la începutul înregistrării.

La acest pas este atașat un exemplu de astfel de fișier jurnal (în format separat de tab).

NOTĂ: Pagina de descărcare nu este disponibilă când IoT APIS v2 rulează este modul Punct de acces (datorită dependenței de biblioteca Java Script online).

Pasul 14: Schiță NodeMCU - Umiditatea solului, Scurgerea apei în tava de jos, Nivelul apei, LED cu 3 culori

Image
Image
NodeMCU Sketch - Umiditatea solului, Scurgerea apei în tava inferioară, Nivelul apei, LED cu 3 culori
NodeMCU Sketch - Umiditatea solului, Scurgerea apei în tava inferioară, Nivelul apei, LED cu 3 culori
Schiță NodeMCU - Umiditatea solului, Scurgerea apei în tava inferioară, Nivelul apei, LED cu 3 culori
Schiță NodeMCU - Umiditatea solului, Scurgerea apei în tava inferioară, Nivelul apei, LED cu 3 culori

Măsurarea umidității solului se bazează pe același principiu ca și APIS-ul original. Vă rugăm să consultați instrucțiunile pentru detalii.

Scurgerile tăvii de apă sunt detectate prin aplicarea momentană de tensiune a firelor situate sub oală folosind rezistențe interne PULLUP. Dacă starea PIN rezultată este scăzută, atunci este apă în tavă. Starea PIN de HIGH indică faptul că circuitul este „rupt”, prin urmare nu există apă în tava inferioară.

Nivelul apei este determinat prin măsurarea distanței de la vârful borcanului la suprafața apei și compararea acestuia cu distanța până la fundul unui borcan gol. Vă rugăm să rețineți utilizarea senzorului cu 3 pini! Acestea sunt mai scumpe decât senzorii cu patru pini HC-SR04. Din păcate, am rămas fără GPIO-uri pe NodeMCU și a trebuit să tai fiecare fir posibil pentru ca proiectarea să funcționeze pe un singur NodeMCU fără circuite suplimentare.

LED-ul cu 3 culori este utilizat pentru a indica vizual starea APIS:

  1. VERDE intermitent moderat - conectarea la rețeaua WiFi
  2. Clipește rapid VERDE - interogarea serverului NTP
  3. Scurt VERDE solid - conectat la WiFi și a obținut ora curentă de la NTP cu succes
  4. ALB solid scurt - finalizarea inițializării rețelei
  5. ALB intermitent rapid - inițierea modului punct de acces
  6. Intermitent rapid ALBASTRU - udare
  7. Moderat Intermitent ALBASTRU - saturare
  8. AMBER pe scurt solid, urmat de RED pe scurt solid - incapabil să obțină timp de la NTP
  9. ALB pe scurt solid în timpul accesului la serverul web intern

LED-ul nu funcționează în modul „noapte”. Modul NIght ar putea fi stabilit în mod fiabil numai dacă dispozitivul a reușit să obțină ora locală de pe serverele NTP cel puțin o dată (ceasul local în timp real va fi utilizat până la stabilirea următoarei conexiuni la NTP)

Exemplu de funcție LED este disponibil aici pe YouTube.

Pasul 15: energie solară, bancă de energie și funcționare autonomă

Energie solară, bancă de energie și funcționare autonomă
Energie solară, bancă de energie și funcționare autonomă
Energie solară, bancă de energie și funcționare autonomă
Energie solară, bancă de energie și funcționare autonomă
Energie solară, bancă de energie și funcționare autonomă
Energie solară, bancă de energie și funcționare autonomă

Una dintre ideile din spatele IoT APIS v2 a fost capacitatea de a opera autonom.

Proiectarea actuală folosește un panou de energie solară și o bancă de energie provizorie de 3600 mAh pentru a realiza acest lucru.

  1. Panoul solar este disponibil pe amazon.com
  2. Power bank este, de asemenea, disponibil pe amazon.com

Panoul solar a încorporat și o baterie de 2600 mAh, dar nu a reușit să susțină funcționarea APIS 24 de ore chiar și în modul de economisire a energiei (bănuiesc că bateria nu se descurcă bine cu încărcarea și descărcarea simultană). O combinație de două baterii pare să ofere o putere adecvată și să permită reîncărcarea ambelor baterii în timpul zilei. Panoul solar încarcă banca de alimentare, în timp ce banca de alimentare alimentează dispozitivul APIS.

Vă rugăm să rețineți:

Aceste componente sunt opționale. Puteți alimenta dispozitivul cu orice adaptor USB care furnizează curent 1A.

Pasul 16: Integrare IoT - Blynk

Integrare IoT - Blynk
Integrare IoT - Blynk
Integrare IoT - Blynk
Integrare IoT - Blynk
Integrare IoT - Blynk
Integrare IoT - Blynk

Unul dintre obiectivele noului design a fost capacitatea de a monitoriza de la distanță umiditatea solului, nivelul apei și alți parametri.

Am ales Blynk (www.blynk.io) ca platformă IoT datorită ușurinței sale de utilizare și designului vizual atrăgător.

Deoarece schița mea se bazează pe biblioteca multitasking cooperativă TaskScheduler, nu am vrut să folosesc bibliotecile de dispozitive Blynk (nu sunt activate pentru TaskScheduler). În schimb, am folosit Blynk HTTP RESTful API (disponibil aici).

Configurarea aplicației este cât se poate de intuitivă. Vă rugăm să urmați capturile de ecran atașate.

Pasul 17: Schițe și fișiere

Schițe și fișiere
Schițe și fișiere

Schița IoT APIS v2 se află pe github aici: Sketch

Câteva biblioteci utilizate de schiță sunt situate aici:

  1. TaskScheduler - bibliotecă multitasking cooperativă pentru Arduino și esp8266
  2. AvgFilter - implementarea întreagă a filtrului mediu pentru netezirea datelor senzorilor
  3. RTCLib - implementarea hardware-ului și software-ului în timp real (modificat de mine)
  4. Time - Modificări pentru biblioteca Time
  5. Timezone - bibliotecă care susține calculele fusului orar

NOTĂ:

Fișele tehnice, documentația pin și fișierele 3D se află în sub-dosarul „fișiere” din schița principală.

Fișierele HTML pentru serverul web încorporat trebuie încărcate în memoria flash NODE MCU utilizând arduino-esp8266fs-plugin (care creează un fișier de sistem de fișiere din sub-dosarul „date” din dosarul principal de schiță și îl încarcă în memoria flash)

Concurs de grădinărit interior 2016
Concurs de grădinărit interior 2016
Concurs de grădinărit interior 2016
Concurs de grădinărit interior 2016

Locul doi în cadrul concursului de grădinărit interior 2016

Recomandat: