feat: Adiciona suporte para dispositivo combo (relé + sensor de temperatura/umidade) e driver para sensor ultrassônico JSN-SR04T

This commit is contained in:
2026-01-17 00:34:24 +00:00
parent fcecd9d273
commit 5c063ff367
32 changed files with 467 additions and 9 deletions
Regular → Executable
+15 -5
View File
@@ -10,9 +10,10 @@ extern "C" {
/* Descomente APENAS UMA das opções abaixo para definir o tipo de dispositivo */
// #define DEVICE_TYPE_RELAY /* Relé controlável (on/off light) */
#define DEVICE_TYPE_TEMP_SENSOR /* Sensor de temperatura */
// #define DEVICE_TYPE_DOOR_SENSOR /* Sensor de porta/janela */
// #define DEVICE_TYPE_MOTION_SENSOR /* Sensor de movimento */
// #define DEVICE_TYPE_TEMP_SENSOR /* Sensor de temperatura e umidade */
// #define DEVICE_TYPE_DOOR_SENSOR /* Sensor de porta/janela */
// #define DEVICE_TYPE_MOTION_SENSOR /* Sensor de movimento */
#define DEVICE_TYPE_COMBO_RELAY_SENSOR /* Relé + Sensor de temperatura/umidade */
/* ========================= CONFIGURAÇÃO DE HARDWARE ========================= */
@@ -41,6 +42,13 @@ extern "C" {
#define PIR_TIMEOUT_MS 60000 /* Timeout para resetar movimento detectado */
#endif
#ifdef DEVICE_TYPE_COMBO_RELAY_SENSOR
#define GPIO_OUTPUT_RELAY 4 /* Relé de saída */
#define GPIO_SENSOR_DHT11 5 /* GPIO para DHT11 (DATA pin) */
#define SENSOR_UPDATE_INTERVAL 10000 /* Intervalo de atualização em ms */
#define HAS_BUTTON_TOGGLE 1 /* Botão também faz toggle do relé */
#endif
/* ========================= FUNCIONALIDADES OPCIONAIS ========================= */
#define FEATURE_LED_INDICATOR 1 /* Habilita LED RGB indicador */
@@ -57,13 +65,15 @@ extern "C" {
/* Verifica se pelo menos um tipo de dispositivo foi selecionado */
#if !defined(DEVICE_TYPE_RELAY) && !defined(DEVICE_TYPE_TEMP_SENSOR) && \
!defined(DEVICE_TYPE_DOOR_SENSOR) && !defined(DEVICE_TYPE_MOTION_SENSOR)
!defined(DEVICE_TYPE_DOOR_SENSOR) && !defined(DEVICE_TYPE_MOTION_SENSOR) && \
!defined(DEVICE_TYPE_COMBO_RELAY_SENSOR)
#error "Nenhum tipo de dispositivo selecionado! Defina um DEVICE_TYPE_* em device_config.h"
#endif
/* Verifica se mais de um tipo foi selecionado */
#if (defined(DEVICE_TYPE_RELAY) + defined(DEVICE_TYPE_TEMP_SENSOR) + \
defined(DEVICE_TYPE_DOOR_SENSOR) + defined(DEVICE_TYPE_MOTION_SENSOR)) > 1
defined(DEVICE_TYPE_DOOR_SENSOR) + defined(DEVICE_TYPE_MOTION_SENSOR) + \
defined(DEVICE_TYPE_COMBO_RELAY_SENSOR)) > 1
#error "Múltiplos tipos de dispositivo selecionados! Defina apenas um DEVICE_TYPE_*"
#endif