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
Загрузка...
Поиск...
Не найдено
Файл validation_utils.h

Заголовочный файл утилит валидации Подробнее...

#include <Arduino.h>
#include <vector>

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

Классы

struct  ValidationResult
 Результат валидации одного поля Подробнее...
 
struct  ValidationError
 Ошибка валидации с указанием поля Подробнее...
 
struct  ConfigValidationResult
 Результат валидации конфигурации Подробнее...
 
struct  SensorValidationResult
 Результат валидации данных датчика Подробнее...
 
struct  ConfigData
 
struct  SensorData
 

Функции

ValidationResult validateSSID (const String &ssid)
 Валидация SSID.
 
ValidationResult validatePassword (const String &password)
 Валидация пароля WiFi.
 
ValidationResult validateMQTTServer (const String &server)
 Валидация MQTT сервера
 
ValidationResult validateMQTTPort (int port)
 Валидация MQTT порта
 
ValidationResult validateThingSpeakAPIKey (const String &apiKey)
 Валидация ThingSpeak API ключа
 
ValidationResult validateInterval (unsigned long interval, unsigned long min_val, unsigned long max_val, const char *name)
 Валидация интервала (общая функция)
 
ValidationResult validateSensorReadInterval (unsigned long interval)
 Валидация интервала чтения датчика
 
ValidationResult validateMQTTPublishInterval (unsigned long interval)
 Валидация интервала публикации MQTT.
 
ValidationResult validateThingSpeakInterval (unsigned long interval)
 Валидация интервала ThingSpeak.
 
ValidationResult validateNTPInterval (unsigned long interval)
 Валидация интервала обновления NTP.
 
ValidationResult validateTemperature (float temperature)
 Валидация температуры
 
ValidationResult validateHumidity (float humidity)
 Валидация влажности
 
ValidationResult validatePH (float ph)
 Валидация pH.
 
ValidationResult validateEC (float ec)
 Валидация электропроводности
 
ValidationResult validateNPK (float value, const char *nutrient)
 Валидация NPK значений
 
ConfigValidationResult validateFullConfig (const ConfigData &config, bool checkRequired=true)
 Полная валидация конфигурации
 
SensorValidationResult validateFullSensorData (const SensorData &data)
 Полная валидация данных датчика
 
bool isValidIPAddress (const String &ip)
 Проверка валидности IP адреса
 
bool isValidHostname (const String &hostname)
 Проверка валидности hostname.
 
String formatValidationErrors (const ConfigValidationResult &result)
 Форматирование ошибок валидации конфигурации
 
String formatSensorValidationErrors (const SensorValidationResult &result)
 Форматирование ошибок валидации датчика
 
void logValidationResult (const ConfigValidationResult &result, const char *context)
 Логирование результата валидации конфигурации
 
void logSensorValidationResult (const SensorValidationResult &result, const char *context)
 Логирование результата валидации датчика
 

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

Заголовочный файл утилит валидации

Объявления функций валидации конфигурации и данных датчика

См. определение в файле validation_utils.h

Функции

◆ formatSensorValidationErrors()

String formatSensorValidationErrors ( const SensorValidationResult & result)

Форматирование ошибок валидации датчика

Аргументы
resultРезультат валидации
Возвращает
Отформатированная строка с ошибками

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

Перекрестные ссылки SensorValidationResult::errors и SensorValidationResult::isValid.

◆ formatValidationErrors()

String formatValidationErrors ( const ConfigValidationResult & result)

Форматирование ошибок валидации конфигурации

Аргументы
resultРезультат валидации
Возвращает
Отформатированная строка с ошибками

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

Перекрестные ссылки ConfigValidationResult::errors и ConfigValidationResult::isValid.

◆ isValidHostname()

bool isValidHostname ( const String & hostname)

Проверка валидности hostname.

Аргументы
hostnameHostname для проверки
Возвращает
true если hostname валиден

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

◆ isValidIPAddress()

bool isValidIPAddress ( const String & ip)

Проверка валидности IP адреса

Аргументы
ipIP адрес для проверки
Возвращает
true если IP адрес валиден

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

◆ logSensorValidationResult()

void logSensorValidationResult ( const SensorValidationResult & result,
const char * context )

Логирование результата валидации датчика

Аргументы
resultРезультат валидации
contextКонтекст валидации

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

Перекрестные ссылки SensorValidationResult::errors, SensorValidationResult::isValid, logSuccess() и logWarn().

◆ logValidationResult()

void logValidationResult ( const ConfigValidationResult & result,
const char * context )

Логирование результата валидации конфигурации

Аргументы
resultРезультат валидации
contextКонтекст валидации

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

Перекрестные ссылки ConfigValidationResult::errors, ConfigValidationResult::isValid, logError() и logSuccess().

◆ validateEC()

ValidationResult validateEC ( float ec)

Валидация электропроводности

Аргументы
ecEC для проверки
Возвращает
Результат валидации

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

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

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

◆ validateFullConfig()

ConfigValidationResult validateFullConfig ( const ConfigData & config,
bool checkRequired = true )

Полная валидация конфигурации

Аргументы
configКонфигурация для проверки
checkRequiredПроверять ли обязательные поля
Возвращает
Результат валидации с списком ошибок

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

Перекрестные ссылки config, ConfigValidationResult::errors, ConfigValidationResult::isValid, validateMQTTPort(), validateMQTTPublishInterval(), validateMQTTServer(), validateNTPInterval(), validatePassword(), validateSensorReadInterval(), validateSSID(), validateThingSpeakAPIKey() и validateThingSpeakInterval().

◆ validateFullSensorData()

SensorValidationResult validateFullSensorData ( const SensorData & data)

Полная валидация данных датчика

Аргументы
dataДанные датчика для проверки
Возвращает
Результат валидации с списком ошибок

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

Перекрестные ссылки SensorData::ec, SensorValidationResult::errors, SensorData::humidity, SensorValidationResult::isValid, SensorData::nitrogen, SensorData::ph, SensorData::phosphorus, SensorData::potassium, SensorData::temperature, validateEC(), validateHumidity(), validateNPK(), validatePH() и validateTemperature().

◆ validateHumidity()

ValidationResult validateHumidity ( float humidity)

Валидация влажности

Аргументы
humidityВлажность для проверки
Возвращает
Результат валидации

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

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

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

◆ validateInterval()

ValidationResult validateInterval ( unsigned long interval,
unsigned long min_val,
unsigned long max_val,
const char * name )

Валидация интервала (общая функция)

Аргументы
intervalИнтервал для проверки
min_valМинимальное значение
max_valМаксимальное значение
nameНазвание интервала для сообщения об ошибке
Возвращает
Результат валидации

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

Используется в validateMQTTPublishInterval(), validateNTPInterval(), validateSensorReadInterval() и validateThingSpeakInterval().

◆ validateMQTTPort()

ValidationResult validateMQTTPort ( int port)

Валидация MQTT порта

Аргументы
portПорт для проверки
Возвращает
Результат валидации

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

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

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

◆ validateMQTTPublishInterval()

ValidationResult validateMQTTPublishInterval ( unsigned long interval)

Валидация интервала публикации MQTT.

Аргументы
intervalИнтервал для проверки
Возвращает
Результат валидации

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

Перекрестные ссылки CONFIG_INTERVAL_MAX, CONFIG_INTERVAL_MIN и validateInterval().

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

◆ validateMQTTServer()

ValidationResult validateMQTTServer ( const String & server)

Валидация MQTT сервера

Аргументы
serverАдрес сервера для проверки
Возвращает
Результат валидации

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

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

◆ validateNPK()

ValidationResult validateNPK ( float value,
const char * nutrient )

Валидация NPK значений

Аргументы
valueЗначение для проверки
nutrientНазвание питательного вещества
Возвращает
Результат валидации

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

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

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

◆ validateNTPInterval()

ValidationResult validateNTPInterval ( unsigned long interval)

Валидация интервала обновления NTP.

Аргументы
intervalИнтервал для проверки
Возвращает
Результат валидации

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

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

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

◆ validatePassword()

ValidationResult validatePassword ( const String & password)

Валидация пароля WiFi.

Аргументы
passwordПароль для проверки
Возвращает
Результат валидации

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

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

◆ validatePH()

ValidationResult validatePH ( float ph)

Валидация pH.

Аргументы
phpH для проверки
Возвращает
Результат валидации

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

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

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

◆ validateSensorReadInterval()

ValidationResult validateSensorReadInterval ( unsigned long interval)

Валидация интервала чтения датчика

Аргументы
intervalИнтервал для проверки
Возвращает
Результат валидации

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

Перекрестные ссылки CONFIG_INTERVAL_MAX, CONFIG_INTERVAL_MIN и validateInterval().

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

◆ validateSSID()

ValidationResult validateSSID ( const String & ssid)

Валидация SSID.

Аргументы
ssidSSID для проверки
Возвращает
Результат валидации

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

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

◆ validateTemperature()

ValidationResult validateTemperature ( float temperature)

Валидация температуры

Аргументы
temperatureТемпература для проверки
Возвращает
Результат валидации

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

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

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

◆ validateThingSpeakAPIKey()

ValidationResult validateThingSpeakAPIKey ( const String & apiKey)

Валидация ThingSpeak API ключа

Аргументы
apiKeyAPI ключ для проверки
Возвращает
Результат валидации

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

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

◆ validateThingSpeakInterval()

ValidationResult validateThingSpeakInterval ( unsigned long interval)

Валидация интервала ThingSpeak.

Аргументы
intervalИнтервал для проверки
Возвращает
Результат валидации

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

Перекрестные ссылки CONFIG_THINGSPEAK_MAX, CONFIG_THINGSPEAK_MIN и validateInterval().

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