From 1732fce143a2005145e9f30dde32d79d2385415e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Ha=C3=9Fel?= Date: Mon, 3 Mar 2025 16:45:55 +0100 Subject: [PATCH] Greenhouse: door + windows pins --- src/node/Greenhouse/http.cpp | 6 ++---- src/node/Greenhouse/sensors.cpp | 22 ++++++++++++++++++++-- src/node/Greenhouse/sensors.h | 6 ++++++ 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/node/Greenhouse/http.cpp b/src/node/Greenhouse/http.cpp index 3d8af44..c9576c0 100644 --- a/src/node/Greenhouse/http.cpp +++ b/src/node/Greenhouse/http.cpp @@ -6,16 +6,14 @@ #include "sensors.h" #include "../../patrix/mqtt.h" -bool light = false; - void httpStatus(AsyncWebServerRequest* request) { JsonDocument json; json["illuminance"] = greenhouseTSL.getIlluminance();; json["temperature"] = greenhouseDHT22.getTemperature(); json["relative"] = greenhouseDHT22.getRelative(); json["absolute"] = greenhouseDHT22.getAbsolute(); - json["door"] = false; - json["windows"] = false; + json["door"] = door; + json["windows"] = windows; json["light"] = light; AsyncResponseStream* stream = request->beginResponseStream("application/json"); diff --git a/src/node/Greenhouse/sensors.cpp b/src/node/Greenhouse/sensors.cpp index 64cfd36..4828480 100644 --- a/src/node/Greenhouse/sensors.cpp +++ b/src/node/Greenhouse/sensors.cpp @@ -2,18 +2,36 @@ #include "sensors.h" +#define DHT22_GPIO D5 +#define DOOR_GPIO D0 +#define WINDOWS_GPIO D6 +#define LIGHT_GPIO D7 + +bool door = false; + +bool windows = false; + +bool light = false; + TSL2561 greenhouseTSL("greenhouse"); -DHT22Sensor greenhouseDHT22("greenhouse", D5); +DHT22Sensor greenhouseDHT22("greenhouse", DHT22_GPIO); void sensorsSetup() { + pinMode(DOOR_GPIO, INPUT_PULLUP); + pinMode(WINDOWS_GPIO, INPUT_PULLUP); + pinMode(LIGHT_GPIO, OUTPUT); + digitalWrite(LIGHT_GPIO, light ? LOW : HIGH); greenhouseTSL.setup(); greenhouseDHT22.setup(); } void sensorsLoop() { + door = digitalRead(DOOR_GPIO) == LOW; + windows = digitalRead(WINDOWS_GPIO) == LOW; + digitalWrite(LIGHT_GPIO, light ? LOW : HIGH); greenhouseTSL.loop(); greenhouseDHT22.loop(); } -#endif \ No newline at end of file +#endif diff --git a/src/node/Greenhouse/sensors.h b/src/node/Greenhouse/sensors.h index 76da48e..82c904e 100644 --- a/src/node/Greenhouse/sensors.h +++ b/src/node/Greenhouse/sensors.h @@ -6,6 +6,12 @@ #include "patrix/DHT22.h" #include "patrix/tsl2561.h" +extern boolean door; + +extern boolean windows; + +extern boolean light; + extern TSL2561 greenhouseTSL; extern DHT22Sensor greenhouseDHT22;