Entrixy ESP32 — WebSocket-прошивка
Прошивка для контроллера открытия на ESP32 / ESP32-S3 / ESP32-C3, который держит постоянное WSS-соединение с сервером entrixy.com. Команда «Открыть» от приложения через сервер доходит до контроллера за доли секунды, реле замыкается на короткий импульс — это симулирует нажатие кнопки «Открыть» на плате привода. Для бистабильных приводов и замков есть режим с раздельным открыть/закрыть и отслеживанием положения (CLOSE_ENABLED) — приложение показывает «Открыто»/«Закрыто».
Самый простой способ собрать под свою плату — конфигуратор в браузере: https://entrixy.com/esp/socket/
В конфигураторе:
- выбираете чип (ESP32, ESP32-S3, ESP32-C3, ESP32-C6);
- задаёте WiFi-креды и device_key/device_secret (получите при добавлении устройства в приложении Entrixy);
- задаёте пины реле, его полярность и длину импульса;
- сервер за 25–60 секунд компилирует уникальный
.bin; - прошить можно прямо из браузера через WebSerial (Chrome / Edge).
Альтернатива — BLE-вариант
Если у привода нет WiFi или нет розетки 220 В рядом, или вы не хотите чтобы контроллер был онлайн постоянно — используйте BLE-вариант прошивки: телефон управляет контроллером напрямую по Bluetooth, питание от батареек.
- Конфигуратор BLE: /esp/ble/
- Исходник BLE-прошивки: /esp32-example/
- Описание BLE-протокола: /ble
- Сравнение BLE vs WebSocket: /esp/
Сборка вручную в Arduino IDE
- Установите Arduino IDE 2.x: https://www.arduino.cc/en/software
- Добавьте поддержку ESP32 (Boards Manager →
esp32 by Espressif Systems, версия 3.x). - Через Library Manager поставьте:
WebSockets by Markus Sattler(≥ 2.4)ArduinoJson(≥ 7.0)
- Откройте
entrixy-ws/entrixy-ws.ino. - Заполните блок НАСТРОЙКИ (WiFi, DEVICE_KEY, DEVICE_SECRET, пины реле).
- Соберите и прошейте. Монитор порта 115200 → должно появиться
[WS] auth OK.
Регистрация устройства в Entrixy
В приложении: Настройки → Объекты → Добавить → Устройство (WebSocket). Сервер сгенерирует пару device_key + device_secret и покажет их — скопируйте в скетч (или в конфигуратор /esp/socket/).
Подключение реле к приводу
Используйте контакты NO (нормально разомкнут) и COM (общий) реле. Подключите их параллельно кнопке «Открыть» вашего привода. Реле на короткое время (по умолчанию 1 с) замыкает контакты — это симулирует нажатие кнопки.
Типовые клеммы по моделям приводов (BFT, CAME, NICE, FAAC, DoorHan, шлагбаумы, домофоны) — таблица в конфигураторе /esp/socket/.
Что внутри entrixy-ws.ino
- WiFi-клиент с автореконнектом и таймаутом-restart при долгой неудаче.
- WebSocket SSL-клиент (Sattler) к
wss://entrixy.com/ws. - Heartbeat (ping/pong) — 15 сек интервал, защита от висящего соединения.
- Протокол:
device_hello→device_ok→device_command(open)→device_status(level=success, final=true). - Поддержка статусного LED (горит при онлайне, гаснет при потере связи) и LED «открыто» (мигает во время импульса реле).
- Все настройки через
constexprв начале файла — легко править под себя.
Лицензия
MIT.