JXCT Soil Sensor 7-in-1 3.10.1
IoT система мониторинга почвы на базе ESP32
Загрузка...
Поиск...
Не найдено
Класс ISensorCompensationServiceabstract

Интерфейс для сервиса компенсации датчиков Подробнее...

#include <ISensorCompensationService.h>

Граф наследования:ISensorCompensationService:

Открытые члены

virtual ~ISensorCompensationService ()=default
 
virtual void applyCompensation (SensorData &data, SoilType soilType)=0
 Применяет компенсацию к данным датчика
 
virtual float correctEC (float ec25, SoilType soilType, float temperature)=0
 Компенсирует EC по формуле Rhoades et al. (1989)
 
virtual float correctPH (float temperature, float phRaw)=0
 Компенсирует pH по уравнению Нернста
 
virtual void correctNPK (float temperature, float humidity, SoilType soilType, NPKReferences &npk)=0
 Компенсирует NPK по формуле Delgado et al. (2020)
 
virtual float getPorosity (SoilType soilType) const =0
 Получает пористость для типа почвы
 
virtual bool validateCompensationInputs (SoilType soilType, float humidity, float temperature) const =0
 Проверяет валидность входных данных для компенсации
 
virtual void initializeArchieCoefficients ()=0
 Инициализирует коэффициенты Арчи
 
virtual void initializeSoilParameters ()=0
 Инициализирует параметры почвы
 
virtual void initializeNPKCoefficients ()=0
 Инициализирует коэффициенты NPK.
 

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

Интерфейс для сервиса компенсации датчиков

Определяет контракт для применения научных алгоритмов компенсации к показаниям датчиков (модель Арчи, уравнение Нернста, Delgado et al. (2020)).

Конструктор(ы)

◆ ~ISensorCompensationService()

virtual ISensorCompensationService::~ISensorCompensationService ( )
virtualdefault

Методы

◆ applyCompensation()

virtual void ISensorCompensationService::applyCompensation ( SensorData data,
SoilType  soilType 
)
pure virtual

Применяет компенсацию к данным датчика

Аргументы
dataДанные датчика для компенсации
soilTypeТип почвы для выбора коэффициентов

Замещается в SensorCompensationService.

◆ correctEC()

virtual float ISensorCompensationService::correctEC ( float  ec25,
SoilType  soilType,
float  temperature 
)
pure virtual

Компенсирует EC по формуле Rhoades et al. (1989)

Применяет температурную компенсацию к электропроводности на основе линейной формулы Rhoades et al. (1989).

Аргументы
ec25EC при 25°C
soilTypeТип почвы
temperatureТемпература почвы
Возвращает
float Скомпенсированное значение EC

Замещается в SensorCompensationService.

◆ correctPH()

virtual float ISensorCompensationService::correctPH ( float  temperature,
float  phRaw 
)
pure virtual

Компенсирует pH по уравнению Нернста

Применяет температурную компенсацию к pH на основе уравнения Нернста.

Аргументы
temperatureТемпература почвы
phRawИсходное значение pH
Возвращает
float Скомпенсированное значение pH

Замещается в SensorCompensationService.

◆ correctNPK()

virtual void ISensorCompensationService::correctNPK ( float  temperature,
float  humidity,
SoilType  soilType,
NPKReferences npk 
)
pure virtual

Компенсирует NPK по формуле Delgado et al. (2020)

Применяет температурную и влажностную компенсацию к NPK значениям на основе формулы Delgado et al. (2020).

Аргументы
temperatureТемпература почвы
humidityВлажность почвы
soilTypeТип почвы
npkNPK значения для компенсации

Замещается в SensorCompensationService.

◆ getPorosity()

virtual float ISensorCompensationService::getPorosity ( SoilType  soilType) const
pure virtual

Получает пористость для типа почвы

Аргументы
soilTypeТип почвы
Возвращает
float Пористость почвы

Замещается в SensorCompensationService.

◆ validateCompensationInputs()

virtual bool ISensorCompensationService::validateCompensationInputs ( SoilType  soilType,
float  humidity,
float  temperature 
) const
pure virtual

Проверяет валидность входных данных для компенсации

Аргументы
soilTypeТип почвы
temperatureТемпература
humidityВлажность
Возвращает
true если данные валидны, false в противном случае

Замещается в SensorCompensationService.

◆ initializeArchieCoefficients()

virtual void ISensorCompensationService::initializeArchieCoefficients ( )
pure virtual

Инициализирует коэффициенты Арчи

◆ initializeSoilParameters()

virtual void ISensorCompensationService::initializeSoilParameters ( )
pure virtual

Инициализирует параметры почвы

◆ initializeNPKCoefficients()

virtual void ISensorCompensationService::initializeNPKCoefficients ( )
pure virtual

Инициализирует коэффициенты NPK.


Объявления и описания членов класса находятся в файле: