diff --git a/ESP_Kor/platformio.ini b/ESP_Kor/platformio.ini index 2251cf7..317bc06 100644 --- a/ESP_Kor/platformio.ini +++ b/ESP_Kor/platformio.ini @@ -20,3 +20,4 @@ lib_deps = robtillaart/RunningMedian @ ^0.3.3 ayushsharma82/WebSerial @ ^1.3.0 ottowinter/ESPAsyncWebServer-esphome @ ^3.0.0 + lewapek/Nova Fitness Sds dust sensors library @ ^1.5.1 diff --git a/ESP_Kor/src/main.cpp b/ESP_Kor/src/main.cpp index 27d2bbd..9ce0f92 100644 --- a/ESP_Kor/src/main.cpp +++ b/ESP_Kor/src/main.cpp @@ -9,9 +9,12 @@ #include #include #include +#include #define WIFI_SSID "wf-home" #define WIFI_PASSWORD "0ndthnrf" +#define WIFI_SSID2 "BR" +#define WIFI_PASSWORD2 "499727479o" #define MQTT_SERV "192.168.1.111" #define TOPIC "home/kor/" @@ -56,13 +59,17 @@ void onMqttPublish(uint16_t packetId); unsigned long cRun; unsigned long stled; +ESP8266WiFiMulti wifiMulti; AsyncWebServer server(80); void setup() { Serial.begin(9600); WiFi.mode(WIFI_STA); + WiFi.persistent(false); WiFi.hostname(HOSTNAME); + wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD); + wifiMulti.addAP(WIFI_SSID2, WIFI_PASSWORD2); ArduinoOTA.onStart([]() { Serial.println("ArduinoOTA start"); }); @@ -151,28 +158,28 @@ void loop() adc = analogRead(A0); samples.add(adc); - adc = samples.getMedian(); + //adc = samples.getMedian(); - if ((adc <= minLight) && (move == 1)){ + if ((samples.getMedian() <= minLight) && (move == 1)){ analogWrite(LAMP_OUT, LightInt); if(lamp == false){ Serial.println("Lamp ON"); - Serial.print("ADC: ");Serial.print(adc); + Serial.print("ADC: ");Serial.print(samples.getMedian()); 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"lamp", 1, false, "1"); lamp = true; } } - else if((adc > (minLight + minLightDB)) || (move == 0)){ + else if((samples.getMedian() > (minLight + minLightDB)) || (move == 0)){ analogWrite(LAMP_OUT, 0); //curDelay = 2; if(lamp == true){ Serial.println("Lamp OFF"); - Serial.print("ADC: ");Serial.print(adc); + Serial.print("ADC: ");Serial.print(samples.getMedian()); 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"lamp", 1, false, "0"); lamp = false; @@ -188,7 +195,7 @@ void loop() if(cSec == 10){ sprintf(v, "%.1f", mins); mqttClient.publish(TOPIC"minsmain", 1, false, v); - itoa(adc, v, 10); + itoa(int(samples.getMedian()), v, 10); mqttClient.publish(TOPIC"adc", 1, false, v); cSec = 0; } @@ -202,7 +209,7 @@ void loop() WebSerial.print("Timer light:"); WebSerial.print(curDelay); WebSerial.print(", ADC:"); - WebSerial.println(adc); + WebSerial.println(int(samples.getMedian())); } PmResult pm = sds.readPm(); @@ -229,7 +236,8 @@ void loop() void connectToWifi() { Serial.println("Connecting to Wi-Fi..."); - WiFi.begin(WIFI_SSID, WIFI_PASSWORD); + wifiMulti.run(); + //WiFi.begin(WIFI_SSID, WIFI_PASSWORD); } void connectToMqtt() {