Compare commits
2
Commits
f77ff376d4
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ed4dad0a52 | ||
|
|
fde9ee799a |
@@ -60,12 +60,18 @@ GND). **Сирену, лампу или пускатель напрямую к `
|
|||||||
> **Важно: тип модуля должен быть именно active-LOW.** Если поставить модуль с
|
> **Важно: тип модуля должен быть именно active-LOW.** Если поставить модуль с
|
||||||
> активным HIGH, реле будет включено в норме и отпускать при аварии — логика
|
> активным HIGH, реле будет включено в норме и отпускать при аварии — логика
|
||||||
> перевернётся. Пины `D3` и `D4` выбраны именно под active-LOW: они удерживают
|
> перевернётся. Пины `D3` и `D4` выбраны именно под active-LOW: они удерживают
|
||||||
> HIGH во время загрузки платы, поэтому реле молчат при включении питания.
|
> HIGH во время загрузки, поэтому реле не остаются включёнными на всё время
|
||||||
|
> старта.
|
||||||
|
|
||||||
Оговорки, которые лучше знать заранее:
|
Оговорки, которые лучше знать заранее:
|
||||||
|
|
||||||
* Реле «Авария» **щёлкает при каждой заливке прошивки** — схема автосброса USB
|
* **Оба реле кратковременно моргают при каждой перезагрузке прибора** — и при
|
||||||
дёргает `D3`. Это нормально.
|
подаче питания, и при заливке прошивки. Так и есть, это нормально: выходы
|
||||||
|
сидят на служебных пинах платы, и пока прошивка не запустилась, уровнем на них
|
||||||
|
управляет не она. Автоматика в этот момент ещё не работает, ложных уведомлений
|
||||||
|
моргание не вызывает.
|
||||||
|
* Если моргание окажется недопустимым (например, сирена успевает пискнуть) —
|
||||||
|
ставится RC-цепочка на вход релейного модуля. Прошивку менять не нужно.
|
||||||
* Встроенный светодиод платы повторяет состояние реле «Резерв» — удобно для
|
* Встроенный светодиод платы повторяет состояние реле «Резерв» — удобно для
|
||||||
проверки монтажа.
|
проверки монтажа.
|
||||||
* Схема **не отказобезопасная**: если контроллер обесточен, сигнала аварии нет.
|
* Схема **не отказобезопасная**: если контроллер обесточен, сигнала аварии нет.
|
||||||
@@ -143,6 +149,11 @@ ALARM:OFF BACKUP:OFF
|
|||||||
Панель устроена как световое табло: **сверху крупно главный ответ**, ниже —
|
Панель устроена как световое табло: **сверху крупно главный ответ**, ниже —
|
||||||
лампы датчиков и выходов, в самом низу свёрнутые настройки.
|
лампы датчиков и выходов, в самом низу свёрнутые настройки.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Так панель выглядит в норме. Здесь блок настроек раскрыт; обычно он свёрнут
|
||||||
|
в одну строку и не отвлекает.
|
||||||
|
|
||||||
### 5.1 Главная плашка
|
### 5.1 Главная плашка
|
||||||
|
|
||||||
| Плашка | Цвет | Что значит |
|
| Плашка | Цвет | Что значит |
|
||||||
@@ -295,7 +306,7 @@ ALARM:OFF BACKUP:OFF
|
|||||||
| Экран замирает на 1-3 с в момент аварии | Так и задумано: отправка уведомления блокирует прибор не дольше 3 секунд. Реле при этом срабатывают сразу, без ожидания сервера |
|
| Экран замирает на 1-3 с в момент аварии | Так и задумано: отправка уведомления блокирует прибор не дольше 3 секунд. Реле при этом срабатывают сразу, без ожидания сервера |
|
||||||
| Панель пишет «Реле включено», но нагрузка не сработала | Проблема в монтаже или в типе модуля. Проверьте, что модуль **active-LOW**, что он питается, и что общий GND соединён |
|
| Панель пишет «Реле включено», но нагрузка не сработала | Проблема в монтаже или в типе модуля. Проверьте, что модуль **active-LOW**, что он питается, и что общий GND соединён |
|
||||||
| Реле сработали наоборот: включены в норме, отпускают при аварии | Стоит модуль с активным HIGH вместо active-LOW. Замените модуль либо потребуйте правку прошивки |
|
| Реле сработали наоборот: включены в норме, отпускают при аварии | Стоит модуль с активным HIGH вместо active-LOW. Замените модуль либо потребуйте правку прошивки |
|
||||||
| Реле щёлкает при заливке прошивки | Нормально: схема автосброса USB дёргает `D3`. На работу не влияет |
|
| Реле моргают при перезагрузке или заливке прошивки | Нормально, см. 2.3. Выходы на служебных пинах платы; пока прошивка не стартовала, уровнем управляет не она. Уведомления при этом не отправляются |
|
||||||
| Имя устройства не сохраняется | В нём есть русские буквы, пробелы или знаки препинания — они отбрасываются. Допустимы только латиница, цифры, `_` и `-` |
|
| Имя устройства не сохраняется | В нём есть русские буквы, пробелы или знаки препинания — они отбрасываются. Допустимы только латиница, цифры, `_` и `-` |
|
||||||
| Задержка не сохраняется | Значение вне диапазона 0…3600 или не целое число — поле игнорируется |
|
| Задержка не сохраняется | Значение вне диапазона 0…3600 или не целое число — поле игнорируется |
|
||||||
| Прибор не стартует после включения | На `D3` или `D4` висит нагрузка, тянущая пин к GND при старте — проверьте релейный модуль и его питание |
|
| Прибор не стартует после включения | На `D3` или `D4` висит нагрузка, тянущая пин к GND при старте — проверьте релейный модуль и его питание |
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
| `README.md` | Техническая документация (этот файл) |
|
| `README.md` | Техническая документация (этот файл) |
|
||||||
| `MANUAL.md` | Руководство пользователя / монтажника |
|
| `MANUAL.md` | Руководство пользователя / монтажника |
|
||||||
| `docs/specs/` | Согласованные проектные решения по крупным изменениям |
|
| `docs/specs/` | Согласованные проектные решения по крупным изменениям |
|
||||||
|
| `docs/img/` | Снимки экрана для документации |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -54,7 +55,7 @@ Wemos D1 Mini (ESP8266). Питание 5 В по microUSB или 3.3 В на п
|
|||||||
|
|
||||||
Для реле active-LOW безопасное состояние — пин в `HIGH`. Значит выход обязан
|
Для реле active-LOW безопасное состояние — пин в `HIGH`. Значит выход обязан
|
||||||
сидеть на пине, который держит `HIGH` **всю загрузку**, пока `setup()` ещё не
|
сидеть на пине, который держит `HIGH` **всю загрузку**, пока `setup()` ещё не
|
||||||
выполнился, иначе реле щёлкнет ложной аварией при каждом включении питания.
|
выполнился, иначе реле останется включённым на всё время старта.
|
||||||
|
|
||||||
| Пин | GPIO | Уровень при загрузке | Реле active-LOW при загрузке |
|
| Пин | GPIO | Уровень при загрузке | Реле active-LOW при загрузке |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
@@ -78,12 +79,42 @@ Wemos D1 Mini (ESP8266). Питание 5 В по microUSB или 3.3 В на п
|
|||||||
void setRelay(int pin, bool on) { digitalWrite(pin, on ? LOW : HIGH); }
|
void setRelay(int pin, bool on) { digitalWrite(pin, on ? LOW : HIGH); }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Что происходит при перезагрузке на самом деле
|
||||||
|
|
||||||
|
Проверено на собранном приборе: **при перезагрузке оба реле кратковременно
|
||||||
|
моргают.** Признано некритичным и оставлено как есть.
|
||||||
|
|
||||||
|
Ранее в этом разделе утверждалось, что реле при загрузке молчат — это оказалось
|
||||||
|
неверно, и формулировка исправлена.
|
||||||
|
|
||||||
|
Наиболее вероятный механизм: оба выхода неизбежно сидят на служебных пинах.
|
||||||
|
`GPIO2` (`D4`) — это ещё и `UART1 TX`, и на нём во время загрузки появляется
|
||||||
|
служебный вывод; `GPIO0` (`D3`) — пин выбора режима загрузки, который дёргается
|
||||||
|
схемой сброса. Пока `setup()` не выполнился, уровнем на них управляет не
|
||||||
|
прошивка. Точную причину не измеряли: осциллографа в проверке не было.
|
||||||
|
|
||||||
|
Часть морганий может приходиться на светодиод релейного модуля, а не на
|
||||||
|
фактическое переключение контакта: короткий импульс успевает зажечь индикатор,
|
||||||
|
но не перебросить якорь. Различить можно тестером на контактах реле, если это
|
||||||
|
когда-нибудь станет важно.
|
||||||
|
|
||||||
|
**Почему решение всё равно верное.** Альтернатива — `D8` — не улучшила бы
|
||||||
|
ситуацию, а ухудшила: он подтянут к `LOW`, и реле было бы уверенно **включено
|
||||||
|
всю загрузку**, а не моргнуло бы. Кратковременное моргание предпочтительнее
|
||||||
|
устойчивого ложного сигнала на несколько секунд.
|
||||||
|
|
||||||
|
**Если моргание когда-нибудь станет проблемой** (например, сирена успевает
|
||||||
|
пискнуть): ставится RC-цепочка на вход релейного модуля, чтобы короткие импульсы
|
||||||
|
не проходили, либо модуль с триггером Шмитта на входе. Прошивку менять не
|
||||||
|
потребуется.
|
||||||
|
|
||||||
### 2.4 Прочие особенности ESP8266
|
### 2.4 Прочие особенности ESP8266
|
||||||
|
|
||||||
* `D4` (GPIO2) — встроенный светодиод платы, тоже активен от `LOW`. Реле
|
* `D4` (GPIO2) — встроенный светодиод платы, тоже активен от `LOW`. Реле
|
||||||
«Резерв» получает бесплатную индикацию на плате.
|
«Резерв» получает бесплатную индикацию на плате.
|
||||||
* `D3` (GPIO0) — пин выбора режима загрузки. Схема автосброса USB дёргает его
|
* `D3` (GPIO0) — пин выбора режима загрузки. Схема автосброса USB дёргает его
|
||||||
вниз при заливке скетча, поэтому реле «Авария» щёлкает при каждой прошивке.
|
вниз при заливке скетча, поэтому реле «Авария» щёлкает при каждой прошивке.
|
||||||
|
Кроме того, оба реле кратковременно моргают при любой перезагрузке (см. 2.3).
|
||||||
Косметика, но пугает.
|
Косметика, но пугает.
|
||||||
* `A0` — **только аналоговый вход** (0–3.2 В, без внутренней подтяжки). Ни
|
* `A0` — **только аналоговый вход** (0–3.2 В, без внутренней подтяжки). Ни
|
||||||
цифровым выходом, ни входом с подтяжкой быть не может, поэтому в бюджет
|
цифровым выходом, ни входом с подтяжкой быть не может, поэтому в бюджет
|
||||||
@@ -411,6 +442,10 @@ Wi-Fi настройки из `/settings.json` не затрагивает, и
|
|||||||
|
|
||||||
## 7. Веб-интерфейс
|
## 7. Веб-интерфейс
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
*Панель в норме, с раскрытым блоком настроек. Снимок с работающего прибора.*
|
||||||
|
|
||||||
Сервер на порту `80`.
|
Сервер на порту `80`.
|
||||||
|
|
||||||
| Маршрут | Метод | Описание |
|
| Маршрут | Метод | Описание |
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
Reference in New Issue
Block a user