Inhoudsopgave:

IoT APIS V2 - Autonoom IoT-enabled geautomatiseerd plantirrigatiesysteem - Ajarnpa
IoT APIS V2 - Autonoom IoT-enabled geautomatiseerd plantirrigatiesysteem - Ajarnpa

Video: IoT APIS V2 - Autonoom IoT-enabled geautomatiseerd plantirrigatiesysteem - Ajarnpa

Video: IoT APIS V2 - Autonoom IoT-enabled geautomatiseerd plantirrigatiesysteem - Ajarnpa
Video: Autonomous trains: Technology Explained 2024, November
Anonim
IoT APIS V2 - Autonoom IoT-geactiveerd geautomatiseerd plantirrigatiesysteem
IoT APIS V2 - Autonoom IoT-geactiveerd geautomatiseerd plantirrigatiesysteem
IoT APIS V2 - Autonoom IoT-geactiveerd geautomatiseerd plantirrigatiesysteem
IoT APIS V2 - Autonoom IoT-geactiveerd geautomatiseerd plantirrigatiesysteem

Dit project is een evolutie van mijn vorige instructable: APIS - Automated Plant Irrigation System

Ik gebruik APIS nu bijna een jaar en wilde het vorige ontwerp verbeteren:

  1. Mogelijkheid om de plant op afstand te bewaken. Zo werd dit project IoT-enabled.
  2. Eenvoudig te vervangen bodemvochtsonde. Ik heb drie verschillende ontwerpen van de vochtigheidssonde doorgemaakt en het maakt niet uit welk materiaal ik gebruikte, vroeg of laat erodeerde het. Het nieuwe ontwerp moest dus zo lang mogelijk meegaan en snel en gemakkelijk vervangen kunnen worden.
  3. Waterniveau in de emmer. Ik wilde kunnen zien hoeveel water er nog in de emmer zit en stoppen met water geven als de emmer leeg is.
  4. Beter uiterlijk. Een grijze projectdoos was een goed begin, maar ik wilde iets maken dat er wat beter uitzag. U zult de rechter zijn als ik in staat was om dat doel te bereiken…
  5. Autonomie. Ik wilde dat het nieuwe systeem autonoom zou zijn in termen van stroom en/of beschikbaarheid van internet.

Het resulterende project is niet minder configureerbaar dan zijn voorganger en heeft extra handige functies.

Ik wilde ook mijn nieuw aangeschafte 3D-printer gebruiken, dus sommige onderdelen zullen moeten worden afgedrukt.

Stap 1: Hardware

Hardware
Hardware
Hardware
Hardware

U hebt de volgende componenten nodig om IoT APIS v2 te bouwen:

  1. NodeMcu Lua ESP8266 ESP-12E WIFI-ontwikkelbord - op banggood.com
  2. SODIAL(R) 3-pins ultrasone sensorafstandsmeetmodule, dubbele transducer, driepins aan boord - op amazon.com
  3. DC 3V-6V 5V Kleine Dompelpomp Aquarium Aquariumpomp - op ebay.com
  4. Driekleurige LED - op amazon.com
  5. Vero-bord - op amazon.com
  6. PN2222-transistor - op amazon.com
  7. Kunststof schroeven, bouten en moeren
  8. Soldeerapparatuur en benodigdheden
  9. Draden, weerstanden, headers en andere diverse elektronische componenten
  10. Lege Tropicana OJ 2.78 QT pot
  11. 2 gegalvaniseerde nagels

Stap 2: Algemeen ontwerp

Algemeen ontwerp
Algemeen ontwerp
Algemeen ontwerp
Algemeen ontwerp

Het totale ontwerp bestaat uit de volgende componenten: 1. Bodemvochtsonde en bewateringskast voor planten (gecombineerd - 3d geprint)2. Buizen en bedrading3. Ladewaterleksensor (3d geprint)4. Bedieningsmodule bovenop de PB-pot gemonteerd (geplaatst en ingesloten in de 3D-geprinte behuizing)5. Ondergedompeld water pump6. NodeMCU schets7. IoT-configuratie8. Voeding: USB via stopcontact -OF- zonnepaneel (autonome modus)Laten we elk onderdeel afzonderlijk bespreken

Stap 3: Ondergedompelde waterpomp

Ondergedompelde waterpomp
Ondergedompelde waterpomp
Ondergedompelde waterpomp
Ondergedompelde waterpomp

De ondergedompelde waterpomp bevindt zich onder het handvat van de PB-pot (om interferentie met de meting van het waterniveau te voorkomen). De pomp is zo geplaatst dat deze ongeveer 2-3 mm boven de bodem van de pot "zweeft", zodat er vrij water naar de inlaat kan stromen.

Omdat de pomp voor normaal gebruik volledig ondergedompeld moet zijn, moet het minimale waterniveau in de pot ongeveer 3 cm (ongeveer 1 inch) zijn.

Stap 4: Besturingsmodule bovenop de OJ Jar

Besturingsmodule bovenop de OJ Jar
Besturingsmodule bovenop de OJ Jar
Besturingsmodule bovenop de OJ Jar
Besturingsmodule bovenop de OJ Jar
Besturingsmodule bovenop de OJ Jar
Besturingsmodule bovenop de OJ Jar

Ik koos een standaard grote Tropicana OJ-pot als watercontainer. Die zijn overal verkrijgbaar en standaard.

De regelmodule wordt bovenop de kan geplaatst nadat de originele kraan is verwijderd.

Het platform waarop de besturingsmodule zich bevindt, is 3D-geprint. Het STL-bestand wordt geleverd in de secties bestanden en schetsen van deze instructable.

De pomp, slangen en bedrading worden door het handvat van de Tropicana-pot geleid om ruimte vrij te maken voor het meten van het waterpeil.

Het waterniveau wordt gemeten door de ultrasone afstandssensor die is geïntegreerd in het platform van de besturingsmodule. Het waterpeil wordt bepaald als een afstandsmeting tussen een lege pot en een pot die tot een bepaald niveau met water is gevuld.

Regelmodule en US-sensor zijn bedekt met een 3D-geprinte "dome". STL-bestand van de koepel is te vinden in de sectie bestanden en schetsen van dit instructable.

Stap 5: Besturingsmodule - Schema's

Besturingsmodule - Schema's
Besturingsmodule - Schema's
Besturingsmodule - Schema's
Besturingsmodule - Schema's

Schema's voor de besturingsmodule (inclusief de lijst met componenten) en breadboard-ontwerpbestanden zijn te vinden in de sectie bestanden en schetsen van deze instructable.

OPMERKING: Werken met NodeMCU bleek een uitdagende taak te zijn in termen van beschikbare GPIO-pinnen. Bijna alle GPIO's hebben een aantal functies, waardoor ze ofwel niet beschikbaar zijn voor gebruik, ofwel onmogelijk te gebruiken in de diepe slaapmodus (vanwege speciale functies die ze afspelen tijdens het opstartproces). Uiteindelijk slaagde ik erin een balans te vinden tussen het gebruik van GPIO's en mijn vereisten, maar het kostte een paar frustrerende iteraties.

Zo blijven een aantal GPIO's "heet" tijdens diepe slaap. Door LED aan te sluiten op degenen die het doel van verlaging van het stroomverbruik tijdens diepe slaap hebben verslagen.

Stap 6: Waterleksensor lade

Lade Waterlek Sensor
Lade Waterlek Sensor
Lade Waterlek Sensor
Lade Waterlek Sensor
Lade Waterlek Sensor
Lade Waterlek Sensor

Als je pot een overloopgat aan de onderkant heeft, bestaat het risico dat water over de onderste bak loopt en op de vloer morst (plank of waar je plant ook op staat).

Ik heb gemerkt dat de meting van de bodemvochtigheid sterk wordt beïnvloed door de positie van de sonde, de bodemdichtheid, de afstand tot de gieter, enz. Met andere woorden, alleen bodemvochtigheid kan schadelijk zijn voor uw huis als het water over de bodemlade loopt en overloopt.

De overloopsensor is een afstandhouder tussen de pot en de onderbak, met twee draden om de spijlen gewikkeld. Wanneer water de bak vult, worden de twee draden met elkaar verbonden, waardoor de microcontroller wordt gesignaleerd dat er water in de onderste bak aanwezig is.

Uiteindelijk verdampt het water en worden de draden losgekoppeld.

Onderste lade is 3D geprint. Het STL-bestand is beschikbaar in de sectie bestanden en schetsen van deze instructable.

Stap 7: Bodemvochtigheidssonde en bewateringsbehuizing

Image
Image
Bodemvochtigheidssonde en bewateringsbehuizing
Bodemvochtigheidssonde en bewateringsbehuizing
Bodemvochtigheidssonde en bewateringsbehuizing
Bodemvochtigheidssonde en bewateringsbehuizing

Ik ontwierp een zeshoekige 3D-geprinte behuizing als een gecombineerde bodemvochtsonde en bewateringsbehuizing.

Een 3D-afdrukbestand (STL) is beschikbaar in de sectie bestanden en schetsen van deze instructable.

De behuizing bestaat uit twee delen, die aan elkaar gelijmd moeten worden. Een aangepaste fitting met weerhaken wordt in de zijkant van de behuizing gelijmd om buizen te bevestigen.

Er zijn twee gaten van 4,5 mm voorzien om de gegalvaniseerde spijkers te plaatsen, die dienen als sondes voor bodemvocht. Connectiviteit met de microcontroller wordt bereikt via metalen afstandhouders die speciaal zijn geselecteerd om op de nagels te passen.

3D-ontwerp wordt gedaan met behulp van www.tinkercad.com, een geweldige en gebruiksvriendelijke maar krachtige 3D-ontwerptool.

OPMERKING: Misschien wilt u zich afvragen waarom ik niet gewoon een van de voorgefabriceerde grondsondes heb gebruikt? Het antwoord is: de folie daarop lost binnen enkele weken op. Zelfs met een beperkte tijd dat de nagels onder spanning staan, eroderen ze nog steeds en moeten ze minstens één keer per jaar worden vervangen. Met het bovenstaande ontwerp kunnen de nagels binnen enkele seconden worden vervangen.

Stap 8: Slangen en bedrading

Slangen en bedrading
Slangen en bedrading

Water wordt aan het plan geleverd via superzachte halfdoorzichtige slangen van latexrubber (met 1/4" binnendiameter en 5/16" buitendiameter).

Voor de pompuitlaat zijn grotere slangen en een adapter nodig: Chemisch-resistente polypropyleen getande fitting, recht verkleinend voor 1/4" x 1/8" buis-ID.

Ten slotte dient een chemisch bestendige fitting van polypropyleen met weerhaken, recht voor 1/8 buis-ID als verbinding met de bewateringsbehuizing.

Stap 9: NodeMCU Sketch

NodeMCU-schets
NodeMCU-schets

NodeMCU sketch implementeert verschillende functies van IoT APIS v2:

  1. Maakt verbinding met het bestaande wifi-netwerk -OF- werkt als wifi-toegangspunt (afhankelijk van de configuratie)
  2. Vraagt NTP-servers om lokale tijd te verkrijgen
  3. Implementeert webserver voor plantbewaking en aanpassing van bewaterings- en netwerkparameters
  4. Meet bodemvochtigheid, waterlekkage op de bodem, waterniveau in de pot en geeft visuele indicatie via 3-kleuren LED
  5. Implementeert online en energiebesparende werkingsmodi
  6. Slaat informatie over elk van de gietbeurten lokaal op in het interne flashgeheugen

Stap 10: NodeMCU Sketch - WiFi

NodeMCU Sketch - WiFi
NodeMCU Sketch - WiFi

Standaard zal IoT APIS v2 een lokaal WiFi-toegangspunt creëren met de naam "Plant_XXXXXX", waarbij XXXXXX het serienummer is van de ESP8266-chip aan boord van NodeMCU.

U hebt toegang tot de ingebouwde webserver via URL: https://plant.io interne DNS-server zal uw apparaat verbinden met de APIS-statuspagina.

Vanaf de statuspagina kunt u naar de pagina met bewateringsparameters en netwerkparameters navigeren, waar u IoT APIS v2 verbinding kunt maken met uw WiFi-netwerk en kunt beginnen met het rapporteren van de status aan de cloud.

IoT APIS ondersteunt online en energiebesparende werkingsmodi:

  1. In de online modus houdt IoT APIS de wifi-verbinding de hele tijd in stand, zodat u de status van uw installatie op elk moment kunt controleren
  2. In de energiebesparende modus controleert IoT APIS periodiek de bodemvochtigheid en het waterpeil, waarbij het apparaat tussendoor in de "diepe slaap"-modus wordt gezet, waardoor het stroomverbruik drastisch wordt verminderd. Het apparaat is echter niet altijd online beschikbaar en parameters kunnen alleen worden gewijzigd tijdens het opstarten van het apparaat (momenteel elke 30 minuten, afgestemd op de realtime klok van uur/half uur). Het apparaat blijft elke 30 minuten 1 minuut online om configuratiewijzigingen mogelijk te maken, en gaat vervolgens naar de diepe slaapmodus. Als de gebruiker verbinding maakt met het apparaat, wordt de "up"-tijd verlengd tot 3 minuten voor elke verbinding.

Wanneer het apparaat is verbonden met een lokaal wifi-netwerk, wordt het IP-adres gerapporteerd aan de IoT-cloudserver en zichtbaar op het mobiele bewakingsapparaat.

Stap 11: NodeMCU Sketch - NTP

NodeMCU Sketch - NTP
NodeMCU Sketch - NTP

IoT APIS v2 gebruikt het NTP-protocol om lokale tijd te verkrijgen van de NIST-tijdservers. De juiste tijd wordt gebruikt om te bepalen of het apparaat in de "nacht"-modus moet gaan, d.w.z. vermijd het draaien van de pomp of knipperende LED.

Nachttijd is configureerbaar voor werkdagen en weekendochtend afzonderlijk.

Stap 12: NodeMCU Sketch - Lokale webserver

NodeMCU Sketch - Lokale webserver
NodeMCU Sketch - Lokale webserver
NodeMCU Sketch - Lokale webserver
NodeMCU Sketch - Lokale webserver
NodeMCU Sketch - Lokale webserver
NodeMCU Sketch - Lokale webserver

IoT APIS v2 implementeert een lokale webserver voor statusrapportage en configuratiewijzigingen. De startpagina geeft informatie over de huidige vochtigheid en waterstand, de aanwezigheid van overloopwater in de onderste lade en statistieken van de meest recente besproeiingsrun. Netwerkconfiguratiepagina (toegankelijk via de knop netwerk configureren) biedt de mogelijkheid om verbinding te maken met een lokaal wifi-netwerk en te wisselen tussen online- en energiebesparende modi. (Veranderingen in de netwerkconfiguratie zorgen ervoor dat het apparaat wordt gereset) Configuratiepagina voor besproeiing (toegankelijk via de knop Water configureren) biedt de mogelijkheid om de bewateringsparameters te wijzigen (bodemvochtigheid om beregening te starten/stoppen, duur van de besproeiingscyclus en verzadigingspauze tussen runs, aantal runs, enz.) HTML-bestanden van de webserver bevinden zich in de gegevensmap van de IoT APIS Arduino IDE-schets. Ze moeten worden geüpload naar het NodeMCU-flashgeheugen als een SPIFF-bestandssysteem met behulp van de tool "ESP8266 Sketch Data Upload" die hier te vinden is.

Stap 13: NodeMCU Sketch - Lokaal bewateringslogboek en toegang tot intern bestandssysteem

NodeMCU Sketch - Lokaal bewateringslogboek en toegang tot intern bestandssysteem
NodeMCU Sketch - Lokaal bewateringslogboek en toegang tot intern bestandssysteem

Als er geen netwerkverbinding beschikbaar is, registreert het IoT APIS v2-systeem alle bewateringsactiviteiten lokaal.

Om toegang te krijgen tot het logboek, maakt u verbinding met het apparaat en navigeert u naar de '/edit'-pagina en downloadt u het watering.log-bestand. Dit bestand bevat de historie van alle gietbeurten sinds de start van het loggen.

Een voorbeeld van een dergelijk logbestand (in tab-gescheiden formaat) is bij deze stap gevoegd.

OPMERKING: De downloadpagina is niet beschikbaar wanneer IoT APIS v2 in de Access Point-modus staat (vanwege de afhankelijkheid van de online Java Script-bibliotheek).

Stap 14: NodeMCU Sketch - Bodemvochtigheid, Waterlekkage onderste lade, Waterniveau, 3 kleuren LED

Image
Image
NodeMCU Sketch - Bodemvochtigheid, Waterlek bodem, Waterniveau, 3 kleuren LED
NodeMCU Sketch - Bodemvochtigheid, Waterlek bodem, Waterniveau, 3 kleuren LED
NodeMCU Sketch - Bodemvochtigheid, Waterlekkage onderbak, Waterniveau, 3 kleuren LED
NodeMCU Sketch - Bodemvochtigheid, Waterlekkage onderbak, Waterniveau, 3 kleuren LED

Bodemvochtigheidsmeting is gebaseerd op hetzelfde principe als de originele APIS. Raadpleeg dat instructable voor de details.

Lekkages in de waterbak worden gedetecteerd door kortstondig spanning toe te passen op de draden onder de pot met behulp van interne PULLUP-weerstanden. Als de resulterende PIN-status LAAG is, staat er water in de lade. PIN-status HOOG geeft aan dat het circuit "onderbroken" is, daarom is er geen water in de onderste lade.

Het waterniveau wordt bepaald door de afstand van de bovenkant van de pot tot het wateroppervlak te meten en deze te vergelijken met de afstand tot de bodem van een lege pot. Let op het gebruik van de 3-pins sensor! Die zijn duurder dan HC-SR04 vierpins sensoren. Helaas had ik geen GPIO's meer op NodeMCU en moest ik elke draad doorknippen die ik kon om het ontwerp op slechts één NodeMCU te laten werken zonder extra circuits.

3-kleuren LED wordt gebruikt om de APIS-status visueel aan te geven:

  1. Matig knipperend GROEN - verbinding maken met wifi-netwerk
  2. Snel GROEN knipperend - NTP-server opvragen
  3. Kort ononderbroken GROEN - verbonden met wifi en met succes huidige tijd verkregen van NTP
  4. Kort ononderbroken WIT - netwerkinitialisatie voltooid
  5. Snel WIT knipperend - toegangspuntmodus starten
  6. Snel BLAUW knipperend - water geven
  7. Matig BLAUW knipperend - verzadigend
  8. Kort ononderbroken AMBER gevolgd door kort ononderbroken ROOD - geen tijd kunnen krijgen van NTP
  9. Kort ononderbroken WIT tijdens toegang tot interne webserver

LED werkt niet in de "nacht"-modus. De nachtmodus kan alleen betrouwbaar worden bepaald als het apparaat ten minste één keer lokale tijd van de NTP-servers heeft kunnen verkrijgen (de lokale realtimeklok wordt gebruikt totdat de volgende verbinding met NTP tot stand is gebracht)

Een voorbeeld van de LED-functie is hier beschikbaar op YouTube.

Stap 15: zonne-energie, powerbank en autonome werking

Zonne-energie, powerbank en autonome werking
Zonne-energie, powerbank en autonome werking
Zonne-energie, powerbank en autonome werking
Zonne-energie, powerbank en autonome werking
Zonne-energie, powerbank en autonome werking
Zonne-energie, powerbank en autonome werking

Een van de ideeën achter IoT APIS v2 was de mogelijkheid om autonoom te werken.

Het huidige ontwerp maakt gebruik van een zonnepaneel en een tussentijdse powerbank van 3600 mAh om dat te bereiken.

  1. Zonnepaneel is beschikbaar op amazon.com
  2. Powerbank is ook beschikbaar op amazon.com

Zonnepaneel heeft ook een ingebouwde 2600 mAh-batterij, maar het was niet in staat om de 24-uurs APIS-werking vol te houden, zelfs niet in de energiebesparende modus (ik vermoed dat de batterij niet goed overweg kan met gelijktijdig opladen en ontladen). Een combinatie van twee batterijen lijkt voldoende stroom te leveren en maakt het mogelijk om beide batterijen gedurende de dag op te laden. Zonnepaneel laadt powerbank op, terwijl powerbank het APIS-apparaat van stroom voorziet.

Houd er rekening mee dat:

Die componenten zijn optioneel. U kunt het apparaat gewoon van stroom voorzien met elke USB-adapter die 1A-stroom levert.

Stap 16: IoT-integratie - Blynk

IoT-integratie - Blynk
IoT-integratie - Blynk
IoT-integratie - Blynk
IoT-integratie - Blynk
IoT-integratie - Blynk
IoT-integratie - Blynk

Een van de doelen voor het nieuwe ontwerp was de mogelijkheid om de bodemvochtigheid, het waterpeil en andere parameters op afstand te monitoren.

Ik koos voor Blynk (www.blynk.io) als IoT-platform vanwege het gebruiksgemak en de aansprekende visuele vormgeving.

Omdat mijn schets is gebaseerd op de coöperatieve multitasking-bibliotheek van TaskScheduler, wilde ik geen Blynk-apparaatbibliotheken gebruiken (ze zijn niet ingeschakeld voor TaskScheduler). In plaats daarvan gebruikte ik Blynk HTTP RESTful API (hier beschikbaar).

Het configureren van de app is zo intuïtief als het maar zou kunnen zijn. Volg de bijgevoegde screenshots.

Stap 17: Schetsen en bestanden

Schetsen en bestanden
Schetsen en bestanden

IoT APIS v2-schets bevindt zich hier op de github: Sketch

Een paar bibliotheken die door de schets worden gebruikt, bevinden zich hier:

  1. TaskScheduler - coöperatieve multitasking-bibliotheek voor Arduino en esp8266
  2. AvgFilter - integere implementatie van het gemiddelde filter voor het afvlakken van sensorgegevens
  3. RTCLib - implementatie van de hardware en software Real Time Clock (door mij aangepast)
  4. Tijd - Wijzigingen voor de Tijdbibliotheek
  5. Tijdzone - bibliotheek die tijdzoneberekeningen ondersteunt

OPMERKING:

Gegevensbladen, pindocumentatie en 3D-bestanden bevinden zich in de submap "bestanden" van de hoofdschets.

HTML-bestanden voor de ingebouwde webserver moeten worden geüpload naar het NODE MCU-flashgeheugen met behulp van de arduino-esp8266fs-plugin (die een bestandssysteembestand maakt vanuit de "data"-submap van de hoofdschetsmap en dit uploadt naar het flashgeheugen)

Indoor Tuinieren Wedstrijd 2016
Indoor Tuinieren Wedstrijd 2016
Indoor Tuinieren Wedstrijd 2016
Indoor Tuinieren Wedstrijd 2016

Tweede plaats in de Indoor Gardening Contest 2016

Aanbevolen: