Files
AHome/Kuhnya/include/main.h
2022-04-23 13:26:18 +03:00

83 lines
2.1 KiB
C

#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include <LiquidCrystal_PCF8574.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SPI.h>
#include <BME280I2C.h>
#include <Bounce2.h>
//#include <PubSubClient.h>
#include <EEPROM.h>
#include <Ticker.h>
#include <AsyncMqttClient.h>
//#include <Adafruit_BME280.h>
DeviceAddress da[4] = {
{0x28, 0xFF, 0x75, 0x3f, 0x93, 0x16, 0x04, 0xce},
{0x28, 0x85, 0xcd, 0x1b, 0x05, 0x00, 0x00, 0x48},
{0x28, 0xff, 0x79, 0x41, 0x88, 0x16, 0x03, 0x5a},
{0x28, 0x20, 0xbe, 0x1b, 0x05, 0x00, 0x00, 0xdc}
};
uint16_t stat[4];
#define MOVE_S D0
#define GREEN D3
#define BLUE D6
#define LED_OUT D5
#define ONE_WIRE D4
#define BUTTON D7
#define RED D8
const char* ssid = "wf-home";
const char* password = "0ndthnrf";
const char* mqtt_server = "192.168.1.111";
#define TOPIC "home/"
unsigned long crun;
//sensors_event_t temp_event, pressure_event, humidity_event;
float tempIn(NAN), tempOut(NAN), press(NAN), hum(NAN), tempHol(NAN), tempMor(NAN), tempHoM(NAN);
int lightSP, lightDB, adc;
char strFVal[11];
int16_t minCount;
byte LCDpage;
bool lightOn;
//bool bmeread;
byte nSens = 0;
uint16_t mv, prMV;
AsyncMqttClient mqttClient;
Ticker mqttReconnectTimer;
WiFiEventHandler wifiConnectHandler;
WiFiEventHandler wifiDisconnectHandler;
Ticker wifiReconnectTimer;
struct stData
{
int SP;
int DB;
} lightData;
void showLCD(int page, bool mv);
void callback(char* topic, byte* message, unsigned int length);
void publishSec();
void publishMin();
//void reconnect();
void getTemp();
void connectToWifi();
void connectToMqtt();
void onWifiConnect(const WiFiEventStationModeGotIP& event);
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event);
void onMqttConnect(bool sessionPresent);
void onMqttDisconnect(AsyncMqttClientDisconnectReason reason);
void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total);
void trim(char *s);