Entrixy ESP32 — исходники прошивок
В этой папке лежит BLE-прошивка для контроллера открытия — entrixy-ble/entrixy-ble.ino. Это вариант, где телефон подключается к контроллеру напрямую по Bluetooth Low Energy, без интернета и сервера.
Самый простой способ собрать прошивку под свои пины — конфигуратор в браузере: https://entrixy.com/esp/ble/
Конфигуратор:
- спросит чип (ESP32, ESP32-S3, ESP32-C3, ESP32-C6, ESP32-H2);
- спросит пины реле, кнопки pair, LED и их полярность;
- спросит параметры энергопотребления (период advertise, deep-sleep, hold-connection);
- скомпилирует уникальный
.binна сервере за 25–60 секунд; - разрешит прошить прямо из браузера через WebSerial (Chrome / Edge);
- работает с пресетами под Shelly Plus 1 / 1PM и под самосбор ESP32 + релейный модуль.
Если хочется собрать вручную в Arduino IDE
- Установите Arduino IDE 2.x: https://www.arduino.cc/en/software
- Добавьте поддержку ESP32 (Boards Manager →
esp32 by Espressif Systems, версия 3.x). - Откройте
entrixy-ble/entrixy-ble.ino. - Отредактируйте константы в начале файла под свою плату (PIN_RELAY, RELAY_ACTIVE_HIGH, RELAY_PULSE_MS, PIN_PAIR_BTN и т. д.).
- Соберите и прошейте.
Внешних библиотек не нужно — всё используется из штатного Arduino-core ESP32 (NimBLE, Preferences, esp_sleep, mbedtls).
Альтернатива — WebSocket-прошивка
Если у вашего привода есть WiFi и питание 220 В рядом, а вы хотите открывать с любой точки мира (не только когда телефон рядом) — используйте WebSocket-вариант прошивки:
- Исходник ESP32: /esp32-ws-example/
- Исходник ESP8266 (Sonoff, Wemos D1, NodeMCU): /integrations/esp8266/
- Конфигуратор: https://entrixy.com/esp/socket/
Сравнение BLE vs WebSocket — на лендинге конфигуратора.
Документация
- /ble — описание BLE-протокола: pair-flow, fire-flow, формат advertise, HKDF, X25519.
- /guide/ — руководство пользователя (установка приложения, привязка, гостевые ключи, автоматизация).
- /esp/ — конфигуратор прошивок (лендинг с выбором BLE / WebSocket).
Что внутри entrixy-ble.ino
- Полный BLE-протокол Entrixy (ECDH X25519 в pair-flow, HMAC-SHA256 на каждой команде).
- Deep-sleep между циклами — годы работы от 3 × AA при настройках по умолчанию.
- Гостевые токены с TTL — хозяин выдаёт, ESP проверяет подпись и срок локально.
- RTC через RTC_DATA_ATTR — время выживает deep-sleep, корректируется time-sync командой.
- Pair-кнопка с factory reset (long-press 5 с).
- Опциональная поддержка внешнего RTC (DS3231 / DS1307 / PCF8563) — для точного времени без подзаводки.
Лицензия
MIT.