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/"
WiFiMulti wifiMulti;
const uint32_t connectTimeoutMs = 5000;
//WiFiMulti wifiMulti;
//const uint32_t connectTimeoutMs = 5000;
byte periodMotion;
int8_t curDelay;

View File

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

View File

@@ -59,8 +59,8 @@ void setup() {
WiFi.mode(WIFI_STA);
WiFi.persistent(false);
WiFi.hostname(HOSTNAME);
wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD);
wifiMulti.addAP(WIFI_SSID2, WIFI_PASSWORD2);
//wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD);
//wifiMulti.addAP(WIFI_SSID2, WIFI_PASSWORD2);
client.setServer(MQTT_SERV, 1883);
client.setCallback(callback);
@@ -100,6 +100,11 @@ void setup() {
pinMode(LAMP_OUT, OUTPUT);
dht.setup(D1, DHTesp::DHT22);
delay(dht.getMinimumSamplingPeriod());
sTaH = dht.getTempAndHumidity();
if(dht.getStatus() == dht.ERROR_NONE){
temp_out = sTaH.temperature;
hum_out = sTaH.humidity;
}
// if (! aht.begin()) {
// Serial.println("Could not find AHT? Check wiring");
// aht_pesent = false;
@@ -148,8 +153,8 @@ void loop() {
Serial.println(bSecs);
sTaH = dht.getTempAndHumidity();
if(dht.getStatus() == dht.ERROR_NONE){
temp_out += (sTaH.temperature - temp_out) / 300;
hum_out += (sTaH.humidity - hum_out) / 300;
temp_out += (sTaH.temperature - temp_out) / 150.0;
hum_out += (sTaH.humidity - hum_out) / 150.0;
WebSerial.print("Temp: ");
WebSerial.print(sTaH.temperature);
WebSerial.print(", Hum: ");
@@ -161,6 +166,49 @@ void loop() {
client.publish(TOPIC"tempout", v);
sprintf(v, "%.1f", hum_out);
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){
@@ -176,8 +224,8 @@ void loop() {
void connectToWifi() {
Serial.println("Connecting to Wi-Fi...");
wifiMulti.run();
//WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
//wifiMulti.run();
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
}
void onWifiConnect(const WiFiEventStationModeGotIP& event) {
@@ -238,6 +286,11 @@ void reconnect() {
client.publish(TOPIC"online", "1");
client.subscribe(TOPIC"light");
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 {
Serial.print("failed, rc=");
Serial.print(client.state());