From 3aa4af853a45b410d54f9c862081bc2f3131d190 Mon Sep 17 00:00:00 2001 From: Ross 'H3ALY' Healy Date: Sat, 19 Oct 2024 09:18:08 +0100 Subject: [PATCH] Create main.ino --- main.ino | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 main.ino diff --git a/main.ino b/main.ino new file mode 100644 index 0000000..bdd829a --- /dev/null +++ b/main.ino @@ -0,0 +1,39 @@ +#include +#include "wifi_setup.h" +#include "mqtt_handler.h" +#include "power_control.h" +#include "ota_setup.h" +#include "config.h" + +WiFiClient espClient; +MqttClient mqttClient(espClient); +PowerController powerController(14, 16, mqttClient.client); +OtaManager otaManager; +SimpleTimer timer; + +void mqttCallback(char* topic, byte* payload, unsigned int length) { + payload[length] = '\0'; + String command = String((char*)payload); + powerController.handleCommand(command); +} + +void setup() { + Serial.begin(115200); + WiFiManager wifiManager; + wifiManager.setup_wifi(); + + mqttClient.setCallback(mqttCallback); + mqttClient.setupMqtt(); + + powerController.setup(); + otaManager.setupOTA(); + + timer.setInterval(3000, []() { powerController.sensePower(); }); + timer.setInterval(120000, []() { mqttClient.publish(check_in_topic, "OK"); }); +} + +void loop() { + mqttClient.loop(); + otaManager.handleOTA(); + timer.run(); +}