Блог 2Smart (UK)

Як за 30 хвилин зібрати найпростіший Wi-Fi датчик температури та вологості повітря

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

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


Що потрібно, щоб зібрати такий датчик:

  • Макетна плата Breadboard – 1 шт.
  • IoT-платформа ESP-WROOM-32 DevKit v1 – 1 шт. (Підійде будь-яка інша варіація платформи з мікроконтролером ESP32 на Dev Board або без неї).
  • З'єднувальні дроти "Male to male" - 3 шт.
  • Датчик вологості та температури DHT11 – 1 шт.
  • USB-micro USB кабель.

Усі необхідні комплектуючі:

Комплектуючі для Wi-Fi датчика температури

Для складання пристрою нами використовувався такий приклад схеми, знайдений за допомогою пошуку за картинками від Google:

Схема Wi-Fi датчика температури

Ось що вийшло в результаті:

Готовий датчик температури

Робимо зібраний пристрій «розумним»


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

Сторінка продукти Кабінету вендора

2. На сторінці “Products” натисніть “Add Product” та виберіть мікроконтролер ESP32.

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

3. На сторінці нового продукту вкажіть його назву та завантажте іконку – з цими даними пристрій відображатиметься в мобільному додатку.

Інформація про продукт

4. Натисніть “Add Firmware” та виберіть базу для неї – ESPHome.

Вибір бази для прошивки мікроконтролера

5. Вставте наступний код прошивки у вікні:

switch:
  - platform: gpio
    id: l2
    name: GPIO2
    pin:
      number: GPIO2
sensor:
  - platform: dht
    pin: GPIO15
    temperature:
      name: "Temperature"
    humidity:
      name: "Humidity"
    update_interval: 10s

Пояснення до коду прошивки:

✔ - Перші шість рядків – стандартний код для керування світлодіодом на мікроконтролері.
✔ - Наступні вісім рядків – стандартний код датчика DHT11, взятий тут . Ми внесли до нього дві змінні:
  • виправили інтервал оновлення даних – кожні 10 секунд замість кожних 60 секунд,
  • вказали пін мікроконтролера, до якого підключений датчик – у нашому випадку це GPIO15.

Код прошивки пристрою

6. Збережіть конфігурацію коду та у вікні налаштування продукту натисніть “Build Firmware” для тестового пристрою. Вкажіть дані для підключення до вашої Wi-Fi мережі - вони будуть вшиті в код прошивки, щоб пристрій відразу вийшов в інтернет і підключився до платформи.

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

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

Посилання на скачування прошивки тестового пристрою

8. Розпакуйте завантажений архів, увійдіть до папки з отриманими файлами та ознайомтеся з інструкцією з прошивки у файлі readme.md.

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

Вміст архіву прошивки

9. Підключіть пристрій до комп'ютера за допомогою кабелю USB. Очистіть пам'ять мікроконтролера командою

./2smart.sh erase_flash -d /dev/tty.SLAB_USBtoUART

Очищення пам'яті мікроконтролера

10. Дочекайтесь очищення та запустіть команду встановлення прошивки

./2smart.sh write -d /dev/tty.SLAB_USBtoUART

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

11. Після завершення процесу прошивки поверніться на платформу – пристрій автоматично підключиться до тестового оточення. Про успішне підключення говорить зелений індикатор та статус Ready у полі "Device Status".

Пристрій успішно підключився до платформи

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

Просмотр данных сенсоров в реальном времени

13. Натисніть “Add layout” – відкриється емулятор мобільного додатка. Всі сенсори пристрою автоматично створюють відповідні віджети. Ви можете налаштувати зовнішній вигляд додатка, як вам подобається, у тому числі вибрати віджети інших типів замість тих, що встановлені за замовчуванням, а також встановити зручний порядок віджетів на екрані.

Зверніть увагу – значення сенсорів оновлюються в реальному часі вже в емуляторі мобільного додатка. Ви також можете керувати пристроєм з екрана комп'ютера – у цьому випадку доступне увімкнення/вимкнення світлодіода.

Емулятор мобільного додатка

14. Відкрийте параметри датчиків температури та вологості та переконайтеся, що на вкладці "Advanced" встановлено помітку збору історичних даних. Також рекомендується додати одиниці виміру та межі по вертикальній осі.

Налаштування параметрів віджета для датчика температури

Налаштування параметрів віджета для датчика температури

15. Зверніть увагу, що в мобільному додатку, крім екрана віджетів, автоматично створено екран телеметрії з метаданими. Рекомендується не видаляти його.

Вкладка с телеметрией в интерфейсе мобильного приложения

16. Натиснувши стрілку “Back” в емуляторі мобільного додатка, можна побачити, як датчик виглядатиме у списку підключених пристроїв.

Список пристроїв в емуляторі мобільного додатку

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

Графік історичних даних в мобільному додатку

Після завершення налаштування інтерфейсу натисніть “Save”.

Робота з прототипом пристрою

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

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

Список підключених пристроїв

Інтерфейс управління пристроєм

20. Поверніться на платформу та натисніть “Build Firmwareʼ” для серійного пристрою. Буде зібрано фінальну версію прошивки, яка не містить параметрів вашої Wi-Fi мережі та інших специфічних рядків коду, необхідних для тестування прототипу. Завантажте архів, що отримали.

Збірка серійної прошивки

Посилання на скачування серійної прошивки

21. Прошийте пристрій серійною прошивкою аналогічно до прошивки тестовою версією. Не забудьте очистити пам'ять мікроконтролера.

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

./2smart.sh erase_flash -d /dev/tty.SLAB_USBtoUART

./2smart.sh write -d /dev/tty.SLAB_USBtoUART

Очищення пам'яті мікроконтролера

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

22. Натисніть “Publish”, щоб розпочати використання пристрою у звичайному режимі.

Публікація продукту

Продукт опублікований

23. Поверніться в мобільний додаток, натисніть кнопку "Add Device" на екрані "Devices" - запуститься процедура приєднання.

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

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

Сполучення пристрою з мобільним додатком

Сполучення пристрою з мобільним додатком

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

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

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

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

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

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

Процедура приєднання

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

Список підключених пристроїв

Інтерфейс управління пристроєм

Графік змін температури повітря

Графік змін вологості повітря

На цьому все! Всього за 30 хвилин ми створили корисний  IoT пристрій, який можна використовувати щодня. При необхідності датчик температури та вологості можна розмістити на друкованій платі, а також на 3D принтері роздрукувати корпус пристрою. Розмістивши його в кімнаті або будь-якому іншому приміщенні, ви можете контролювати температуру та вологість звідки завгодно, де є доступ до інтернету.
Made on
Tilda