ESP8266 Irrigatie Controller (5 / 6 stap)

Stap 5: Het programmeersysteem


De index.php pagina op de server verzamelt gegevens van de gebruiker en stuurt het naar een formhandler (sendcmd.php). Dit bestand de gegevens indeelt, maakt een verbinding met de ESP en stuurt dat de opdrachten aan de ihb Zone en tijdsduur worden verzonden.

Deze informatie wordt naar de ESP via GET verzonden. De ESP8266 parseert deze header voor details en schakelt de GPIOs in of uit op basis van deze informatie.

Opdrachten kunnen worden verzonden naar de ESP via, TCP, UDP of MQTT. Ze werken allemaal goed. Ik vind de TCP server zeer betrouwbare en verkieslijk aan de anderen.

Een voorbeeld van de header: 60 min elke zone:
Krijgen /? zone0 = 60 & zone1 = 60 & zone2 = 60 HTTP/1.1

Verzenden van dit stopt alle zones:
Krijgen /? stop HTTP/1.1

Voor dit project zal ik heb vier bestanden resident op de ESP8266 voor interactie met de server en controleren van de GPIO pinnen.

  • init.lua
  • Control.lua
  • servernode.lua
  • Stop.lua

Het bestand servernode.lua zal verzamelen deze header en noemen het control.lua bestand, indien hij zone en duur boven 0 vaststelt. Het zal stop.lua noemen als stop wordt gevonden of de header negeren als zone of stop is niet gevonden.

Het bestand control.lua zal ontleden de kop en zet elke GPIO pin op het in orde en voor de opgegeven duur.

Bestanden op de server zijn:

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

Het bestand lastcmd.txt bevat de totale tijd die is verzonden naar de ESP. Dit wordt gebruikt om het zaad van de countdown timer in de javascript in de index.php. De timer in het ESP en het countdown-script worden niet gesynchroniseerd, maar ze zijn binnen een minuut of twee. Nauwkeurig genoeg voor dit app.

De bovenstaande bestanden hier: github - breagan/ESP8266-WaterController

Het is belangrijk op te merken of relais u normaal open bent (niet) of normaal gesloten (NC). Sommige Relais laat u kiezen, sommige zijn actief hoog of actief laag, indien dit, het is belangrijk dat de relays openen wanneer de laarzen van de controller en als de controller niet wordt aangedreven!

Als voorbeeld, wordt GPIO16 getrokken hoog wanneer de laarzen van de controller. Ik kan het op laag ingesteld in de init.lua, maar in de loop van een paniek, de tijd tussen de opstartvolgorde en stellen het op laag in de init.lua, over en over opnieuw voldoende spanning stuurt te leiden tot de solenoïde en activeren van de zone.

Ik wil met opzet sluiten het 24vac circuit om te activeren van de kleppen. Ik wil niet alle kleppen geactiveerd als de controller haar macht verliest of een dood lus terechtkomt. De standaardwaarde in elke denkbare configuratie, behalve wanneer een opdracht wordt verzonden is niet bevoegd om de kleppen.

Mijn Relais zijn normaal open en geactiveerde (gesloten) Wanneer spanning wordt toegepast vanaf de GPIOs. De GPIOs gebruikt worden alle getrokken lage macht wordt toegepast als tijdens het opstartproces. Hen te stellen op laag in het bestand init.lua is niet nodig maar ik heb liever de redundantie.

Gerelateerde Artikelen

Irrigatie controller

Irrigatie controller

als u wilt dat een DIY Arduino gebaseerde irrigatie controller voor uw tuin, dit project Rainmaker kan u helpen.De rainmake kunnen maximaal vijf zones van irrigatie. Kunnen worden geprogrammeerd voor elke dag van de week.Rainmaker is gebaseerd op de
Raspberry Pi irrigatie Controller

Raspberry Pi irrigatie Controller

Tuinieren verbetert gezondheid en levenskwaliteit, ons verbinden met onze lokale omgeving. U kunt bovendien organische fruit en groenten eten tegen zeer geringe kosten. Nog voor al deze fantastische voordelen, kan herinneren aan water nog nemen een a
ESP8266 + Websocket server RGB LED controller

ESP8266 + Websocket server RGB LED controller

Hallo mensen!In dit instructable I 'm gonna illustreren het gebruik van web sockets met de ESP8266 micro controller. Met dit project kunt u een webbrowser uit te voeren een webclient socket controle die RGB LED op uitgang aangesloten pinnen op de ESP
Wol klok ESP8266-12E + 60 LED WS2812B digitale analoge klok

Wol klok ESP8266-12E + 60 LED WS2812B digitale analoge klok

Dit instructable begeleidt u door het proces van het verbinden van de volgende onderdelen om te maken van een interessante en accurate analoge / digitale klok die de tijd automatisch ingesteld vanaf het internet.Onderdelen nodig:ESP8266-12E module (k
ESP8266 + Raspberry Pi elektriciteit Monitor

ESP8266 + Raspberry Pi elektriciteit Monitor

Ik heb altijd mijn utility meter in de ouderwetse manier volgen. Eerst schreef ik ze neer in een kleine grootboek (yep, ik ben zo oud), ik schreef later een werkblad voor it en de laatste jaren ben ik met behulp van de ECAS smartphone app te doen de
Niveausensor zwembad

Niveausensor zwembad

Een paar jaar geleden verhuisd we naar een huis met een mooi klein zwembad. Het is een oude, enige tijd in de jaren ' 70 gebouwd. Ik de pompen vervangen en bevorderde de zwembad-controller, maar houden het zwembad op het juiste niveau, Nou, geraakt e
DIY Apple Watch VLC-controller met ESP8266, Arduino

DIY Apple Watch VLC-controller met ESP8266, Arduino

Haar een zelfgemaakte project om mijn eigen media controller app te maken.Mijn laptop aangesloten op tv, en im te lui, dus markeerde een VLC control app.Ja im weet het, er is een officiële VLC app in de store, betere functie, maar dit is mijn :)En im
Irrigatie logic controller/project log

Irrigatie logic controller/project log

Hallo, ik ga mijn project uitleggen in enkel een minuut, maar eerst wilde ik uitleggen hoe ik raakte betrokken bij dit project.Graag geld besparen waren ik kan, dus het is niet moeilijk te begrijpen waarom ik carpool om te werken. Het is slechts twee
Acrylplaat RGB glowing weerstation met indoor/outdoor/forecast ESP8266 met

Acrylplaat RGB glowing weerstation met indoor/outdoor/forecast ESP8266 met

Het weerstation die ik heb gemaakt is gebaseerd op de software van Daniel Eichhorn uit Zwitserland. Deze firmware omvat de bepaling van de binnen temperatuur + vochtigheid, buiten temperatuur + luchtdruk (het ophalen van gegevens uit een 2e weatherst
ESP8266 Desktopklok (WiFi gesynchroniseerd!)

ESP8266 Desktopklok (WiFi gesynchroniseerd!)

De ESP8266 is een ontzagwekkende chip; met geïntegreerde WiFi, 80MHz kloksnelheid, totaal 160kb RAM, 512kb van flash-geheugen, en een ton van andere functies, maakt het een regelmatige Arduino uitzien als een grap. Het project wordt weergegeven in di
ESP8266 Draadloze Toilet zede Indicator (Smart Home)

ESP8266 Draadloze Toilet zede Indicator (Smart Home)

Als een ingenieur is het geluk om te werken voor een bedrijf dat make-up met een groep van de maker. Omdat wij vaak sommige problemen ondervinden in ons leven, onze manger laten toe om onze creativiteit in het volledige spel te wijten aan de geopende
De ESP8266-12E programmeren met behulp van de Arduino software/IDE

De ESP8266-12E programmeren met behulp van de Arduino software/IDE

De ESP8266 is als een Arduino met een ingebouwde WiFi, de MCU en WiFi circuits zijn in dezelfde chip. Overwegen Arduino + WiFi Shield = ESP8266. In dit instructable ik zal verstrekken een stap voor stap handleiding te bevoorraden en programmering van
ESP8266 WiFi OTA extern bestand Management

ESP8266 WiFi OTA extern bestand Management

Ik heb gewerkt met ESP8266 micro controllers nu lang genoeg hebben een aantal van hen ingezet in mijn omgeving. Ik heb een paar opstelling mijn MQTT broker(s) te testen. Ik heb een paar temperatuur-, vochtigheids- en barometerdruk lezingen te sturen
ARDUINO MPPT SOLAR CHARGE CONTROLLER (Version-3.0)

ARDUINO MPPT SOLAR CHARGE CONTROLLER (Version-3.0)

Welkom bij mijn solar charge controller tutorials serie. Ik heb twee versie van mijn PWM heffing controller gepost. Als je nieuw bent aan zulks wees zo goed verwijzen mijn eerdere tutorial voor het begrijpen van de basisprincipes van heffing controll