# Контроллер насосов v8.2 — руководство пользователя Документ для монтажника и обслуживающего персонала. Техническое описание кода — в [README.md](README.md). --- ## 1. Что делает прибор Контроллер следит за тремя насосами: * **Насос 1** и **Насос 2** — основные; * **Резерв** — аварийный (экстренный) насос. Прибор: 1. показывает состояние на экране; 2. включает выход «Авария», если **оба** основных насоса остановлены; 3. включает выход «Резерв», когда запускается резервный насос; 4. отправляет уведомления на сервер (webhook) через интернет; 5. показывает панель мониторинга в браузере в локальной сети. --- ## 2. Подключение ### 2.1 Питание 5 В через microUSB (блок питания не менее 500 мА). ### 2.2 Датчики насосов К каждому входу подключается **сухой контакт** — свободный контакт пускателя насоса или датчика потока. | Клемма платы | Что подключить | |---|---| | `D5` и `GND` | Контакт насоса 1 | | `D6` и `GND` | Контакт насоса 2 | | `D7` и `GND` | Контакт резервного насоса | **Контакт замкнут = насос работает.** Полярность не важна, внешние резисторы и питание на контакты подавать не нужно. ### 2.3 Выходы аварии | Клемма | Когда `HIGH` (3.3 В) | |---|---| | `D8` | Авария: оба основных насоса стоят | | `D0` | Работает резервный насос | Выходы логические, 3.3 В, ток до ~12 мА. **Реле, сирену или лампу напрямую подключать нельзя** — только через транзисторный ключ или релейный модуль с оптронной развязкой. ### 2.4 Кнопка сброса Wi-Fi Обычная кнопка без фиксации между `D3` и `GND`. > Кнопку нельзя держать нажатой в момент включения питания — плата уйдёт в > служебный режим и не запустится. ### 2.5 Экран OLED 128×64 (I2C): `SDA → D1`, `SCL → D2`, `VCC → 3V3`, `GND → GND`. --- ## 3. Первое включение 1. Подайте питание. На экране появится `PUMP CTRL v8 / Starting...`. 2. Прибор не найдёт сохранённой сети и поднимет свою точку доступа: ``` Имя сети: Pump_Control_Set ``` 3. Подключитесь к ней с телефона или ноутбука (пароль не требуется). 4. Откройте в браузере `http://192.168.4.1` — откроется страница настройки. 5. Выберите вашу Wi-Fi-сеть, введите пароль, нажмите **Save**. 6. Прибор перезагрузится и покажет на экране полученный IP-адрес. **Запишите этот адрес** — по нему открывается панель мониторинга. Если за 2 минуты сеть не настроена, прибор переходит в автономный режим: экран, выходы аварии и логика работают, webhook и веб-панель — нет. --- ## 4. Экран ``` PUMP CONTROLLER v8 ──────────────────────── PUMP 1 : RUNNING PUMP 2 : STOPPED BACKUP : STANDBY ──────────────────────── 192.168.1.42 STATUS: OK ``` | Надпись | Значение | |---|---| | `PUMP 1/2 : RUNNING` | Насос работает | | `PUMP 1/2 : STOPPED` | Насос остановлен | | `BACKUP : ACTIVE` | Резервный насос запущен | | `BACKUP : STANDBY` | Резерв в ожидании | | `WiFi: NO CONNECTION` | Нет связи с сетью | | `INIT...` | Идёт запуск (первые ~4 секунды) | | `STATUS: OK` | Норма | | `WARN: BACKUP RUNNING` | Работает резерв — требуется внимание | | `!! ALARM: NO PUMPS !!` (мигает) | **Авария: подача воды прекращена** | --- ## 5. Панель в браузере Откройте `http://` в любом браузере в той же сети. На странице: * три карточки насосов с индикаторами; * панель состояния системы (`SYS_OK` или `CRITICAL`); * кнопка **Сбросить Wi-Fi**; * поле **Webhook URL** для смены адреса уведомлений. Страница обновляется автоматически при изменении состояния насосов. ### Адрес уведомлений **На новом приборе адрес не задан** — панель покажет `не задан - уведомления отключены`, и сообщения на сервер отправляться не будут. Введите адрес в поле под заголовком `Webhook URL` и нажмите **Сохранить**. Адрес сохраняется в память прибора и переживает отключение питания и сброс Wi-Fi. Максимальная длина — 220 символов. --- ## 6. Уведомления на сервер При изменении ситуации прибор отправляет сообщение на настроенный адрес: | Событие | Что означает | |---|---| | `MAIN PUMPS` / `ALARM` | Оба основных насоса стоят | | `MAIN PUMPS` / `OK` | Работа восстановлена | | `EMERGENCY PUMP` / `STARTED` | Запустился резервный насос | | `EMERGENCY PUMP` / `STOPPED` | Резервный насос остановился | Уведомления отправляются один раз на каждое изменение, а не повторяются. Если в момент события связи не было — уведомление **не будет** отправлено позже, оно теряется. На отправку отводится не больше **3 секунд**. Если сервер недоступен или отвечает медленно, прибор прекращает попытку и продолжает работу: экран и кнопка на это время замирают, но **выходы аварии срабатывают сразу**, не дожидаясь сервера. --- ## 7. Сброс настроек Wi-Fi Нужен при смене роутера или пароля сети. **Способ 1 — кнопкой:** нажмите и держите кнопку на `D3`. На экране появится полоса и обратный отсчёт от 3 секунд. Дождитесь конца — прибор перезагрузится и снова поднимет точку доступа `Pump_Control_Set`. Отпустите кнопку раньше — ничего не произойдёт. **Способ 2 — через браузер:** на панели мониторинга нажмите **Сбросить Wi-Fi**. Webhook URL при сбросе Wi-Fi **не стирается**. --- ## 8. Задержки срабатывания Задержки заданы намеренно, чтобы не срабатывать на кратковременные пуски и остановки: | Событие | Задержка | |---|---| | Фиксация нового состояния датчика | 3 секунды | | Авария основных насосов (после фиксации) | ещё 5 секунд | | **Итого до сигнала аварии** | **~8 секунд** | | Реакция на резервный насос | ~3 секунды | --- ## 9. Диагностика | Симптом | Причина / что делать | |---|---| | Экран не горит | Проверьте питание и провода SDA/SCL. Если адрес дисплея `0x3D`, требуется правка прошивки (константа `OLED_ADDR`) | | Экран горит, но насосы всегда `STOPPED` | Контакты датчиков не замыкаются на `GND`; проверьте общий провод | | Насосы всегда `RUNNING` | Вход замкнут на `GND` постоянно — проверьте контакт пускателя | | `WiFi: NO CONNECTION` | Сеть недоступна или сменился пароль → выполните сброс Wi-Fi (раздел 7) | | Панель в браузере не открывается | Проверьте, что компьютер в той же сети; уточните IP на экране прибора | | Уведомления не приходят | Проверьте адрес webhook на панели и доступность сервера. Смотрите лог в мониторе порта (115200 бод): `[HTTP] Код: 200` — доставлено; `[HTTP] DNS не ответил` — проблема с именем сервера или DNS роутера; `[HTTP] Ошибка:` — сервер не ответил вовремя | | Экран замирает на 1-3 с в момент аварии | Так и задумано: отправка уведомления блокирует прибор не дольше 3 секунд. Выходы аварии при этом срабатывают сразу, без ожидания сервера | | Прибор не стартует после включения | Была нажата кнопка `D3` при подаче питания либо `D8` притянут к плюсу нагрузкой | Подробный лог работы выводится в USB-порт: скорость **115200 бод** (Arduino IDE → Инструменты → Монитор порта). --- ## 10. Безопасность Прибор не имеет пароля на веб-панель. Любой пользователь локальной сети может открыть панель, сбросить Wi-Fi и изменить адрес уведомлений. Устанавливайте прибор в закрытом технологическом сегменте сети, не в гостевом Wi-Fi. Контроллер выполняет **функцию мониторинга и сигнализации**, а не защиты. Он не заменяет штатную автоматику защиты насосной станции.