ESP8266 Bevattning Controller (5 / 6 steg)

Steg 5: Programmering systemet



Index.php sidan på servern samlar in information från användaren och skickar det till en formhandler (sendcmd.php). Denna fil formaterar data, skapar en anslutning till ESP och skickar kommandon till ESP. zon och tidslängden skickas.

Denna information skickas till ESP via GET. ESP8266 tolkar detta huvud för detaljer och aktiverar GPIOs eller inaktiverar baserat på denna information.

Kommandon kan skickas till ESP via, TCP, UDP eller MQTT. De alla fungerar bra. Jag tycker TCP server mycket tillförlitlig och att föredra framför de andra.

Ett exempel huvud: 60 min varje zon:
Få /? zone0 = 60 & zone1 = 60 & zon†2 = 60 HTTP/1.1

Skicka detta stannar alla zoner:
Få /? stoppa HTTP/1.1

För detta projekt har jag fyra filer bosatt på ESP8266 att interagera med servern och kontrollera GPIO stiften.

  • init.lua
  • control.lua
  • servernode.lua
  • stop.lua

Filen servernode.lua kommer att samla detta huvud och kalla den control.lua filen om den hittar zonen och varaktighet överstiger 0. Det kommer att ringa stop.lua om stopp hittas eller huvudet ignoreras om zon eller stopp inte finns.

Den control.lua filen parsas sidhuvud och tur varje GPIO pin på den i ordning och för den tid som anges.

Filer på servern är:

  • index.php
  • sendcmd.php
  • lastcmd.txt

Filen lastcmd.txt innehåller den totala tiden skickas till ESP. Detta används till utsäde timern i javascript i index.php. Timern i ESP och nedräkningen skriptet inte är synkroniserade, men de är inom en minut eller två. Korrekt nog för denna app.

Ovanstående filer är här: github - breagan/ESP8266-WaterController

Det är viktigt att notera om du reläer är normalt öppen (NO) eller normalt stängd (NC). Vissa reläer kan du välja, vissa är aktiv hög eller aktiv låg, beroende på vilket som, är det viktigt att reläerna är Öppna när controller startas och när registeransvarige inte är påslagen!

Som ett exempel, är GPIO16 drog höga när registeransvarige stövlar. Jag kan sätta den till låg i init.lua, however i en panik loop, tiden mellan startsekvensen och ange det till låg i init.lua, över och över igen skickar tillräckligt spänning att utlösa nödsänkningssolenoiden och aktivera zonen.

Jag vill avsiktligt stänga 24vac kretsen för att aktivera ventilerna. Jag vill inte ha några ventiler aktiveras om registeransvarige förlorar sin makt eller går in i en loop med döden. Standardvärdet i varje tänkbart konfiguration, utom när ett kommando skickas är ingen makt till ventiler.

Min reläer är normalt öppna och utlösta (stängd) när spänning läggs från GPIOs. GPIOs används dras alla låg när driva, appliceras och under startprocessen. Ställa dem till låg i filen init.lua är inte nödvändigt men jag föredrar redundans.

Se Steg
Relaterade Ämnen

Bevattning controller

om du vill ha en DIY Arduino baserad bevattning controller för din trädgård, Rainmaker projektet kan hjälpa dig.Rainmake kan hantera upp till fem zoner av bevattning. Kan programmeras för varje dag i veckan.Rainmaker är baserad på Atmega 168 och ardu...

Raspberry Pi bevattning Controller

Trädgårdsskötsel förbättrar hälsa och livskvalitet, ansluter oss till vår lokala miljö. Plus, kan du äta ekologiska frukter och grönsaker till mycket låg kostnad. Ännu för alla dessa fantastiska fördelar, kan att komma ihåg att vattna fortfarande ta...

ESP8266 + Websocket server RGB LED-controller

Hej världen!I detta instructable jag kommer att illustrera användningen av web sockets med ESP8266 micro controller. Med detta projekt kan du använda en webbläsare för att köra en webbklient uttaget till kontroll RGB LED ansluten till utgång stiften...

ESP8266 + Raspberry Pi El Monitor

Jag har alltid övervaka min verktyg mäter i det gamla hederliga sättet. Först skrev jag dem ner i en liten redovisningen (Japp, jag är så gammal), jag skrev senare ett kalkylblad för det och de senaste åren jag använder ECAS smartphone app för att gö...

Bevattning logic controller/projekt log

Hej, jag ska förklara mitt projekt på bara en minut, men först ville jag förklara hur jag blev involverad i detta projekt.Jag gillar att spara pengar var jag kan, så det inte är svårt att förstå varför jag bilpool att arbeta. Det är bara två personer...

ESP8266 Desktop Clock (WiFi synkroniserad!)

ESP8266 är en awesome chip; med integrerad WiFi, 80MHz klockfrekvens, totalt 160kb RAM, 512kb flash-minne, och massor av andra funktioner, gör det en regelbunden Arduino ser ut som ett skämt. Projektet visas i detta Instructable är enbart baserad på...

Utveckla för ESP8266 på Raspberry Pi

Denna artikel kommer att visa hur man använder en Raspberry Pi 2 för att utveckla inhemska program, firmware och Lua-skript för ESP8266 familj microcontrollers. ESP8266 är en liten WiFi aktiverat mikro-controller som blivit mycket populär för DIY pro...

Air muskler: Gör en konstgjord muskel Robot Controller

här är två sätt att göra en controller som kan styra konstgjord luft muskler. Intro pic visar den mer avancerade versionen som kan styra upp till 11 air muskler med hjälp av robot nervceller. Visas det aktivera en air muskel robot gripdon som utveckl...

Akut knappen för 7$, Arduino, WIFI och ESP8266

HejDet finns en hel del projekt idag försöker hjälpa äldre att bo mer oberoende. Eftersom min farmor är nu 95 och hon lever själv i sin lägenhet, ville jag kolla hur jag kunde hjälpa henne stanna på hennes plats så länge som möjligt.En av de största...

ESP8266-1 aktiverade RC vände Wifi bil med webbläsare kontrolleras riktning.

Projektet är tänkt för att visa förmåga av grundläggande IoT enheter. Syftet var att kontrollera rörelse i en bil via webbläsare. Jag hade några alternativ för att uppnå detta - 1) över webben, direkt styra motorn på bilen av en WiFi-modul, 2) Konfig...

Komma igång med ESP8266 med hjälp av "AT-kommandon" Via Arduino

ESP8266 Wifi modul är en integrerad krets som är designad för att kommunicera till världen av internet via Wifi radiosignaler. Det är länken mellan ett projekt och internet. Den har beredning ombord och minne som gör att den kan integreras med elektr...

Komma igång med ESP8266 ESP-12

Detta instructable kommer att täcka de grundläggande stegen som du måste följa för att komma igång med ESP8266 ESP-12.Mycket av detta innehåll är redan ute där, men jag hade svårt att få allt på plats och olika tutorials kan orsaka en hel del förvirr...

Akryl blad RGB glödande väderstation med inomhus/utomhus/prognos med ESP8266

Väderstationen gjorde jag bygger på programvaran av Daniel Eichhorn från Switserland. Denna firmware innehåller mätning av insidan temperaturen + fuktighet, utanför temperatur + lufttryck (hämtar data från en 2: a Väderstationen anslutna till thingsp...

ESP8266 Trådlös toalett användning indikator (Smart Home)

Det är som en ingenjör, turen att arbeta för ett företag som gör upp med en grupp av maker. Eftersom vissa problem möter vi ofta i vårt liv, vår manger tillåter oss att sätta vår kreativitet i full spela på grund av den öppna atmosfären, vi kan bygga...

IoT vägguttag med Arduino och ESP8266

I detta instructable, jag visa dig hur du lägger till förbättrad tillgänglighet, intelligens och anslutning till ett vanligt vägguttag. Detta görs med en kombination av mikrokontroller, Arduino, olika sensorer, ESP8266 och en blandning av programvaru...

Anslutna Sprinkler Controller drivs av Afero

Hantera ditt sprinklersystem vart du än går!Det finns en plats i mitt hem där jag fruktar för att beträda. Det är i det främre hörnet i garaget, under två parasoller, en skidstav, två basebollträn och en Häckklipparen. Det är där jag har gå varje gån...

Vatten nivåmätare & Controller

Vatten nivåmätare visar nivån på vattnet i tanken. Kontrollanter kontrollant nivå så att att när nivån når lägsta nivå controller varv på pumpen & när tanken blir full det stänger av pumpen.Steg 1: delarBehöver du de elektroniska delarna som anges:-1...

WiFi / Internet kontrollerad reläer med ESP8266 - Quick, 30 minuter IoT projekt

ESP8266 är en mycket populär enhet för Sakernas Internet nuförtiden. ESP8266 finns lätt tillgänglig som en modul. Dess en liten och smuts billig enhet som har en inbyggd styrenhet kör vid 80Mhz och med valfria firmware det kan användas som en friståe...

Droppmunstycke bevattning. Detta ledde till "tcmtech droppmunstycke bevattning". Kolla in det istället. Det är bättre!

Droppmunstycke bevattning är en DIY metod som är oberoende av andra system. Jag började experimentet den 2 September och jag kommer att uppdatera video som resultat kommer in. (som den 23 September, systemet är användbart och regn fat refill fungerar...