This commit is contained in:
2024-07-05 09:10:53 +03:00
parent cebee7859e
commit dd255e6a29
6 changed files with 39 additions and 12 deletions

View File

@ -30,19 +30,21 @@ menu "ZH ESP-NOW Sensor Configuration"
bool "DS18B20"
config SENSOR_TYPE_DHT
bool "DHT"
config SENSOR_TYPE_AHT
bool "AHT"
config SENSOR_TYPE_BH1750
bool "BH1750"
endchoice
choice CONNECTION_TYPE
depends on SENSOR_TYPE_DS18B20 || SENSOR_TYPE_DHT || SENSOR_TYPE_BH1750
depends on SENSOR_TYPE_DS18B20 || SENSOR_TYPE_DHT || SENSOR_TYPE_BH1750 || SENSOR_TYPE_AHT
prompt "Connection type"
default CONNECTION_TYPE_ONEWIRE
config CONNECTION_TYPE_ONEWIRE
depends on SENSOR_TYPE_DS18B20 || SENSOR_TYPE_DHT
bool "ONE WIRE"
config CONNECTION_TYPE_I2C
depends on SENSOR_TYPE_DHT || SENSOR_TYPE_BH1750
depends on SENSOR_TYPE_DHT || SENSOR_TYPE_BH1750 || SENSOR_TYPE_AHT
bool "I2C"
endchoice
@ -63,7 +65,7 @@ menu "ZH ESP-NOW Sensor Configuration"
Sensor GPIO (SCL pin for I2C sensors).
config MEASUREMENT_FREQUENCY
depends on SENSOR_TYPE_DS18B20 || SENSOR_TYPE_DHT || SENSOR_TYPE_BH1750
depends on CONNECTION_TYPE_ONEWIRE || CONNECTION_TYPE_I2C
int "Measurement frequency"
range 1 65536
default 300

View File

@ -76,6 +76,8 @@ void zh_load_config(sensor_config_t *sensor_config)
sensor_config->hardware_config.sensor_type = HAST_DS18B20;
#elif CONFIG_SENSOR_TYPE_DHT
sensor_config->hardware_config.sensor_type = HAST_DHT;
#elif CONFIG_SENSOR_TYPE_AHT
sensor_config->hardware_config.sensor_type = HAST_AHT;
#elif CONFIG_SENSOR_TYPE_BH1750
sensor_config->hardware_config.sensor_type = HAST_BH1750;
#else
@ -254,7 +256,17 @@ void zh_sensor_init(sensor_config_t *sensor_config)
break;
case HAST_BME680: // For future development.
break;
case HAST_AHT: // For future development.
case HAST_AHT:;
zh_aht_init_config_t aht_init_config = ZH_AHT_INIT_CONFIG_DEFAULT();
#ifdef CONFIG_IDF_TARGET_ESP8266
aht_init_config.i2c_port = I2C_PORT;
#else
aht_init_config.i2c_handle = sensor_config->i2c_bus_handle;
#endif
if (zh_aht_init(&aht_init_config) != ESP_OK)
{
goto ZH_SENSOR_ERROR;
}
break;
case HAST_SHT: // For future development.
break;
@ -371,7 +383,7 @@ uint8_t zh_send_sensor_config_message(const sensor_config_t *sensor_config)
++messages_quantity;
break;
case HAST_DHT:
case HAST_AHT: // For future development.
case HAST_AHT:
case HAST_SHT: // For future development.
case HAST_HTU21D: // For future development.
case HAST_HDC1080: // For future development.
@ -470,7 +482,14 @@ void zh_send_sensor_status_message_task(void *pvParameter)
break;
case HAST_BME680: // For future development.
break;
case HAST_AHT: // For future development.
case HAST_AHT:
err = zh_aht_read(&humidity, &temperature);
if (err == ESP_OK)
{
data.payload_data.status_message.sensor_status_message.humidity = humidity;
data.payload_data.status_message.sensor_status_message.temperature = temperature;
data.payload_data.status_message.sensor_status_message.voltage = 3.3; // For future development.
}
break;
case HAST_SHT: // For future development.
break;

View File

@ -12,6 +12,7 @@
#include "zh_ds18b20.h"
#include "zh_dht.h"
#include "zh_bh1750.h"
#include "zh_aht.h"
#include "zh_config.h"
#ifdef CONFIG_NETWORK_TYPE_DIRECT