Блог 2Smart (UK)

Контролер LED стрічок з мобільним додатком – як зібрати в домашніх умовах

Контролер LED стрічок з мобільним додатком - як зібрати в домашніх умовах
Wi-Fi контролер для адресних світлодіодних стрічок на базі MCU ESP32 – один із тих пристроїв, що розроблялися нами для тестування платформи 2Smart Cloud. Контролер керується з мобільного додатка, а також за допомогою додаткових способів, доступних усім користувачам: голосовими командами, телефонним дзвінком, за допомогою команд Telegram-бота. Ви можете зібрати аналогічний пристрій у домашніх умовах, використовуючи наші напрацювання: принципову схему, проект друкованої плати, 3D модель корпусу, код прошивки. Розповідаємо, як це зробити, а також демонструємо, як додати власні ефекти у прошивку та зареєструвати контролер на платформі як власний продукт.

Складання плати контролера


Всі технічні матеріали для створення контролера, включаючи проект друкованої плати, можна знайти на гітхабі 2Smart Cloud. Насамперед необхідно використовувати Gerber проєкт для замовлення чи самостійного виготовлення плати.

Для складання контролера потрібні такі комплектуючі:

  • плата ESP32 DevKit - 1 шт.
  • тактова кнопка 5x5 smd – 1 шт.
  • роз'єм micro USB – 1 шт.,
  • роз'єм JST 3-PIN із дротом для підключення LED стрічки – 1 шт.

Збираємо контролер із комплектуючих:

Комплектуючі для складання контролера LED стрічок

1. Припаюємо конектор для стрічки.

Припаювання конектора стрічки

2. Припаюємо USB.

Припаювання USB порту

3. Припаюємо кнопку.

Припаювання кнопки

4. Припаюємо мікроконтролер.

Припаювання мікроконтролера

5. Підключаємо стрічку для перевірки.

Підключення стрічки до контролера

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


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

  1. Використовувати розміщений на гітхабі код прошивки без змін – у такому разі вам не обов'язково реєструватися в 2Smart Cloud як вендор, достатньо прив'язати зібраний та прошитий пристрій до мобільного додатка. Цей варіант схожий на покупку готового контролера в магазині – ви можете користуватися лише тими режимами, що вже є у прошивці або з'являться у майбутньому, коли виробник випустить оновлення коду. Виробником або вендором у цьому варіанті виступає команда 2Smart Cloud.
  2. Взяти код із гітхабу, виправити ідентифікатор продукту на свій і використовувати контролер як власний продукт. В цьому випадку можна як завгодно виправляти та модифікувати прошивку, додавати нові режими, налаштовувати інтерфейс мобільного додатка на свій смак. Вендором станете ви самі.

З першим варіантом все просто - потрібно лише прошити пристрій готовим кодом і прив'язати його до мобільного додатка через стандартну процедуру приєднання. Інструкція з прошивки наводиться у файлі readme усередині репозиторію.

Що стосується другого способу, коли ви стаєте вендором, він вимагає окремих пояснень.

Створення продукту на платформі та додавання нового ефекту до коду прошивки


Щоб адаптувати готовий код прошивки під себе та додати нові ефекти контролера, перш за все потрібно створити новий продукт у кабінеті вендора 2Smart Cloud:

1. На вкладці "Products" натисніть "Add Product".

Екран Products кабінету вендора 2Smart Cloud

2. Виберіть мікроконтролер – ESP32.

Вибір мікроконтролера

3. Натисніть “Add Firmware” та виберіть Custom.

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

Вибір бази прошивки

4. Перейдіть за посиланням “Connection info” та залиште відкритим вікно з параметрами для підключення продукту.

Посилання Connection info

Вікно з даними для підключення до платформи

5. Завантажте з репозиторію проект контролера стрічок . Відкрийте його в терміналі і внесіть необхідні зміни в текстовому редакторі.

Нижче ми продемонструємо, як модифікувати прошивку, на прикладі додавання нового режиму :

  • в lib/lenta/lenta.h додайте метод ефекту, в LedStripStates додайте назву ефекту:

Додавання методу та назви ефекту

  • в modes_ до назви ефекту прив'яжіть назву для мобільного додатка:

Прив'язка ефекту до назви для мобільного додатка

  • у lib/lenta/lenta.cpp додайте тіло методу з описом усієї логіки ефекту. Якщо потрібно, додайте допоміжні методи.

Увага! Не забудьте, що світіння діодів – це також завдання режиму, для якого необхідно використовувати команду LEDS.show();.

Опис логіки ефекту

  • у HandleCurrentState додайте режим у switch:

Додавання режиму до switch

6. Відкрийте файл Firmware/src/main.h та внесіть такі зміни:

  • скопіюйте ідентифікатор продукту з вікна “Connection info” у кабінеті вендора та вставте його у поля firmwareName та productId,
  • вкажіть назву точки доступу вашого пристрою замість того, що вказано за замовчуванням, у полі deviceName,
  • якщо ви створюєте новий продукт, переконайтеся, що його версія, вказана в device_version, дорівнює 1.

Додавання даних для підключення в прошивку

7. Завантажте прошивку на контролер, підключивши його до комп'ютера за допомогою USB-кабелю. Не забудьте заздалегідь вимкнути стрічку!

Використовуйте для завантаження прошивки команди:

pio run -t uploadfs
pio run -t upload

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

✔ підключіться до точки доступу контролера – “2Smart Led Strip” (назву також можна попередньо змінити на своєму файлі main.h) та введіть у адресному рядку браузера посилання http://192.168.4.1 для входу до веб-інтерфейсу пристрою, використовуйте логін та пароль "admin",
✔ на вкладці Credentials вкажіть власні параметри продукту з відкритого в кабінеті вендора вікна “Connection info”:

  • у полі Login – значення “User login”,
  • у полі Token – значення “Access token”,
  • у полі Hostname (під спойлером Advanced) введіть значення “cloud.2smart.com”,
  • у полі Broker port введіть “1883”,
  • у полі Device ID скопіюйте значення “Test device ID”.

Додавання даних для підключення до веб-інтерфейсу пристрою

  • після заповнення всіх полів натисніть Save та перейдіть на вкладку Wi-FI веб-інтерфейсу контролера, натисніть Scan для пошуку доступних Wi-Fi мереж:

Сканування доступних Wi-Fi мереж у веб-інтерфейсі пристрою

  • виберіть у списку знайдених точок доступу свою та введіть пароль:

Вибір Wi-Fi мережі у веб-інтерфейсі пристрою

9. Якщо всі налаштування правильні, пристрій підключиться до тестового оточення 2Smart Cloud, а його статус у кабінеті вендора зміниться на Ready.

Успішне підключення пристрою до тестового оточення

Налаштування та публікація продукту


1. Натисніть “Add Layout” та налаштуйте зовнішній вигляд мобільного додатка. Докладніше про налаштування інтерфейсу – у статті про створення датчика температури або в циклі статей про створення «розумного» Wi-Fi реле .

Посилання для створення інтерфейсу мобільного додатка

2. Перевірте керування пристроєм з емулятора додатка або безпосередньо зі свого смартфона - просто увійдіть в додаток з тим же логіном і паролем, що і в кабінеті розробника

3. Після успішного тестування пристрій готовий до публікації на платформі. Залишилось завантажити актуальну прошивку на сервер платформи та опублікувати продукт.

Готовий файл прошивки можна знайти у папці Firmware/.pio/build/esp32dev/firmware.bin (не забудьте увімкнути відображення прихованих файлів у провіднику, щоб знайти потрібну директорію).

4. Натисніть “Upload firmware” у кабінеті вендора та завантажте файл у форматі .bin.

5. Після публікації продукту він буде доступний для прив’язки до мобільного додатка всім користувачам. Для підключення пристрою до мобільного додатка достатньо стандартної процедури.

Прив'язка пристрою до мобільного додатка


Спосіб перший - без перепрошивки пристрою


1. Щоб підключити контролер до мобільного додатка як звичайний користувач, спочатку скиньте пристрій. Для цього утримуйте кнопку Reset протягом 5 секунд, поки світлодіод на платі MCU не почне блимати з інтервалом в 3 секунди.

2. Поверніться до мобільного додатка, увійдіть, використовуючи будь-які облікові дані.

3. Натисніть кнопку "Add new device" на екрані "Devices" - запуститься процедура приєднання.

Кнопка додавання нового пристрою до інтерфейсу мобільного додатка 2Smart Cloud

4. Виберіть у списку доступних для прив'язки до додатка “Others”. Потім натисніть "Continue".

Приєднання пристрою з мобільним додатком 2Smart Cloud

Приєднання пристрою з мобільним додатком 2Smart Cloud

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

Дані Wi-Fi мережі для підключення пристрою

6. Підключіться до точки доступу контролера Wi-Fi.

Перехід до налаштувань Wi-Fi мобільного пристрою

Налаштування Wi-Fi мобільного пристрою

7. Дочекайтеся завершення процедури приєднання.

Приєднання пристрою з мобільним додатком 2Smart Cloud

Приєднання пристрою з мобільним додатком 2Smart Cloud

8. Тепер контролер відображається на екрані “Devices”. Ви можете керувати його функціями, у тому числі за допомогою додаткових способів: голосовими командами, телефонним дзвінком, за допомогою Telegram-бота.

Екран Пристрої мобільного додатка 2Smart Cloud

Спосіб другий – з перепрошивкою


1. Очистіть пам'ять мікроконтролера – у Mac OS використовується команда ./2smart.sh erase_flash -d /dev/tty.SLAB_USBtoUART.

2. Залийте прошивку на пристрій – у Mac OS використовуйте команду ./2smart.sh write -d /dev/tty.SLAB_USBtoUART.

3. Прив'яжіть пристрій до мобільного додатка аналогічно інструкції для першого способу.

В обох випадках один і той же пристрій виступає спочатку як тестовий, а потім як готовий продукт. Ми рекомендуємо мати як мінімум два контролери, щоб один із них завжди залишався підключеним до тестового оточення.

Тестовий пристрій дозволить працювати над новими режимами світлодіодної стрічки. Його прошивку можна оновлювати як по кабелю, так і через повітря за допомогою веб-інтерфейсу контролера (прошивка встановлюється на сторінці Settings). Підключитися до веб-інтерфейсу контролера можна за його локальною IP-адресою, яка наводиться в мобільному додатку 2Smart Cloud.

Додавши нові режими або модифікувавши прошивку з іншими цілями, ви зможете залити оновлений файл прошивки на сторінці продукту - всі контролери, що діють, отримають оновлення через повітря. Докладніше про механіку оновлення прошивки та доставки оновлень – у цій статті .

Що в результаті


Ми показали, як зібрати розумний пристрій – контролер адресних світлодіодних стрічок – з доступних комплектуючих. Готова прошивка доступна на гітхабі, ви можете використовувати її у незмінному вигляді на своїх пристроях. А можете взяти наш код за основу та модифікувати режими роботи контролера, додаючи нові ефекти.

Ми також підготували другу статтю про цей самий пристрій – з описом створення прошивки на базі ESPHome. З її допомогою ви можете створити сумісну прошивку для контролера, використовуючи простий інструмент, що не вимагає навичок програмування та використовувати сторонні програми на своєму комп'ютері.

Використовуючи цей приклад, ви навіть можете відкрити невеликий бізнес, випустивши на продаж партію контролерів LED стрічок!
Made on
Tilda