Multi Wifi

This commit is contained in:
2022-11-21 16:28:55 +03:00
parent 734f25c027
commit 0d902b78db
2 changed files with 19 additions and 10 deletions

View File

@@ -20,3 +20,4 @@ lib_deps =
robtillaart/RunningMedian @ ^0.3.3 robtillaart/RunningMedian @ ^0.3.3
ayushsharma82/WebSerial @ ^1.3.0 ayushsharma82/WebSerial @ ^1.3.0
ottowinter/ESPAsyncWebServer-esphome @ ^3.0.0 ottowinter/ESPAsyncWebServer-esphome @ ^3.0.0
lewapek/Nova Fitness Sds dust sensors library @ ^1.5.1

View File

@@ -9,9 +9,12 @@
#include <ESPAsyncTCP.h> #include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h> #include <ESPAsyncWebServer.h>
#include <WebSerial.h> #include <WebSerial.h>
#include <ESP8266WiFiMulti.h>
#define WIFI_SSID "wf-home" #define WIFI_SSID "wf-home"
#define WIFI_PASSWORD "0ndthnrf" #define WIFI_PASSWORD "0ndthnrf"
#define WIFI_SSID2 "BR"
#define WIFI_PASSWORD2 "499727479o"
#define MQTT_SERV "192.168.1.111" #define MQTT_SERV "192.168.1.111"
#define TOPIC "home/kor/" #define TOPIC "home/kor/"
@@ -56,13 +59,17 @@ void onMqttPublish(uint16_t packetId);
unsigned long cRun; unsigned long cRun;
unsigned long stled; unsigned long stled;
ESP8266WiFiMulti wifiMulti;
AsyncWebServer server(80); AsyncWebServer server(80);
void setup() void setup()
{ {
Serial.begin(9600); Serial.begin(9600);
WiFi.mode(WIFI_STA); WiFi.mode(WIFI_STA);
WiFi.persistent(false);
WiFi.hostname(HOSTNAME); WiFi.hostname(HOSTNAME);
wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD);
wifiMulti.addAP(WIFI_SSID2, WIFI_PASSWORD2);
ArduinoOTA.onStart([]() { ArduinoOTA.onStart([]() {
Serial.println("ArduinoOTA start"); Serial.println("ArduinoOTA start");
}); });
@@ -151,28 +158,28 @@ void loop()
adc = analogRead(A0); adc = analogRead(A0);
samples.add(adc); samples.add(adc);
adc = samples.getMedian(); //adc = samples.getMedian();
if ((adc <= minLight) && (move == 1)){ if ((samples.getMedian() <= minLight) && (move == 1)){
analogWrite(LAMP_OUT, LightInt); analogWrite(LAMP_OUT, LightInt);
if(lamp == false){ if(lamp == false){
Serial.println("Lamp ON"); Serial.println("Lamp ON");
Serial.print("ADC: ");Serial.print(adc); Serial.print("ADC: ");Serial.print(samples.getMedian());
Serial.print(", Move: ");Serial.println(move); Serial.print(", Move: ");Serial.println(move);
itoa(adc, v, 10); itoa(int(samples.getMedian()), v, 10);
mqttClient.publish(TOPIC"adc", 1, false, v); mqttClient.publish(TOPIC"adc", 1, false, v);
mqttClient.publish(TOPIC"lamp", 1, false, "1"); mqttClient.publish(TOPIC"lamp", 1, false, "1");
lamp = true; lamp = true;
} }
} }
else if((adc > (minLight + minLightDB)) || (move == 0)){ else if((samples.getMedian() > (minLight + minLightDB)) || (move == 0)){
analogWrite(LAMP_OUT, 0); analogWrite(LAMP_OUT, 0);
//curDelay = 2; //curDelay = 2;
if(lamp == true){ if(lamp == true){
Serial.println("Lamp OFF"); Serial.println("Lamp OFF");
Serial.print("ADC: ");Serial.print(adc); Serial.print("ADC: ");Serial.print(samples.getMedian());
Serial.print(", Move: ");Serial.println(move); Serial.print(", Move: ");Serial.println(move);
itoa(adc, v, 10); itoa(int(samples.getMedian()), v, 10);
mqttClient.publish(TOPIC"adc", 1, false, v); mqttClient.publish(TOPIC"adc", 1, false, v);
mqttClient.publish(TOPIC"lamp", 1, false, "0"); mqttClient.publish(TOPIC"lamp", 1, false, "0");
lamp = false; lamp = false;
@@ -188,7 +195,7 @@ void loop()
if(cSec == 10){ if(cSec == 10){
sprintf(v, "%.1f", mins); sprintf(v, "%.1f", mins);
mqttClient.publish(TOPIC"minsmain", 1, false, v); mqttClient.publish(TOPIC"minsmain", 1, false, v);
itoa(adc, v, 10); itoa(int(samples.getMedian()), v, 10);
mqttClient.publish(TOPIC"adc", 1, false, v); mqttClient.publish(TOPIC"adc", 1, false, v);
cSec = 0; cSec = 0;
} }
@@ -202,7 +209,7 @@ void loop()
WebSerial.print("Timer light:"); WebSerial.print("Timer light:");
WebSerial.print(curDelay); WebSerial.print(curDelay);
WebSerial.print(", ADC:"); WebSerial.print(", ADC:");
WebSerial.println(adc); WebSerial.println(int(samples.getMedian()));
} }
PmResult pm = sds.readPm(); PmResult pm = sds.readPm();
@@ -229,7 +236,8 @@ void loop()
void connectToWifi() { void connectToWifi() {
Serial.println("Connecting to Wi-Fi..."); Serial.println("Connecting to Wi-Fi...");
WiFi.begin(WIFI_SSID, WIFI_PASSWORD); wifiMulti.run();
//WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
} }
void connectToMqtt() { void connectToMqtt() {