Files
cacto bb85c617a4 Добавлен локальный веб-интерфейс и распиновка в README
Плата поднимает страницу + JSON API (/api/state, /api/command) на порту 80
для наблюдения и управления актуаторами независимо от MQTT/Laravel.
Команда с веб-UI публикует тот же ack в devices/{id}/ack, что и MQTT-команда,
поэтому device shadow платформы не расходится с реальным состоянием.
Включается/выключается флагом ENABLE_WEB_UI в config.h.

В README добавлены ASCII-схема подключения DHT22/реле и раздел про сборку
через arduino-cli (включая обходной путь для проблемы с правами на
~/Documents/Arduino на macOS).
2026-08-11 19:27:41 +05:00

40 lines
1.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Скопировать в config.h и заполнить своими значениями.
// config.h в .gitignore — секреты (Wi-Fi, адрес брокера) в репозиторий не попадают.
#pragma once
// --- Wi-Fi ---
#define WIFI_SSID "your-wifi-ssid"
#define WIFI_PASSWORD "your-wifi-password"
// --- MQTT (mosquitto из home_automatization/docker-compose.yml, порт 1883, без auth в dev) ---
#define MQTT_BROKER_HOST "192.168.1.100"
#define MQTT_BROKER_PORT 1883
#define MQTT_CLIENT_ID "growbox-esp32"
// --- Зона и устройства ---
// zone_id — id зоны "Гроубокс" в Postgres (laravel-app, таблица zones).
// device_id должны совпадать с devices.external_id, засеянными в Laravel.
#define ZONE_ID "1"
#define DEVICE_ID_SENSOR "sensor-1"
#define DEVICE_ID_LIGHT "light-1"
#define DEVICE_ID_PUMP "pump-1"
#define DEVICE_ID_FAN "fan-1"
// --- Пины (ESP32 DevKitC) ---
#define PIN_DHT22 4
#define PIN_RELAY_LIGHT 16
#define PIN_RELAY_PUMP 17
#define PIN_RELAY_FAN 18
// Большинство дешёвых реле-модулей активны по LOW (сигнал LOW = реле включено).
#define RELAY_ACTIVE_LOW true
// --- Телеметрия ---
#define TELEMETRY_INTERVAL_MS 30000UL
// --- Веб-интерфейс ---
// 1 — поднимать HTTP-сервер на порту 80 (страница + /api/state, /api/command).
// 0 — полностью выключить (сервер не поднимается вообще, порт не слушается).
// Без авторизации — только для локальной сети, см. README.md.
#define ENABLE_WEB_UI 1