Skip to content

Latest commit

 

History

History
308 lines (204 loc) · 22.2 KB

File metadata and controls

308 lines (204 loc) · 22.2 KB

Прошивка та перше налаштування

English: Flashing & First Setup.

Прошити з браузера

Цей посібник допоможе пройти шлях від порожньої ESP-плати до робочого ESP EyeBond Collector у Home Assistant.

Заводський SmartESS / EyeBond-колектор не потрібен.

Перед початком

Потрібно:

  • ESP8266, ESP32 або підтримувана BK72xx-плата;
  • відповідний адаптер для порту інвертора;
  • USB-кабель для першої прошивки;
  • інтеграція Home Assistant EyeBond Local.

Оберіть адаптер за типом порту інвертора:

Порт інвертора Адаптер
TTL UART Пряме UART-підключення. Для 5 V TTL використовуйте перетворювач рівнів або дільник на ESP RX.
RS232 MAX3232 RS232↔TTL.
RS485 MAX485 / MAX3485.

Якщо інвертор уже працював з іншою ESP-прошивкою або кабелем, використовуйте той самий порт інвертора і той самий тип адаптера.

Варіант A — прошивка з браузера

Відкрити сторінку прошивки

Використовуйте цей варіант, якщо ваша плата і підключення відповідають одному з готових варіантів прошивки. Для нього не потрібно встановлювати ESPHome або створювати examples/secrets.yaml.

Відкрийте сторінку прошивки, підключіть ESP-плату через USB і оберіть потрібний варіант.

Варіант Плата TX RX RS485 DE/RE Типова швидкість UART
esp8266-d1-mini ESP8266, сумісна з D1 mini GPIO13 / D7 GPIO12 / D6 GPIO14 / D5 9600
esp32-devkit ESP32, сумісна з DevKit GPIO17 GPIO16 GPIO4 9600

Обидва готові варіанти можна використовувати для TTL, RS232 або RS485:

  • TTL: підключіть TX/RX/GND, а DE/RE залиште непідключеним.
  • RS232: підключіть TX/RX/GND через MAX3232, а DE/RE залиште непідключеним.
  • RS485: підключіть TX/RX до RS485-модуля, а DE+RE — до DE/RE-піна з таблиці.

Після прошивки плата відкриє власну точку доступу для налаштування, якщо не зможе підключитися до Wi-Fi. Підключіться до неї з телефона або ноутбука і введіть дані Wi-Fi.

Коли плата підключиться до мережі, відкрийте http://<ip-колектора>/. Якщо ви підключені до тимчасової мережі самої плати, відкрийте http://192.168.4.1/ — там буде та сама сторінка.

Налаштування згруповано за призначенням. У блоці Wi-Fi можна обрати мережу, у блоці Home Assistant — вказати адресу й порт сервера, а в блоці UART — підібрати швидкість і формат обміну з інвертором. Тут також можна змінити PN колектора, перевірити піни поточної збірки, подивитися активність UART / RS485 та оновити прошивку.

Кожен блок зберігається окремо. Зміна PN, адреси сервера або UART може розірвати поточний зв’язок, тому сторінка спочатку попросить підтвердження. У списку Wi-Fi виділено налаштовану мережу, а поруч видно рівень сигналу та наявність захисту. Якщо під час першого сканування список неповний, зачекайте кілька секунд і оновіть сторінку.

ESP8266 та ESP32 зберігають зміни UART у flash-пам’яті й використовують їх після перезапуску. На BK72xx поточні значення можна лише переглянути: для зміни відредагуйте YAML і знову прошийте плату. Інтерфейс доступний українською, англійською та російською. Вибір мови й світлої або темної теми запам’ятовує браузер.

Якщо вашому інвертору потрібна інша швидкість UART, додайте міст в EyeBond Local, відкрийте меню Налаштувати для колектора, оберіть Змінити швидкість UART інвертора, виберіть швидкість і підтвердьте дію. На ESP8266/ESP32 вибрана швидкість зберігається і відновлюється після перезавантаження або вимкнення живлення. Під час зміни швидкості зв'язок з інвертором може коротко зникнути.

Якщо у вас інша плата або інші піни, використовуйте ESPHome YAML нижче.

Варіант B — прошивка через ESPHome YAML

Використовуйте цей варіант для нестандартних пінів, іншої плати, BK72xx, налаштування Wi-Fi через Bluetooth або локальної розробки.

Крок 1 — встановіть ESPHome

Використайте один з варіантів:

  • Додаток Home Assistant: встановіть ESPHome Device Builder з магазину додатків Home Assistant.
  • Командний рядок ESPHome: встановіть ESPHome на комп'ютер.

Приклад для командного рядка:

python3 -m venv esphome-venv
esphome-venv/bin/pip install esphome
esphome-venv/bin/esphome version

Якщо комп'ютер не бачить ESP-плату через USB, встановіть драйвер для мікросхеми USB-послідовного адаптера. Часто використовуються CH340 або CP210x.

Крок 2 — оберіть приклад конфігурації

Скопіюйте приклад, який відповідає вашій платі та типу підключення:

Файл Плата Підключення
examples/esp8266-d1-mini.yaml ESP8266, сумісна з D1 mini TTL, RS232 або RS485
examples/esp32-devkit.yaml ESP32, сумісна з DevKit TTL, RS232 або RS485
examples/esp32-ble.yaml ESP32 з Bluetooth і достатньою пам'яттю для прошивки розширене налаштування Wi-Fi через Bluetooth
examples/bk72xx.yaml BK72xx будь-яке

Потім скопіюйте examples/secrets.example.yaml у examples/secrets.yaml і вкажіть назву та пароль Wi-Fi:

wifi_ssid: "YourNetwork"
wifi_password: "YourPassword"

ESP8266 і BK72xx працюють тільки з 2.4 GHz Wi-Fi.

Не додавайте examples/secrets.yaml до репозиторію. Це локальний файл ESPHome, у якому можуть бути реальні дані вашої Wi-Fi-мережі.

Крок 3 — перевірте плату та UART

Відкрийте YAML і перевірте:

  • board: відповідає вашій ESP-платі;
  • tx_pin і rx_pin відповідають вашому підключенню;
  • flow_control_pin заданий, якщо ви використовуєте класичний RS485-модуль з DE/RE;
  • status_led_pin / com_led_pin керують світлодіодами стану та зв'язку (див. нижче);
  • baud_rate відповідає родині інвертора.

Готова прошивка з браузера стартує на 9600. Типові швидкості:

  • PI30 / Voltronic ASCII: 2400
  • SMG / Modbus RS485: 9600

Неправильні UART-піни або неправильна швидкість — найчастіша причина, коли міст знаходиться, але інвертор не визначається.

Крок 4 — прошийте через USB

Підключіть ESP-плату до комп'ютера і прошийте її.

Приклад для командного рядка:

esphome-venv/bin/esphome run examples/esp8266-d1-mini.yaml --device /dev/ttyUSB0

В ESPHome Device Builder використовуйте Встановити → Підключити до цього комп'ютера.

Після першої USB-прошивки наступні оновлення зазвичай можна встановлювати через Wi-Fi.

Якщо плата не підключилася до Wi-Fi після прошивки, вимкніть і знову увімкніть живлення.

Крок 5 — перевірте Wi-Fi

Плата має підключитися до Wi-Fi приблизно протягом хвилини.

Перевірити можна через:

  • журнали ESPHome;
  • список клієнтів роутера;
  • ping eybond-bridge.local, якщо mDNS працює у вашій мережі.

Якщо пароль Wi-Fi неправильний або мережа недоступна, плата відкриє власну точку доступу для налаштування. Підключіться до неї з телефона або ноутбука і введіть правильні дані Wi-Fi.

Готові профілі з captive portal надають єдину сторінку параметрів / як на звичайній IP-адресі, так і на 192.168.4.1. У власному YAML додайте web_configuration: true до eybond_collector:. Наявність captive_portal: перевіряється під час складання.

Крок 6 — підключіть інвертор

Вимикайте живлення перед зміною проводки.

TTL UART

  • inverter TX → ESP RX
  • inverter RX → ESP TX
  • спільна земля
  • перетворення рівнів, якщо інвертор використовує 5 V TTL

Схема TTL

RS232

Використовуйте MAX3232. Не підключайте ESP-піни напряму до RS232.

Схема RS232

RS485

  • A → A
  • B → B
  • DE/RE → flow_control_pin, якщо модуль не має автоматичного керування напрямком
  • спільна земля там, де цього потребує ваш модуль

Якщо інвертор не відповідає, спробуйте поміняти A/B місцями.

Схема RS485

Не живіть ESP від ноутбука, коли вона підключена до інвертора з мережевим живленням. Використовуйте безпечне ізольоване живлення або штатне живлення з боку інвертора.

Крок 7 — додайте в Home Assistant

  1. Встановіть EyeBond Local в Home Assistant.
  2. Перейдіть у Налаштування → Пристрої та служби → Додати інтеграцію.
  3. Знайдіть EyeBond Local.
  4. Використайте звичайне налаштування мережі колектора.
  5. Запустіть швидкий пошук.
  6. Оберіть міст, коли він з'явиться.

EyeBond Local має визначити міст як колектор, а потім перевірити інвертор через нього.

Для найпростішого пошуку тримайте Home Assistant і міст в одній мережі.

Необов'язково — додайте ESPHome-пристрій

EyeBond Local створює пристрої колектора та інвертора.

EyeBond Local може змінити швидкість UART інвертора для власного ESP-моста з меню Налаштувати колектора. Оберіть Змінити швидкість UART інвертора, виберіть швидкість і підтвердьте дію. На ESP8266/ESP32 вибрана швидкість зберігається і відновлюється після перезавантаження або вимкнення живлення. Цей пункт показується тільки для ESP-моста, не для заводських колекторів.

Інтеграція ESPHome також може додати ESP-плату як окремий пристрій. Це дає:

  • журнали ESPHome;
  • OTA-оновлення;
  • необов'язковий перемикач Швидкість UART інвертора на ESP8266/ESP32.

Додавання готового пристрою до ESPHome Device Builder

Готові прошивки ESP8266 та ESP32 вже містять інформацію, за якою ESPHome визначає плату. Вона також є у профілі BK72xx.

  1. Переконайтеся, що колектор і ESPHome Device Builder працюють у мережі, де проходять mDNS-повідомлення.
  2. Відкрийте Device Builder і дочекайтеся появи ESP EyeBond Collector серед знайдених пристроїв.
  3. Натисніть Adopt, за потреби задайте локальне ім’я та підтвердьте.
  4. ESPHome створить YAML із пакетом для відповідної плати. Перед першим оновленням перевірте тип плати та призначення пінів.

Копіювати ключ зі сторінки колектора не потрібно. ESPHome створює YAML за інформацією про плату, але не зчитує з пристрою поточний PN, адресу Home Assistant чи параметри UART. Збережені налаштування зазвичай не втрачаються під час OTA-оновлення, але повне стирання flash повертає типові значення. Якщо пристрій не з’явився, перевірте, чи не блокує роутер або VLAN трафік mDNS.

Перемикач швидкості UART в ESPHome належить ESPHome-пристрою. Для звичайного використання краще змінювати швидкість через дію Змінити швидкість UART інвертора в EyeBond Local.

На BK72xx / LibreTiny зміна швидкості UART без перепрошивки недоступна. Змініть baud_rate: у YAML і перепрошийте плату. Простого перезавантаження недостатньо: плата налаштовує UART зі значення, яке було зібране в прошивку.

Варіант ESP32 з Bluetooth у першому випуску доступний тільки через YAML. BLE + Wi-Fi займають багато місця, тож щоб уміститися в стандартний 4 МБ розділ застосунку, профіль не вмикає api:, captive_portal: та baud select: (BLE-провізіонінг замінює captive-портал; інтеграція EyeBond Local працює власним протоколом, а не через ESPHome API). OTA працює. Щоб повернути їх, візьміть плату з більшим обсягом флешу та більшим розділом застосунку — інакше образ тихо переповнить розділ і плата піде в цикл перезавантаження.

Світлодіоди стану (STATUS) і зв'язку (COM)

Міст керує двома логічними індикаторами, як STATUS і COM світлодіоди заводського колектора — задаються через status_led_pin та com_led_pin (один або обидва):

  • STATUS — стан підключення.
  • COM — активність обміну з інвертором.

Готові варіанти прошивки під'єднують один вбудований світлодіод до status_led_pin:

  • Wemos D1 mini: GPIO2 / D4, інверсний режим.
  • ESP-WROOM-32 DevKit: GPIO2.

На ESP32 GPIO2 впливає на режим запуску плати. Вбудований світлодіод на типових DevKit-платах використовувати можна, але не додавайте до GPIO2 зовнішні підтяжки або значне навантаження.

Як задані піни впливають на поведінку:

Задані піни Поведінка
лише status_led_pin (плати з одним світлодіодом) Один світлодіод показує обидва: стан підключення плюс мерехтіння COM під час обміну з інвертором.
status_led_pin + com_led_pin STATUS і COM керують кожен своїм світлодіодом.
лише com_led_pin Чистий індикатор активності: погашений у стані очікування, мерехтить під час обміну з інвертором.

Індикація STATUS:

Світлодіод STATUS Стан
Швидко блимає Плата ще не підключилася до Wi-Fi.
Повільно блимає Wi-Fi є, але EyeBond Local ще не підключився до моста.
Горить постійно Міст підключений і очікує.

Індикація COM:

Світлодіод COM Стан
Погашений Немає обміну з інвертором.
Мерехтить Дані йдуть до/від інвертора (запит і відповідь). Світлодіод перемикається, а не горить постійно, тож висока завантаженість виглядає як швидке мерехтіння, а не суцільне свічення.

У суміщеному режимі (один світлодіод) стан «горить постійно» (підключено) на мить переривається мерехтінням COM під час опитування інвертора.

Кожен пін приймає повну схему піна, тож доступна індивідуальна інверсія, напр. status_led_pin: { number: GPIO2, inverted: true }.

Усунення проблем

Симптом Найімовірніша причина
EyeBond Local не знаходить міст ESP-плата не в мережі, в іншій мережі або заблокована мережевою ізоляцією.
Міст знайдено, але інвертор не визначається Неправильні UART-піни, переплутані TX/RX, немає спільної землі, неправильна швидкість UART, неправильний адаптер або інший пристрій уже опитує інвертор на тій самій шині.
У журналах ESPHome видно TX, але немає RX Зламаний шлях відповіді інвертора: RX-пін, адаптер, RS485 A/B, перетворення рівнів або швидкість UART.
Дані виглядають як сміття Зазвичай неправильна швидкість UART або неправильні рівні напруги.
Плата не підключається до Wi-Fi після прошивки Вимкніть/увімкніть живлення і перевірте дані Wi-Fi.
Сторінка налаштування з'явилася після зміни Wi-Fi Нові дані Wi-Fi не спрацювали. Підключіться до сторінки налаштування і введіть їх знову.
Потрібна інша швидкість UART На ESP8266/ESP32 відкрийте меню налаштування ESP-моста в EyeBond Local і скористайтеся дією зміни швидкості UART інвертора. На BK72xx змініть baud_rate: у YAML і перепрошийте плату.

Якщо міст у мережі, але EyeBond Local все одно не визначає інвертор, створіть архів підтримки в EyeBond Local і прикріпіть його до звернення на GitHub.