82 lines
2.1 KiB
C
82 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);
|