JXCT Soil Sensor 7-in-1 v3.4.9 (June 2025)
Professional IoT soil monitoring system with ESP32, Modbus RTU, MQTT, and advanced compensation algorithms
Загрузка...
Поиск...
Не найдено
Файл wifi_manager.cpp

Управление WiFi, веб-интерфейсом и индикацией Подробнее...

#include "wifi_manager.h"
#include "web_routes.h"
#include "modbus_sensor.h"
#include "mqtt_client.h"
#include "jxct_device_info.h"
#include "jxct_config_vars.h"
#include "jxct_format_utils.h"
#include <NTPClient.h>
#include "thingspeak_client.h"
#include "logger.h"
#include "jxct_ui_system.h"
#include "jxct_constants.h"

См. исходные тексты.

Макросы

#define RESET_BUTTON_PIN   0
 
#define WIFI_RECONNECT_INTERVAL   30000
 

Функции

WebServer webServer (DEFAULT_WEB_SERVER_PORT)
 
void handleRoot ()
 Обработчик главной страницы (уже существует в wifi_manager.cpp)
 
void setLedOn ()
 
void setLedOff ()
 
void setLedBlink (unsigned long interval)
 
void setLedFastBlink ()
 
void updateLed ()
 
String navHtml ()
 
void setupWiFi ()
 
void handleWiFi ()
 
String getApSsid ()
 
void startAPMode ()
 
void startSTAMode ()
 
bool checkResetButton ()
 
void restartESP ()
 
void handleStatus ()
 Обработчик статуса (уже существует в wifi_manager.cpp)
 
void setupWebServer ()
 

Переменные

bool wifiConnected = false
 
WiFiMode currentWiFiMode = WiFiMode::AP
 
DNSServer dnsServer
 
unsigned long ledLastToggle = 0
 
bool ledState = false
 
unsigned long ledBlinkInterval = 0
 
bool ledFastBlink = false
 
NTPClient * timeClient
 

Подробное описание

Управление WiFi, веб-интерфейсом и индикацией

Реализация логики подключения к WiFi, работы в режимах AP/STA, веб-конфигурирования, управления светодиодом и сервисных функций.

См. определение в файле wifi_manager.cpp

Макросы

◆ RESET_BUTTON_PIN

#define RESET_BUTTON_PIN   0

См. определение в файле wifi_manager.cpp строка 21

Используется в checkResetButton() и resetButtonTask().

◆ WIFI_RECONNECT_INTERVAL

#define WIFI_RECONNECT_INTERVAL   30000

См. определение в файле wifi_manager.cpp строка 22

Используется в handleWiFi().

Функции

◆ checkResetButton()

bool checkResetButton ( )

См. определение в файле wifi_manager.cpp строка 309

Перекрестные ссылки RESET_BUTTON_PIN, setLedBlink() и setLedFastBlink().

Используется в startSTAMode().

◆ getApSsid()

String getApSsid ( )

См. определение в файле wifi_manager.cpp строка 206

Используется в startAPMode() и startSTAMode().

◆ handleRoot()

void handleRoot ( )

Обработчик главной страницы (уже существует в wifi_manager.cpp)

См. определение в файле wifi_manager.cpp строка 394

Перекрестные ссылки config, currentWiFiMode, generateButton(), getToastHTML(), getUnifiedCSS(), navHtml(), PRIMARY, STA, UI_ICON_CONFIG, UI_ICON_SAVE и webServer.

Используется в setupMainRoutes().

◆ handleStatus()

void handleStatus ( )

Обработчик статуса (уже существует в wifi_manager.cpp)

См. определение в файле wifi_manager.cpp строка 343

Перекрестные ссылки AP, config, currentWiFiMode, DEVICE_SW_VERSION, getToastHTML(), getUnifiedCSS(), navHtml(), STA, UI_ICON_STATUS, webServer и wifiConnected.

Используется в setupMainRoutes().

◆ handleWiFi()

void handleWiFi ( )

См. определение в файле wifi_manager.cpp строка 129

Перекрестные ссылки AP, config, currentWiFiMode, dnsServer, logError(), logSuccess(), logWarn(), logWiFi(), setLedBlink(), setLedOn(), STA, startAPMode(), startSTAMode(), updateLed(), webServer, WIFI_RECONNECT_INTERVAL, WIFI_RETRY_DELAY_MS и wifiConnected.

Используется в loop().

◆ navHtml()

String navHtml ( )

◆ restartESP()

void restartESP ( )

См. определение в файле wifi_manager.cpp строка 336

Перекрестные ссылки logWarn().

◆ setLedBlink()

void setLedBlink ( unsigned long interval)

См. определение в файле wifi_manager.cpp строка 55

Перекрестные ссылки ledBlinkInterval и ledFastBlink.

Используется в checkResetButton(), handleWiFi(), setupWiFi(), startAPMode() и startSTAMode().

◆ setLedFastBlink()

void setLedFastBlink ( )

См. определение в файле wifi_manager.cpp строка 61

Перекрестные ссылки ledBlinkInterval и ledFastBlink.

Используется в checkResetButton().

◆ setLedOff()

void setLedOff ( )

См. определение в файле wifi_manager.cpp строка 48

Перекрестные ссылки ledBlinkInterval, ledFastBlink и STATUS_LED_PIN.

◆ setLedOn()

void setLedOn ( )

См. определение в файле wifi_manager.cpp строка 41

Перекрестные ссылки ledBlinkInterval, ledFastBlink и STATUS_LED_PIN.

Используется в handleWiFi() и startSTAMode().

◆ setupWebServer()

void setupWebServer ( )

См. определение в файле wifi_manager.cpp строка 368

Перекрестные ссылки AP, currentWiFiMode, logInfo(), logSuccess(), logSystem(), setupConfigRoutes(), setupDataRoutes(), setupErrorHandlers(), setupMainRoutes(), setupOtaRoutes(), setupServiceRoutes() и webServer.

Используется в startAPMode() и startSTAMode().

◆ setupWiFi()

void setupWiFi ( )

См. определение в файле wifi_manager.cpp строка 99

Перекрестные ссылки COLOR_GREEN, config, loadConfig(), logDebug(), logPrintHeader(), logPrintSeparator(), logSystem(), logWiFi(), setLedBlink(), startAPMode(), startSTAMode() и STATUS_LED_PIN.

Используется в setup().

◆ startAPMode()

void startAPMode ( )

См. определение в файле wifi_manager.cpp строка 216

Перекрестные ссылки AP, currentWiFiMode, dnsServer, getApSsid(), JXCT_WIFI_AP_PASS, logSystem(), logWiFi(), setLedBlink() и setupWebServer().

Используется в handleWiFi(), setupWiFi() и startSTAMode().

◆ startSTAMode()

◆ updateLed()

void updateLed ( )

См. определение в файле wifi_manager.cpp строка 67

Перекрестные ссылки ledBlinkInterval, ledLastToggle, ledState и STATUS_LED_PIN.

Используется в handleWiFi() и startSTAMode().

◆ webServer()

WebServer webServer ( DEFAULT_WEB_SERVER_PORT )

Перекрестные ссылки DEFAULT_WEB_SERVER_PORT.

Переменные

◆ currentWiFiMode

◆ dnsServer

DNSServer dnsServer

См. определение в файле wifi_manager.cpp строка 28

Используется в handleWiFi() и startAPMode().

◆ ledBlinkInterval

unsigned long ledBlinkInterval = 0

См. определение в файле wifi_manager.cpp строка 33

Используется в setLedBlink(), setLedFastBlink(), setLedOff(), setLedOn() и updateLed().

◆ ledFastBlink

bool ledFastBlink = false

См. определение в файле wifi_manager.cpp строка 34

Используется в setLedBlink(), setLedFastBlink(), setLedOff() и setLedOn().

◆ ledLastToggle

unsigned long ledLastToggle = 0

См. определение в файле wifi_manager.cpp строка 31

Используется в updateLed().

◆ ledState

bool ledState = false

См. определение в файле wifi_manager.cpp строка 32

Используется в updateLed().

◆ timeClient

NTPClient* timeClient
extern

См. определение в файле main.cpp строка 43

Используется в loop(), publishSensorData(), sendSensorJson() и startSTAMode().

◆ wifiConnected

bool wifiConnected = false

См. определение в файле wifi_manager.cpp строка 25

Используется в handleStatus(), handleWiFi(), sendDataToThingSpeak(), sendHealthJson(), sendServiceStatusJson() и startSTAMode().