feat: Adiciona suporte para sensor de temperatura e umidade DHT11 com integração Zigbee
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
/* DHT11 Temperature and Humidity Sensor Driver */
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "esp_err.h"
|
||||
#include "driver/gpio.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Estrutura para armazenar leitura do DHT11
|
||||
*/
|
||||
typedef struct {
|
||||
float temperature; /* Temperatura em °C */
|
||||
float humidity; /* Umidade relativa em % */
|
||||
bool valid; /* Indica se a leitura é válida */
|
||||
} dht11_reading_t;
|
||||
|
||||
/**
|
||||
* @brief Inicializa o sensor DHT11
|
||||
*
|
||||
* @param gpio_num Número do GPIO conectado ao pino DATA do DHT11
|
||||
* @return ESP_OK em caso de sucesso
|
||||
*/
|
||||
esp_err_t dht11_init(gpio_num_t gpio_num);
|
||||
|
||||
/**
|
||||
* @brief Lê temperatura e umidade do DHT11
|
||||
*
|
||||
* @param reading Ponteiro para estrutura que receberá os dados
|
||||
* @return ESP_OK em caso de sucesso, ESP_ERR_TIMEOUT se falhar
|
||||
*
|
||||
* @note O DHT11 requer intervalo mínimo de 1 segundo entre leituras
|
||||
*/
|
||||
esp_err_t dht11_read(dht11_reading_t *reading);
|
||||
|
||||
/**
|
||||
* @brief Obtém apenas a temperatura do DHT11
|
||||
*
|
||||
* @param temperature Ponteiro para receber temperatura em °C
|
||||
* @return ESP_OK em caso de sucesso
|
||||
*/
|
||||
esp_err_t dht11_read_temperature(float *temperature);
|
||||
|
||||
/**
|
||||
* @brief Obtém apenas a umidade do DHT11
|
||||
*
|
||||
* @param humidity Ponteiro para receber umidade em %
|
||||
* @return ESP_OK em caso de sucesso
|
||||
*/
|
||||
esp_err_t dht11_read_humidity(float *humidity);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user