Entrixy → ESP8266 (WebSocket-прошивка)
Готовый пример подключения к Entrixy. Формат вебхука — entrixy.com/webhook.
Entrixy → ESP8266 (WebSocket-прошивка)
Прошивка для ESP8266-плат (NodeMCU, Wemos D1 mini) с внешним релейным модулем. Подключается к wss://entrixy.com/ws как device, держит постоянное соединение, принимает команды open от приложения через сервер и дёргает реле на GPIO — короткий импульс «нажать кнопку Открыть» на приводе ворот, шлагбаума, домофона. Для бистабильных приводов и замков есть режим с раздельным открыть/закрыть и отслеживанием положения (CLOSE_ENABLED).
Самый простой способ собрать под свою плату — конфигуратор в браузере: https://entrixy.com/esp/socket/
В конфигураторе выбираете ESP8266 → нужную плату, заполняете WiFi-креды и device_key/device_secret из приложения Entrixy, и сервер за 10–20 секунд компилирует уникальный .bin. Прошивается прямо из браузера через WebSerial (Chrome / Edge), без Arduino IDE.
Чем отличается от ESP32-версии
ESP32 — более широкая платформа: BLE без интернета (см. /esp/ble/) или WebSocket с постоянным онлайном (см. /esp/socket/ или /esp32-ws-example/).
ESP8266 — упрощённый вариант для голых плат (Wemos D1 mini, NodeMCU) + отдельный релейный модуль с сухим контактом:
- Один
.inoфайл, ~200 строк. - Меньше памяти, нет аппаратного TLS —
beginSSLчерез BearSSL медленнее чем mbedtls на ESP32, но достаточно. - Нет TLS-pinning по дефолту (ESP8266 не вытягивает полную цепочку сертификатов). Если важно — добавьте
setTrustAnchorsс публичным ключом сервера.
Про готовые Sonoff (Basic / Mini R2): прошивка на них запускается, но их встроенное реле коммутирует 220 В на нагрузку — «сухого» NO/COM-контакта для клемм «Открыть» привода у них нет. Для ворот/шлагбаума нужен именно сухой контакт: голая плата + релейный модуль, либо реле с сухим контактом (Shelly Plus 1). Распиновки Sonoff ниже — справочно.
- Buffer команд при пропадании WiFi нет: если в момент команды устройство оффлайн — команда теряется. Для шлагбаума критично; для калитки — обычно нет.
Установка через Arduino IDE
- Arduino IDE: https://www.arduino.cc/en/software
- Поддержка ESP8266: Файл → Настройки → "Дополнительные ссылки":
`` http://arduino.esp8266.com/stable/package_esp8266com_index.json `` Инструменты → Плата → Менеджер плат → найти "esp8266" → установить.
- Библиотеки (Library Manager):
WebSockets by Markus Sattler(≥ 2.4)ArduinoJson(≥ 7.0)
- Откройте
entrixy-esp8266.ino, выберите вашу плату (NodeMCU 1.0 / D1 mini / Generic). - Заполните блок НАСТРОЙКИ (WiFi, DEVICE_KEY, DEVICE_SECRET).
- Загрузите. Монитор порта 115200 → должно появиться
[WS] auth OK.
Регистрация устройства в Entrixy
В приложении: Настройки → Объекты → Добавить → Устройство (WebSocket). Сервер сгенерирует пару device_key + device_secret и покажет их — скопируйте в скетч (или в конфигуратор /esp/socket/).
device_key и device_secret — две hex-строки по 32 символа. Они и так зашьются в прошивку — анализатор флеша их увидит, поэтому не используйте одни и те же креды для критичных объектов, выдавайте каждому контроллеру свою пару.
Подключение реле к приводу
Используйте контакты NO (нормально разомкнут) и COM (общий) реле. Подключите их параллельно кнопке «Открыть» вашего привода — реле будет на короткое время (по умолчанию 1 с) замыкать контакты, как если бы кто-то нажал кнопку.
По дефолту GPIO5 (D1 на NodeMCU/D1 mini), импульс 1000 мс. Если ваш модуль "active LOW" (зелёный 5V-релейник) — поставьте RELAY_ACTIVE_HIGH = false.
Распиновка для готовых модулей
- Sonoff Basic / Sonoff Mini R2: реле GPIO12, кнопка GPIO0, LED GPIO13 (active-low). UART pad'ы внутри корпуса.
- Wemos D1 mini: реле D1 (GPIO5), статус-LED D4 (GPIO2). USB напрямую.
- NodeMCU 1.0: реле D1 (GPIO5), статус-LED D4 (GPIO2). USB напрямую.
Полная таблица распиновок и инструкции по UART-подключению — в конфигураторе.
Известные ограничения
- WSS-handshake занимает ~3–5 секунд при старте — нормально для ESP8266.
- При нестабильном WiFi реконнекты будут чаще чем у ESP32. Используйте стабильную точку доступа.
- Heap памяти немного — не добавляйте сюда ещё OLED-дисплей и MQTT одновременно. Если нужно — переходите на ESP32-WS вариант.