Блог 2Smart (UK)

Як створити Wi-Fi реле з керуванням за допомогою мобільного додатка та Telegram-бота

Як створити Wi-Fi реле з керуванням за допомогою мобільного додатка та Telegram-бота
IoT платформа 2Smart Cloud дозволяє створити будь-який розумний пристрій. Для цього доступні всі необхідні інструменти: сервіси для створення прошивки та мобільного додатка, перевірки працездатності пристрою, інструменти оновлення функціоналу пристрою та мобільного додатка, інструменти аналітики та збору статистики. Платформа відкрита як для великих виробників, так і для спільноти користувачів DIY. На прикладі простого продукту – Wi-Fi реле – розповідаємо, як всього за одну годину створити власний розумний пристрій на базі IoT платформи 2Smart Cloud.

В інструкції описаний найпростіший спосіб створення нового IoT пристрою – з використанням покрокового помічника. Підключення пристрою до платформи без візарду, з доступом відразу до всіх інструментів, описано тут .

Збираємо пристрій


Як приклад, буде розглянуто розумне реле, кероване з мобільного додатка. Через реле буде підключено звичайну настільну лампу, що зробить її розумною. Лампою можна керувати зі смартфона – за допомогою додатка 2Smart Cloud та додаткових способів: голосовими командами, телефонним дзвінком або Telegram-бота.

Що використовувалося при складанні пристрою:

  • Макетна плата Breadboard – 2 шт.
  • IoT-платформа ESP-WROOM-32 DevKit v1 – 1 шт. (Підійде будь-яка інша варіація платформи з мікроконтролером ESP32 на Dev Board або без неї).
  • Міні-реле (Zelo-модуль) – 1 шт.
  • Резистори (220 Ом) – 3 шт.
  • Світлодіод 5 мм – 1 шт.
  • Кнопка тактова із ковпачком – 2 шт.
  • Комплект з'єднувальних дротів.

Схема пристрою досить проста, її вдалося повторити буквально за першими ж картинками в пошуку Google. У результаті реле запускається без жодних проблем.

Виглядає прототип Wi-FI реле так:

Прототип Wi-Fi реле на основі мікроконтролера ESP32

Схема реле:

Схема Wi-Fi реле

Невелике пояснення до схеми:

  • До мікроконтролера підключено реле (на фото – ліворуч), через яке буде вмикатись та вимикатись живлення на лампу.
  • Синя кнопка потрібна для фізичного перемикання стану реле (керування лампою без смартфона).
  • Жовта кнопка скидає стан пристрою до "заводського" стану (Reset).
  • Зелений світлодіод потрібен для індикації стану лампи - він буде вмикатись одночасно з нею.

Реєструємось на IoT платформі


Щоб розпочати підготовку зібраного пристрою до роботи, потрібно зареєструватися на IoT платформі 2Smart Cloud. Сервіс допоможе створити прошивку для розумного реле та мобільний додаток для управління, що надасть хмарну інфраструктуру для подальшої роботи та підтримки пристрою.

1. Перейдіть за посиланням https://cloud.2smart.com/ .

2. Створіть новий обліковий запис або увійдіть до свого особистого кабінету за допомогою свого облікового запису Google або Facebook. При авторизації через соцмережі ви отримаєте автоматично створений пароль на свій Email – його можна змінити в особистому кабінетіі. Пароль може знадобитися для підключення сторонніх сервісів без авторизації через соціальну мережу. Ці дані використовуються для авторизації в мобільному додатку.

Вікно авторизації на платформі

Створюємо прошивку


1. Після реєстрації система пропонує створити тестовий продукт на основі віртуального пристрою – радимо зробити це, щоб дізнатись про можливості платформи. Докладно про роботу з віртуальним пристроєм – у попередній статті.

Вікно привітання нового користувача із пропозицією створити тестовий віртуальний продукт

2. Після навчання поверніться на головну сторінку панелі вендора. Натисніть кнопку «Create Product».

Зверніть увагу! Аналогічна кнопка на сторінці "Products" запускає альтернативний варіант створення продукту за допомогою 2Smart Cloud без використання покрокового помічника!

Кнопка створення нового продукту через візард

3. Виберіть мікроконтролер, на основі якого створено розумний пристрій – це ESP32. Натисніть "Next".

Платформа підтримує альтернативні MCU – наприклад Raspberry Pi, а також готові інструменти для них. Крім того, ви можете використовувати своє рішення та написати сумісну прошивку документації до платформи. 

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

4. Заповніть інформацію про свій пристрій – введіть назву та завантажте іконку. Цю інформацію буде видно кінцевим користувачам у мобільному додатку. Натисніть "Next".

Вікно додавання нового продукту

5. Виберіть базову прошивку. Для мікроконтролерів ESP32 це варіанти ESPHome або Custom.

Перевага платформи з відкритим кодом ESPHome – не потрібно знань принципів програмування під час створення прошивки. Це справді простий набір бібліотек та інструментів, популярність якого підтверджує безліч open source прикладів. Інструкція є в документації до платформи.

Варіант Custom прошивки дозволяє написати код будь-якою мовою з нуля за умови дотримання принципів сумісності з платформою. Інший Custom варіант - ваша власна прошивка, створена на базі запропонованого SDK (готовий шаблон на C++ з реалізованими ключовими функціями). Деталі обох варіантів створення Custom прошивки можна знайти у документації платформи 2Smart Cloud.

У цьому туторіалі буде показано, як за короткий термін створити пристрій на базі прошивки ESPHome. Після вибору натисніть "Next".

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

6. Після переходу на наступний крок вам буде доступний редактор коду конфігурації роботи прошивки. Код прошивки для розумного реле виглядає так:

# Switchers for relay and wi-fi led indicator
switch:
- platform: gpio
id: l2
name: relay
pin:
number: GPIO4
inverted: True
- platform: gpio
id: Wifiled
name: ledWifi
pin:
number: GPIO2
# Physical button for relay switching
binary_sensor:
- platform: gpio
pin:
number: GPIO13
mode: INPUT_PULLUP
inverted: True
name: sensor_button
on_press:
then:
- switch.toggle: l2
# Physical button for reset creds for production devices (тільки для 2Smart Cloud version of EspHome)
- platform: reset_sensor
pin:
number: GPIO15
mode: INPUT_PULLUP
inverted: true
name: Reset button
filters:
- delayed_on: 2s
interval:
- interval: 10s
then:
if:
condition:
wifi.connected:
then:
- switch.turn_on: Wifiled
else:
- switch.turn_off: Wifiled
# Standart sensor for wi-fi signal
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 10s
# Standart sensors for wi-fi settings
text_sensor:
- platform: wifi_info
ip_address:
name: ESP IP Address
ssid:
name: ESP Connected SSID
bssid:
name: ESP Connected BSSID
mac_address:
name: ESP Mac Wifi Address

Коментарі до коду прошивки:

  • У блоці “Switchers for relay and wi-fi led indicator” описаний сенсор управління світлодіодом, підключений до 2-го піну ESP-платформи і реле, яке підключено до 4-го піну.
  • Блок "Physical button for relay switching" визначає параметри кнопки, підключеної до 13-го піну ESP-платформи (на фото - синя). Це кнопка, яка примусово перемикає стан реле натисканням.
  • Блок "Physical button for reset creds for production devices" визначає параметри другої кнопки, яка підключена до 15-го піну платформи (на фото - жовта). Вона скидає налаштування платформи та переводить її у заводський стан (кнопка Reset).
  • Блок “Standart sensor for wi-fi signal” потрібен, щоб передавати дані про стан Wi-Fi із зазначеною періодичністю (у прикладі коду – кожні 10 секунд).
  • Блок “Standart sensors for wi-fi settings” містить установки конкретних текстових сенсорів про стан Wi-Fi мережі – ця інформація буде відображена в інтерфейсі додатка.

Після налаштування коду прошивки натисніть “Next”.

Вікно налаштування прошивки пристрою

7. Спочатку на платформі збирається прошивка тестового пристрою. Вона потрібна для підключення до середовища для тестування та налагодження прототипу пристрою, в якому можна перевірити весь функціонал способу керування.

Щоб почати збірку прошивки тестового пристрою, натисніть “Build Firmware” на новому екрані.

Вікно збірки тестової прошивки

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

Зверніть увагу! Пристрої на основі мікроконтролера ESP32 підтримують лише Wi-Fi мережі з частотним діапазоном 2,4 ГГц!

Вікно додавання параметрів Wi-Fi мережі

9. Дочекайтеся, доки буде зібрана тестова прошивка.

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

Вікно збірки тестової прошивки з посиланням на готовий архів

10. Завантажте прошивку. Усередині архіву буде файл readme.md із описом процесу прошивки пристрою. Прошийте його за інструкцією – для підключення пристрою до комп'ютера використовуйте кабель USB.

Прошивка можлива з пристроїв на Mac OS, Linux та Windows.

Зверніть увагу! Якщо на мікроконтролер вже записано прошивку, не забудьте видалити її за інструкцією у файлі readme.md або відповідно до документації.

зміст архіву з прошивкою тестового пристрою

процес прошивки пристрою

11. Після успішної прошивки поверніться на платформу та натисніть кнопку “Next” – ви отримаєте повідомлення про те, що ваш пристрій виявлено. Іноді для успішного виявлення потрібно відключити прошитий IoT пристрій від живлення і підключити його знову.

Повідомлення про успішне виявлення пристрою з можливістю перегляду стану датчиків

12. Натиснувши посилання “State Preview”, ви можете побачити дані всіх сенсорів вашого пристрою. Зверніть увагу – вже на цьому етапі ви отримуєте реальні дані від вашого прототипу, вони показують поточний стан сенсорів та оновлюються в режимі реального часу.

Вікно перегляду стану датчиків пристрою

Створення мобільного додатка


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

1. Натисніть кнопку “Next” на екрані зі сповіщенням про успішне виявлення пристрою. Відкриється вікно створення мобільного додатка.

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

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

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

Для розумного реле в цьому прикладі достатньо двох віджетів: кнопки увімкнення/вимкнення реле, а також сенсора рівня Wi-Fi сигналу.

Для зміни порядку розташування віджетів у списку використовуйте метод drag-and-drop (перетягування). Щоб додати нову вкладку до програми, натисніть посилання “Add Tab” у правій верхній частині екрана емулятора.

Зміна порядку розташування віджетів методом drag-and-drop

Бібліотека віджетів на платформі досить велика, більшість їх універсальні та підходять для різних пристроїв. Розібратися в бібліотеці дуже просто – можна сміливо обирати будь-які віджети. У налаштуваннях будь-якого з них зрозуміло, з якими сенсорами вашого пристрою, їх можна використовувати.

Вікно вибору типу віджета

Вікно налаштування вибраного віджета

2. Використовуйте Preview режим, щоб побачити інтерфейс додатка без інструментів редагування.


Відображення продукту у списку пристроїв додатка

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

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

Управління прототипом пристрою через емулятор додатка на панелі вендора

3. Створивши мобільний додаток, ви можете протестувати його безпосередньо на своєму смартфоні. Завантажте додаток 2Smart Cloud, встановіть його на телефон і авторизуйтеся з тими самими даними, що й на платформі. Ваш прототип вже знаходиться на екрані "Devices" із позначкою "Test".

Зверніть увагу - ваші користувачі будуть керувати пристроєм саме з цього додатка. Для цього потрібно завершити налаштування продукту та опублікувати пристрій у каталозі 2Smart Cloud.

Посилання на мобільний додаток 2Smart Cloud

Після авторизації у додатку з тими самими параметрами, під якими ви реєструвалися на платформі, на вкладці “Devices” буде доступний щойно створений пристрій. Інтерфейс керування при цьому повністю відповідає тому, що був налаштований в емуляторі додатка.

Перегляд тестового режиму у додатку

Інтерфейс мобільного додатка, налаштований на панелі вендора

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

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

Збірка серійної прошивки та керування пристроєм зі смартфона


Прошивка, яка використовувалася раніше, призначена тільки для тестування прототипу. Її особливість у тому, що код містить технічні дані, які не потрібні на пристрої кінцевого користувача. Насамперед це параметри вашої домашньої чи робочої Wi-Fi мережі.

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

1. Натисніть "Next" у вікні з посиланням на мобільний додаток. Відкриється вікно збірки серійної прошивки – натисніть “Build Firmware”.

Вікно створення серійної прошивки

2. Дочекайтеся завершення процесу та натисніть посилання “Download”.

Вікно створення серійної прошивки з посиланням на готовий архів

3. Прошийте пристрій серійною прошивкою аналогічно тому, як його прошивали тестовою версією.

Зверніть увагу! Якщо на мікроконтролер вже записано прошивку, не забудьте видалити її за інструкцією у файлі readme.md або відповідно до документації.

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

Якщо ви розробник, який планує випуск цілої партії розумних пристроїв, ця порада тим більше актуальна.

4. На екрані збірки серійної прошивки натисніть “Next”. Відкриється вікно публікації продукту, натисніть "Publish a product".

Вікно публікації продукту

Після публікації продукту можна додати його в мобільний додаток 2Smart Cloud на своєму смартфоні та розпочати використання. Опублікований пристрій зможуть додавати до додатка також і покупці вашого продукту.

Зверніть увагу, що продукт з'явиться у загальнодоступному каталозі лише після схвалення адміністраторами платформи. До цього додати пристрій можна тільки через приєднання, вибравши пункт “Others” в маркеті.

5. Після публікації відкриється сторінка продукту на панелі розробника. До неї завжди можна повернутись за допомогою меню “Products”. Статус продукту - "Published".

Сторінка продукту на панелі розробника

Прив'язка серійного пристрою до додатка 2Smart Cloud


Рекомендуємо подивитись на пристрій очима кінцевого користувача – покупця вашого пристрою. Додайте свій пристрій із каталогу за стандартним алгоритмом:

1. Встановіть додаток 2Smart Cloud ( iOS | Android ).

2. Створіть обліковий запис або увійдіть за допомогою облікового запису Google або Facebook.

Екран авторизації мобільного додатка 2Smart Cloud

3. Перейдіть на екран “Devices” та натисніть “Add new device”.

Екран “Devices” мобільного додатка 2Smart Cloud

4. Виберіть у списку свій продукт – він відображається під тією назвою та з тією іконкою, що ви вказали на панелі розробника. Якщо продукт ще не схвалений адміністраторами платформи, перейдіть до “Others” та натисніть “Continue”.

Маркет розумних пристроїв у мобільному додатку 2Smart Cloud

Екран додавання мобільного додатка 2Smart Cloud

5. Введіть дані Wi-Fi мережі, яку використовуватиме ваш IoT пристрій. Натисніть "Continue".


Зверніть увагу! Пристрої на основі мікроконтролера ESP32 підтримують лише Wi-Fi мережі з частотним діапазоном 2,4 ГГц!


Екран заповнення параметрів Wi-Fi мережі мобільного додатка 2Smart Cloud

6. Натисніть посилання “Open Wi-Fi Settings”, щоб підключити телефон до точки доступу пристрою.


Екран підключення до точки доступу мобільного додатка 2Smart Cloud

7. У списку доступних мереж знайдіть ту, що відкрив ваш пристрій – для продуктів на основі ESP32 назва мережі відповідає назві продукту, мережа відкрита та не вимагає введення пароля. Підключіться до цієї мережі.


Налаштування Wi-Fi на смартфоні

Налаштування Wi-Fi на смартфоні

8. Якщо смартфон пропонує перейти на мережу з доступом до інтернету, відмовтеся.


Повідомлення з пропозицією перейти на Wi-Fi мережу з доступом до інтернету

9. Дочекайтеся, доки пристрій буде успішно додано до додатка.


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

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

10. Перейдіть на екран “Devices” та переконайтеся, що продукт відображається у списку. Зверніть увагу – назва та іконка пристрою відповідають тим, що ви вказали під час його створення.


Прив'язаний продукт у списку мобільних пристроїв 2Smart Cloud

11. Натисніть іконку пристрою – ви побачите той інтерфейс керування, який був налаштований у кабінеті вендора. Використовуйте віджети для керування – перемикач реле та віджет перегляду сигналу Wi-Fi.


Віджети для керування пристроєм у мобільному додатку 2Smart Cloud

12. Ви можете використовувати додаткові можливості управління пристроєм, які за замовчуванням дає додаток 2Smart Cloud. Наприклад, голосові команди, Telegram-бот, керування телефонним дзвінком. Детальні інструкції – у блозі на сайті платформи.


13. Доступом до пристрою можна швидко поділитися з близькими, використовуючи меню “Sharing” у налаштуваннях додатка. Детальні інструкції – у блозі .


На цьому все! Залишилося запаяти через розумне реле звичайну настільну лампу - і вона реагуватиме на команди з мобільного додатка. При підключенні живлення не забувайте про заходи безпеки!


Як бачите, додавання нового IoT пристрою до 2Smart Cloud займає не так багато часу. Інтерфейс платформи зроблено максимально дружнім, а розробники спростили роботу наскільки це було можливо.


Створення нового IoT пристрою – це лише початок роботи з платформою 2Smart Cloud. У наступних статтях блогу буде розказано, як модифікувати прошивку пристроїв, редагувати інтерфейс мобільного додатка та аналізувати статистику використання продукту.

Щоб приєднатись до 2Smart Cloud, не обов'язково бути великим виробником! Платформа відкрита, у тому числі, для DIY розробників, які виробляють невеликі партії пристроїв, як у цьому прикладі з розумним реле.

Посилання:


Всі статті про створення та підтримку IoT пристрою в 2Smart Cloud:

  1. Познайомся з IoT платформою – створи свій перший пристрій без мікроконтролера та керуй ним зі смартфона
  2. Як створити Wi-Fi реле з керуванням за допомогою мобільного додатка та Telegram-бота
  3. Як створити новий IoT пристрій всього за 4 кроки
  4. Як створити IoT пристрій на друкованій платі – від прототипу до реального продукту
  5. Як написати прошивку для IoT пристрою на базі SDK
  6. Як за 5 хвилин оновити прошивку і мобільний додаток готових пристроїв
  7. Збір та аналіз статистики – корисний інструмент для покращення продукту
Made on
Tilda