Files
cacto a645737927 Начальный каркас: прошивка ESP32 для зоны "Гроубокс"
Реализованы sensor-1 (DHT22, телеметрия temperature/humidity) и
реле-актуаторы light-1/pump-1/fan-1 (turn_on/turn_off/set_level) по
протоколу MQTT платформы home_automatization (devices/{id}/telemetry|commands|ack).
2026-08-11 18:46:37 +05:00

41 lines
1.0 KiB
C++

#include "net.h"
#include <Arduino.h>
#include <WiFi.h>
#include "config.h"
void netBegin() {
WiFi.mode(WIFI_STA);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("[net] connecting to ");
Serial.print(WIFI_SSID);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.print("\n[net] connected, ip=");
Serial.println(WiFi.localIP());
}
// Вызывается из loop() на каждой итерации — переподключает Wi-Fi,
// если связь пропала (роутер перезагрузился, слабый сигнал и т.д.).
void netEnsureConnected() {
if (WiFi.status() == WL_CONNECTED) {
return;
}
Serial.println("[net] connection lost, reconnecting");
WiFi.disconnect();
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
unsigned long start = millis();
while (WiFi.status() != WL_CONNECTED && millis() - start < 15000) {
delay(250);
}
if (WiFi.status() == WL_CONNECTED) {
Serial.print("[net] reconnected, ip=");
Serial.println(WiFi.localIP());
}
}