From ff297c9d5c931e2add05df43363773cee3367c6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Wittstr=C3=B8m?= Date: Mon, 14 Aug 2023 14:47:06 +0200 Subject: [PATCH] imposter syndrome is real - cannot build --- src/main.cpp | 111 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 65 insertions(+), 46 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index e86b250..633ff66 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,6 +2,7 @@ #include #include #include +#include const int deviceId = 0; @@ -17,64 +18,65 @@ int buzzerPin = D0; int lcdColumns = 16; int lcdRows = 2; -LiquidCrystal_I2C lcd(0x3f, lcdColumns, lcdRows); +LiquidCrystal_I2C lcd(0x3f, lcdColumns, lcdRows); float readADC_Avg(int pin) { - float avg = analogRead(pin); - for (int i = 0; i < 10; i++) - { - avg = (avg + analogRead(pin)) / 2; - delay(20); - } - return avg; + float avg = analogRead(pin); + for (int i = 0; i < 10; i++) + { + avg = (avg + analogRead(pin)) / 2; + delay(20); + } + return avg; } void setup_wifi() { - delay(10); - // We start by connecting to a WiFi network - Serial.println(); - Serial.print("Connecting to "); - Serial.println(ssid); - - WiFi.begin(ssid, password); - - while (WiFi.status() != WL_CONNECTED) - { - delay(500); - Serial.print("."); - } - - Serial.println(""); - Serial.println("WiFi connected"); - Serial.println("IP address: "); - Serial.println(WiFi.localIP()); + delay(10); + // We start by connecting to a WiFi network + Serial.println(); + Serial.print("Connecting to "); + Serial.println(ssid); + + WiFi.begin(ssid, password); + + while (WiFi.status() != WL_CONNECTED) + { + delay(500); + Serial.print("."); + } + + Serial.println(""); + Serial.println("WiFi connected"); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); } void reconnect() { - // Loop until we're reconnected - while (!client.connected()) + // Loop until we're reconnected + while (!client.connected()) + { + Serial.print("Attempting MQTT connection..."); + // Attempt to connect + if (client.connect("ESP8266Client")) + { + Serial.println("connected"); + } + else { - Serial.print("Attempting MQTT connection..."); - // Attempt to connect - if (client.connect("ESP8266Client")) - { - Serial.println("connected"); - } - else - { - Serial.print("failed, rc="); - Serial.print(client.state()); - Serial.println(" try again in 5 seconds"); - // Wait 5 seconds before retrying - delay(5000); - } + Serial.print("failed, rc="); + Serial.print(client.state()); + Serial.println(" try again in 5 seconds"); + // Wait 5 seconds before retrying + delay(5000); } + } } -void setup(){ +void setup() +{ Serial.begin(115200); lcd.init(); @@ -82,16 +84,33 @@ void setup(){ pinMode(buzzerPin, OUTPUT); setup_wifi(); + reconnect(); client.setServer(mqtt_server, 1883); } -void loop(){ +bool isArmed() +{ + DynamicJsonDocument doc(1024); + + doc["deviceId"] = deviceId; + + char buffer[1024]; + size_t n = serializeJson(doc, buffer); + client.publish("display/disarm", buffer, n); + lcd.print("Aarmed"); + delay(10000); + lcd.clear(); +} + +void loop() +{ // digitalWrite(buzzerPin, HIGH); - // lcd.print("Piss off, ghosts!"); + // lcd.print(deviceId); // delay(1000); // lcd.clear(); // digitalWrite(buzzerPin, LOW); // delay(1000); - + client.loop(); + isArmed(); } \ No newline at end of file