Delete MultiFiFi, Midroom2 AM2302

This commit is contained in:
2023-08-14 15:06:16 +03:00
parent 8f8954f700
commit 54db88148c
3 changed files with 68 additions and 16 deletions

View File

@@ -44,8 +44,8 @@ extern "C" {
#define TOPIC "home/bigroom/" #define TOPIC "home/bigroom/"
WiFiMulti wifiMulti; //WiFiMulti wifiMulti;
const uint32_t connectTimeoutMs = 5000; //const uint32_t connectTimeoutMs = 5000;
byte periodMotion; byte periodMotion;
int8_t curDelay; int8_t curDelay;

View File

@@ -8,15 +8,14 @@ AsyncMqttClient mqttClient;
TimerHandle_t mqttReconnectTimer; TimerHandle_t mqttReconnectTimer;
TimerHandle_t wifiReconnectTimer; TimerHandle_t wifiReconnectTimer;
//const char* ssid = "wf-home"; const char* ssid = "wf-home";
//const char* password = "0ndthnrf"; const char* password = "0ndthnrf";
const char* ssid1 = "wf-home"; const char* ssid1 = "wf-home";
const char* password1 = "0ndthnrf"; const char* password1 = "0ndthnrf";
const char* ssid2 = "BR"; const char* ssid2 = "BR";
const char* password2 = "499727479o"; const char* password2 = "499727479o";
const char* mqtt_server = "192.168.1.111"; const char* mqtt_server = "192.168.1.111";
void connectToWifi(); void connectToWifi();
void connectToMqtt(); void connectToMqtt();
void WiFiEvent(WiFiEvent_t event); void WiFiEvent(WiFiEvent_t event);
@@ -34,10 +33,10 @@ void setup() {
Serial.begin(115200); Serial.begin(115200);
Serial.println("Booting"); // "Загрузка" Serial.println("Booting"); // "Загрузка"
WiFi.mode(WIFI_STA); WiFi.mode(WIFI_STA);
WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE, INADDR_NONE); //WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE, INADDR_NONE);
WiFi.setHostname("BigRoom"); WiFi.setHostname("BigRoom");
wifiMulti.addAP(ssid1, password1); //wifiMulti.addAP(ssid1, password1);
wifiMulti.addAP(ssid2, password2); //wifiMulti.addAP(ssid2, password2);
// ArduinoOTA.onStart([]() { // ArduinoOTA.onStart([]() {
// // Serial.println("Start"); // "Начало OTA-апдейта" // // Serial.println("Start"); // "Начало OTA-апдейта"
// }); // });
@@ -324,8 +323,8 @@ void loop() {
void connectToWifi() { void connectToWifi() {
Serial.println("Connecting to Wi-Fi..."); Serial.println("Connecting to Wi-Fi...");
wifiMulti.run(connectTimeoutMs); //wifiMulti.run(connectTimeoutMs);
//WiFi.begin(ssid, password); WiFi.begin(ssid, password);
} }
void connectToMqtt() { void connectToMqtt() {

View File

@@ -59,8 +59,8 @@ void setup() {
WiFi.mode(WIFI_STA); WiFi.mode(WIFI_STA);
WiFi.persistent(false); WiFi.persistent(false);
WiFi.hostname(HOSTNAME); WiFi.hostname(HOSTNAME);
wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD); //wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD);
wifiMulti.addAP(WIFI_SSID2, WIFI_PASSWORD2); //wifiMulti.addAP(WIFI_SSID2, WIFI_PASSWORD2);
client.setServer(MQTT_SERV, 1883); client.setServer(MQTT_SERV, 1883);
client.setCallback(callback); client.setCallback(callback);
@@ -100,6 +100,11 @@ void setup() {
pinMode(LAMP_OUT, OUTPUT); pinMode(LAMP_OUT, OUTPUT);
dht.setup(D1, DHTesp::DHT22); dht.setup(D1, DHTesp::DHT22);
delay(dht.getMinimumSamplingPeriod()); delay(dht.getMinimumSamplingPeriod());
sTaH = dht.getTempAndHumidity();
if(dht.getStatus() == dht.ERROR_NONE){
temp_out = sTaH.temperature;
hum_out = sTaH.humidity;
}
// if (! aht.begin()) { // if (! aht.begin()) {
// Serial.println("Could not find AHT? Check wiring"); // Serial.println("Could not find AHT? Check wiring");
// aht_pesent = false; // aht_pesent = false;
@@ -148,8 +153,8 @@ void loop() {
Serial.println(bSecs); Serial.println(bSecs);
sTaH = dht.getTempAndHumidity(); sTaH = dht.getTempAndHumidity();
if(dht.getStatus() == dht.ERROR_NONE){ if(dht.getStatus() == dht.ERROR_NONE){
temp_out += (sTaH.temperature - temp_out) / 300; temp_out += (sTaH.temperature - temp_out) / 150.0;
hum_out += (sTaH.humidity - hum_out) / 300; hum_out += (sTaH.humidity - hum_out) / 150.0;
WebSerial.print("Temp: "); WebSerial.print("Temp: ");
WebSerial.print(sTaH.temperature); WebSerial.print(sTaH.temperature);
WebSerial.print(", Hum: "); WebSerial.print(", Hum: ");
@@ -161,6 +166,49 @@ void loop() {
client.publish(TOPIC"tempout", v); client.publish(TOPIC"tempout", v);
sprintf(v, "%.1f", hum_out); sprintf(v, "%.1f", hum_out);
client.publish(TOPIC"humout", v); client.publish(TOPIC"humout", v);
sprintf(v, "%.1f", dht.computeHeatIndex(temp_out, hum_out));
client.publish(TOPIC"heatindex", v);
sprintf(v, "%.1f", dht.computeDewPoint(temp_out, hum_out));
client.publish(TOPIC"dewpoint", v);
ComfortState cs;
dht.getComfortRatio(cs, temp_out, hum_out);
String comfortStatus;
switch(cs) {
case Comfort_OK:
comfortStatus = "Нормально";
break;
case Comfort_TooHot:
comfortStatus = "Очень жарко";
break;
case Comfort_TooCold:
comfortStatus = "Очень холодно";
break;
case Comfort_TooDry:
comfortStatus = "Очень сухо";
break;
case Comfort_TooHumid:
comfortStatus = "Очень влажно";
break;
case Comfort_HotAndHumid:
comfortStatus = "Жарко и влажно";
break;
case Comfort_HotAndDry:
comfortStatus = "Жарко и сухо";
break;
case Comfort_ColdAndHumid:
comfortStatus = "Холодно и влажно}";
break;
case Comfort_ColdAndDry:
comfortStatus = "Холодно и сухо";
break;
default:
comfortStatus = "Неизвестно";
break;
};
client.publish(TOPIC"comfortstatus", comfortStatus.c_str());
byte hp = dht.computePerception(temp_out, hum_out);
itoa(hp, v, 10);
client.publish(TOPIC"perception", v);
} }
} }
if((bSecs % 15) == 0){ if((bSecs % 15) == 0){
@@ -176,8 +224,8 @@ void loop() {
void connectToWifi() { void connectToWifi() {
Serial.println("Connecting to Wi-Fi..."); Serial.println("Connecting to Wi-Fi...");
wifiMulti.run(); //wifiMulti.run();
//WiFi.begin(WIFI_SSID, WIFI_PASSWORD); WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
} }
void onWifiConnect(const WiFiEventStationModeGotIP& event) { void onWifiConnect(const WiFiEventStationModeGotIP& event) {
@@ -238,6 +286,11 @@ void reconnect() {
client.publish(TOPIC"online", "1"); client.publish(TOPIC"online", "1");
client.subscribe(TOPIC"light"); client.subscribe(TOPIC"light");
client.subscribe(TOPIC"ledint"); client.subscribe(TOPIC"ledint");
char vout[7];
sprintf(vout, "%.1f", temp_out);
client.publish(TOPIC"tempout", vout);
sprintf(vout, "%.1f", hum_out);
client.publish(TOPIC"humout", vout);
} else { } else {
Serial.print("failed, rc="); Serial.print("failed, rc=");
Serial.print(client.state()); Serial.print(client.state());