Files
AHome/Box-ESP12/include/main.h
2025-01-04 17:21:46 +03:00

68 lines
1.5 KiB
C

#include <Arduino.h>
#include <Ticker.h>
#include <ESP8266WiFi.h>
#include <ArduinoOTA.h>
#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <WebSerial.h>
#include <ESP_EEPROM.h>
#include <PubSubClient.h>
#include <SPI.h>
//#include "LedController.hpp"
#include <GyverSegment.h>
#define DIO_PIN 13
#define CLK_PIN 14
#define LAT_PIN 12
Disp7219<1> disp(DIO_PIN, CLK_PIN, LAT_PIN);
#include <OneWire.h>
#include <DallasTemperature.h>
#include <PID_v1.h>
#define ONE_WIRE_BUS 2
#define WIFI_SSID "wf-home"
#define WIFI_PASSWORD "0ndthnrf"
#define MQTT_SERV "192.168.1.111"
#define HOSTNAME "Box-balkon"
#define TOPIC "home/box/"
#define TRIAC_PIN 4
WiFiClient espClient;
PubSubClient client(espClient);
WiFiEventHandler wifiConnectHandler;
WiFiEventHandler wifiDisconnectHandler;
Ticker wifiReconnectTimer;
AsyncWebServer server(80);
//LedController lc;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float temp_sp, temp1, temp2;
float kp = 0, ki = 0, kd = 0;
double Output = 0, Setpoint = 0, Input = 0;
PID myPID(&Input, &Output, &Setpoint, kp, ki, kd, DIRECT);
unsigned long WindowSize = 5000;
unsigned long windowStartTime;
long lastReconnectAttempt = 0;
boolean wifi = false;
void connectToWifi();
void connectToMqtt();
void onWifiConnect(const WiFiEventStationModeGotIP& event);
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event);
void callback(char* topic, byte* payload, unsigned int length);
boolean reconnect();
void out_value(byte digit, float val);