Уточнить README по фото реального комплекта железа

По факту: 30-контактная ESP32 (GPIO16/17 подписаны RX2/TX2, не номерами),
готовый модуль DHT22 с проводами оранжевый/жёлтый/зелёный (VCC/DATA/GND),
один 2-канальный релейный модуль (SRD-05VDC-SL-C×2, общий разъём
GND/IN1/IN2/VCC) — закрывает sensor-1/light-1/pump-1. Канал под fan-1 в
прошивке заложен (GPIO18), но физически ещё не куплен — явно отмечено.

Пины в config.h.example не менялись, только комментарий про RX2/TX2.
This commit is contained in:
2026-08-18 04:18:18 +05:00
parent 51c46bf8d6
commit 4fcca2701b
2 changed files with 42 additions and 24 deletions
+40 -24
View File
@@ -26,47 +26,63 @@ Laravel (`DemoGrowboxSeeder` использует `sensor-1`/`fan-1`), а `zone_
## Железо ## Железо
| Назначение | Пин (по умолчанию) | По фото реального комплекта: 30-контактная ESP32 DevKit, готовый модуль
|-----------------|---------------------| DHT22 с распаянными проводами и **один 2-канальный** релейный модуль
| DHT22 data | GPIO4 | (SRD-05VDC-SL-C×2, общий разъём `GND IN1 IN2 VCC`) — закрывает sensor-1,
| Реле — light-1 | GPIO16 | light-1, pump-1. Для fan-1 нужен ещё один канал реле (третий модуль или
| Реле — pump-1 | GPIO17 | 4-канальная плата) — в прошивке/config.h он уже заложен на GPIO18, физически
| Реле — fan-1 | GPIO18 | пока не подключён.
Реле-модули по умолчанию считаются активными по LOW (`RELAY_ACTIVE_LOW` в | Назначение | Пин (по умолчанию) | Примечание |
`config.h`) — типично для дешёвых китайских модулей на оптопаре. Если ваши |---------------------|---------------------|------------|
реле активны по HIGH — поменяйте флаг. | DHT22 DATA | GPIO4 | провод жёлтый на нашем модуле |
| Реле IN1 — light-1 | GPIO16 | **на шёлкографии платы подписан `RX2`**, не «16» |
| Реле IN2 — pump-1 | GPIO17 | **на шёлкографии платы подписан `TX2`**, не «17» |
| Реле IN — fan-1 | GPIO18 | нужен третий канал реле, пока не подключено |
DHT22 требует подтягивающий резистор ~10кОм между data и VCC, если он не На этой конкретной 30-пиновой плате GPIO16/17 не подписаны номерами — они
встроен в конкретный модуль. выведены как пины UART2 и промаркированы `RX2`/`TX2`. Физически это те же
GPIO, `config.h`/прошивку менять не нужно, важно только не перепутать их при
пайке/монтаже на плате.
Реле-модуль (2-канальный, SRD-05VDC-SL-C) активен по LOW —
`RELAY_ACTIVE_LOW` в `config.h` уже стоит в `true`. Перемычка `JD-VCC` на
модуле по умолчанию установлена (питание катушек реле — от той же VCC, без
гальванической развязки) — для этого проекта этого достаточно, снимать её
незачем.
DHT22 требует подтягивающий резистор ~10кОм между DATA и VCC — на нашем
модуле, похоже, уже встроен (компактная плата-переходник с 3 проводами), но
если показания не читаются — проверьте отдельным резистором.
### Схема подключения ### Схема подключения
``` ```
ESP32 DevKitC ESP32 (30 pin)
┌───────────────────────┐ ┌───────────────────────┐
DHT22 DATA ───────┤ GPIO4 │ DHT22 DATA ───────┤ GPIO4 │
(+10к подтяжка │ │ (жёлтый провод) │ │
DATA -> 3V3) │ │
│ │ │ │
Реле LIGHT IN ────┤ GPIO16 │ Реле IN1 (light-1)─┤ GPIO16 (на плате: RX2)
Реле PUMP IN ────┤ GPIO17 │ Реле IN2 (pump-1) ─┤ GPIO17 (на плате: TX2)
Реле FAN IN ────┤ GPIO18 Реле IN (fan-1) ──┤ GPIO18 ← пока не подключено
│ │ │ │
3V3 ────┤ 3V3 │ 3V3 ────┤ 3V3 │
GND ────┤ GND │ GND ────┤ GND │
USB/5V ─┤ VIN │ USB/5V ─┤ VIN │
└───────────────────────┘ └───────────────────────┘
DHT22: VCC -> 3V3 GND -> GND DATA -> GPIO4 DHT22 (готовый модуль, 3 провода):
Реле-модуль: VCC -> 5V (VIN) или 3V3 (смотри маркировку модуля) оранжевый(+/VCC) -> 3V3 жёлтый(out/DATA) -> GPIO4 зелёный(-/GND) -> GND
GND -> GND (общий с ESP32)
IN -> GPIO16 / GPIO17 / GPIO18 Реле, 2-канальный модуль (разъём GND IN1 IN2 VCC):
VCC -> VIN (5V) GND -> GND (общий с ESP32)
IN1 -> GPIO16/RX2 (light-1) IN2 -> GPIO17/TX2 (pump-1)
⚠️ Реле коммутируют цепь самой нагрузки (свет/насос/вентилятор, обычно ⚠️ Реле коммутируют цепь самой нагрузки (свет/насос/вентилятор, обычно
12V/220V) через контакты COM/NO/NC — это ОТДЕЛЬНАЯ силовая цепь со своим 12V/220V) через винтовые клеммы COM/NO/NC каждого канала — это
источником питания, к GPIO ESP32 она не подключается. К плате идёт ОТДЕЛЬНАЯ силовая цепь со своим источником питания, к GPIO ESP32 она не
только сигнальный IN каждого реле-модуля. подключается. К плате идёт только сигнальный IN каждого канала.
``` ```
## Библиотеки ## Библиотеки
+2
View File
@@ -21,6 +21,8 @@
#define DEVICE_ID_FAN "fan-1" #define DEVICE_ID_FAN "fan-1"
// --- Пины (ESP32 DevKitC) --- // --- Пины (ESP32 DevKitC) ---
// На 30-контактных платах GPIO16/17 часто подписаны на шёлкографии как
// RX2/TX2 (пины UART2), а не номерами — это те же GPIO, см. README.md.
#define PIN_DHT22 4 #define PIN_DHT22 4
#define PIN_RELAY_LIGHT 16 #define PIN_RELAY_LIGHT 16
#define PIN_RELAY_PUMP 17 #define PIN_RELAY_PUMP 17