Блог 2Smart (RU)

Как за 30 минут собрать простейший Wi-Fi датчик температуры и влажности воздуха

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

Собираем устройство


Что потребуется, чтобы собрать такой датчик:

  • Макетная плата Breadboard – 1 шт.
  • IoT-платформа ESP-WROOM-32 DevKit v1 – 1 шт. (подойдет любая другая вариация платформы с микроконтроллером ESP32 на Dev Board или без нее).
  • Соединительные провода «папа-папа» – 3 шт.
  • Датчик влажности и температуры DHT11 – 1 шт.
  • USB-microUSB кабель.

Все необходимые комплектующие:

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

Для сборки устройства нами использовался такой пример схемы, найденный с помощью поиска по картинкам от Гугла:

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

Вот что получилось в итоге:

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

Делаем собранное устройство «умным»


1 - Перейдите в кабинет вендора по ссылке – https://cloud.2smart.com/. Войдите в свой аккаунт.

Страница Продукты кабинета вендора

2 - На странице “Продукты” нажмите “Создать продукт” и выберите микроконтроллер ESP32.

Выбор микроконтроллера для нового устройства

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

Информация о продукте

4 - Нажмите “Создать прошивку” и выберите базу для нее – 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 - Сохраните конфигурацию кода и в окне настройки продукта нажмите “Собрать прошивку” для Sandbox варианта. Укажите данные для подключения к вашей Wi-Fi сети – они будут вшиты в код прошивки, чтобы устройство сразу вышло в интернет и подключилось к платформе.

Параметры Wi-Fi сети для подключения устройства

7 - Дождитесь сборки прошивки и нажмите “Скачать”.

Ссылка на скачивание Sandbox прошивки

8 - Распакуйте скачанный архив, войдите в папку с полученными файлами и ознакомьтесь с инструкцией по прошивке в файле readme.md.

Прошивка возможна с устройств на Mac OS и Linux – мы использовали Mac OS.

Содержимое архива прошивки

9 - Подключите устройство к компьютеру с помощью USB-кабеля. Очистите память микроконтроллера командой:

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

Очистка памяти микроконтроллера

10 - Дождитесь очистки и запустите команду установки прошивки:

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

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

11 - После завершения процесса прошивки вернитесь на платформу – устройство автоматически подключится к тестовому окружению. Об успешном подключении говорит зеленый индикатор и статус Ready в поле “Статус устройства”.

Устройство успешно подключилось к тестовому окружению

12 - Нажмите “Предпросмотр состояния” – вам будут доступны данные всех сенсоров вашего устройства, включая текущую температуру и влажность воздуха.

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

13 - Нажмите “Создать интерфейс” – откроется эмулятор мобильного приложения. Для всех сенсоров вашего устройства автоматически созданы подходящие виджеты. Вы можете настроить внешний вид приложения, как вам нравится, в том числе выбрать виджеты других типов вместо тех, что установлены по умолчанию, а также установить удобный порядок виджетов на экране.

Обратите внимание – значения сенсоров обновляются в реальном времени уже в эмуляторе мобильного приложения. Вы также можете управлять устройством с экрана компьютера – в данном случае доступно включение/отключение светодиода.

Эмулятор мобильного приложения

14 - Откройте настройки датчиков температуры и влажности и убедитесь, что на вкладке “Расширенные” установлена галочка сбора исторических данных. Также рекомендуется добавить единицы измерения и границы по вертикальной оси.

Настройка параметров виджета для датчика температуры

Настройка параметров виджета для датчика влажности

15 - Обратите внимание, что в мобильном приложении кроме экрана виджетов автоматически создан экран телеметрии с метаданными. Рекомендуется не удалять его.

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

16 - Нажав стрелку “Назад” в эмуляторе мобильного приложения, можно увидеть, как датчик будет выглядеть в списке подключенных устройств.

Список устройств в эмуляторе мобильного приложения

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

График исторических данных в мобильном приложении

Завершив настройку интерфейса, нажмите “Сохранить”.

Работа с устройством в тестовом окружении

18 - Запустите мобильное приложение 2Smart Cloud на смартфоне – скорее всего, вы уже использовали его для подключения и управления виртуальной лампой. Выйдите из своего аккаунта, включите Sandbox режим и авторизуйтесь с тем логином и паролем, который вы использовали для регистрации в кабинете вендора.

Включение Sandbox режима в мобильном приложении

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

Список подключенных устройств

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

20 - Вернитесь на платформу и нажмите “Собрать прошивку” для Production варианта. Будет собрана финальная версия прошивки, которая не содержит параметров вашей Wi-Fi сети и других специфических строк кода, необходимых для работы в тестовом окружении. Скачайте получивший архив.

Сборка Production прошивки

Ссылка на скачивание Production прошивки

21 - Прошейте устройство Production прошивкой аналогично прошивке Sandbox версией. Не забудьте предварительно очистить память микроконтроллера.

Используйте следующие команды:

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

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

Очистка памяти микроконтроллера

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

22 - Нажмите “Опубликовать”, чтобы начать использовать устройство в обычном режиме.

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

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

23 - Вернитесь в мобильное приложение, выйдите из учетной записи и отключите Sandbox режим. Авторизуйтесь с любыми параметрами как обычный пользователь.

Отключение Sandbox режима в мобильном приложении

24 - Нажмите кнопку “Добавить устройство” на экране “Устройства” – запустится процедура сопряжения.

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

25 - Выберите в списке доступных для привязки к приложению устройств “Другие”. Затем нажмите “Продолжить”.

Сопряжение устройства с мобильным приложением

Сопряжение устройства с мобильным приложением

26 - Укажите данные вашей Wi-Fi сети, которые будут переданы устройству для подключения к интернету.

Параметры Wi-Fi сети для подключения устройства

27 - После прошивки Production версией кода микроконтроллер раздает точку доступа Wi-Fi с названием, которое соответствует названию вашего устройства на платформе. Подключитесь к этой сети на следующем шаге.

Переход к настройкам Wi-Fi мобильного устройства

Настройки Wi-Fi мобильного устройства

28 - Дождитесь завершения процедуры сопряжения.

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

29 - Теперь ваш датчик температуры отображается на экране “Устройства”. Убедитесь, что вы можете управлять им с экрана смартфона. Подождите некоторое время, пока появится история показаний температуры и влажности и проверьте состояние соответствующих графиков.

Список подключенных устройств

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

График изменений температуры воздуха

График изменений влажности воздуха

На этом все! Всего за 30 минут мы создали полезное IoT устройство, которое можно использовать ежедневно. При необходимости датчик температуры и влажности можно разместить на печатной плате, а также распечатать на 3D принтере корпус устройства. Разместив его в комнате или любом другом помещении, вы сможете контролировать температуру и влажность откуда угодно, где есть доступ к интернету.

Made on
Tilda