Облачный термометр за 10 минут и 300 рублей

Эту простейшую самоделку сможет повторить каждый, кто в состоянии соединить три провода. С помощью этой штуки можно дистанционно контролировать температуру, например, на даче.


Для работы термометра необходим Wi-Fi.
Температуру можно смотреть на сайте и в мобильном приложении сервиса Народный мониторинг narodmon.ru. Там же есть графики температуры за год и можно устанавливать пределы температуры, при выходе за которые сервис будет предупреждать push-сообщениями, СМС и письмами на почту.

Для сборки термометра понадобится микроконтроллер NodeMCU-CH340 за $2.65 и цифровой датчик температуры DS18B20 за $1.41. При желании можно добавить ещё цифровой индикатор TM1637 за $0.77. Ещё понадобится резистор 4.7К, провода, любая зарядка от телефона с разъёмом MicroUSB. В качестве корпуса удобно использовать электрическую распаечную коробку.

Скорее всего можно использовать и совсем малюсенький контроллер Wemos D1 Mini, но я не пробовал.

В базовом варианте достаточно припаять датчик температуры к контроллеру (красный провод к 3V, чёрный к GND, жёлтый к D4), между жёлтым и красным проводам датчика ставится резистор (на фото датчик припаян к D1, не обращайте внимания).

Это необязательно, но можно подключить экран. Термометр поддерживает четыре вида экранов (цветной TFT 240×320 точек, OLED 128×64 точки, ЖК двух- или четрырёхстрочный, семисегментный светодиодный). На мой взгляд лучше всего поставить самый дешёвый четырёхсимвольный индикатор. У индикатора четыре контакта, подключаем их к контроллеру (VCC к 3V, GND к G, DIO к TX, CLK к RX).

Я пробовал подключать к термометру OLED-экран, но цифры на нём малюсенькие и выводится много лишней информации, включая неотключаемый адрес сайта разработчика прошивки.

Этот термометр можно подключить к Народному мониторингу и сделать его публичным, если его датчик будет расположен на улице. Если же термометр расположен в помещении (например, на той же даче), сервис позволяет использовать его, как непубличный. Вот так отображаются данные с двух таких термометров на сайте (замечу, что бесплатно можно подключить к сервису лишь один термометр).

А так в приложении (разумеется, датчики можно переименовать).

Приложение присылает push-сообщения, если термометр перестаёт передавать показания, или начинает их передавать после большого перерыва.

Как вы уже наверное догадались, для того, чтобы превратить контроллер в облачный термометр в него нужно загрузить прошивку и настроить её. Но сделать это гораздо проще, чем многие из вас подумали. 🙂

Прошивку можно создать с помощью сервиса wifi-iot.com, а загрузить с помощью NodeMCU Flasher, но я упрощу вам задачу: вот в этом архиве два файла — флешер и готовая прошивка. Просто подключаете контроллер к компьютеру, запускаете флешер, выбираете файл led.bin (Config-шестерёнка), указываете виртуальный COM-порт, к которому подключился контроллер, и нажимаете «Flash».

Когда заливка прошивки завершится, отключите контроллер и подключите его снова (можно к компьютеру, можно к любой зарядке). Нажмите три раза кнопку Reset с паузой не менее полсекунды. Контроллер создаст временную точку доступа Wi-Fi под названием WiFi-IoT без пароля. Подключитесь к этой точке смартфоном, и нажмите «подключение к сети». Откроется веб-страница настройки термометра.

Можно всё настроить сразу, можно настроить только подключение к Wi-Fi и продолжить настройку на компьютере. Покажу, как настроить всё сразу на телефоне:

1. Нажимаем «Hardware», ставим галку «Enable DS18B20» и меняем его GPIO на «2». Нажимаем «Set». Нажимаем «Main».
2. Заходим в «1-Wire», там «Clear & Scan List». Должен появиться адрес датчика. Снова «Main».

3. Если подключили экран, заходим в «7SEGM», ставим галку «Enable», вводим в поле «GPIO Clk» 3, в «GPIO Data» 1. Нажимаем верхний «Set». Пункт «1» меняем на DS18B20 1, нажимаем нижний «Set». Жмём «Main».

4. Заходим в «Servers», ставим там галку «Enable Narodmon.ru», нажимаем «set». Записываем ID термометра. Нажимаем «Main».
5. Видим в главном меню, что появилась температура.
6. Нажимаем «Main». В поле «AP name» вводим имя домашней точки доступа Wi-Fi (поддерживается только Wi-Fi 2.4 Ghz), в поле «AP Pass» вводим пароль от Wi-Fi. Жмём третью кнопку Set, которая сразу под введённым паролем.

Отключаем контроллер от питания и включаем снова. Теперь он подключится к домашнему Wi-Fi. Можно зайти в его веб-интерфейс из браузера по адресу, который можно посмотреть в веб-интерфейсе домашнего роутера или с помощью повторного подключения к временной точке доступа контроллера: ещё раз три раза нажимаем на контроллере RST, снова подключаемся к нему телефоном, заходим в «Main» и видим внизу адрес. В данном случае 192.168.1.212.

Регистрируемся на Народном мониторинге: https://narodmon.ru/?invite=ammo1 (ссылка реферальная, но даёт мне не деньги, а возможность подключить больше датчиков и дольше хранить данные).

Термометр посылает данные каждые 5 минут, поэтому если 5 минут ещё не прошло с момента настройки, надо немного подождать или вручную зайти в веб-интерфейс датчика и отправить данные в разделе «Servers».

На Народном мониторинге заходим в «Профиль — Мои датчики».

Нажимаем «Добавить» и вводим ID нашего термометра (его мы сохранили на этапе 4).

Если моё объяснение показалось вам сложным, вот тут есть очень подробная пошаговая инструкция.

На самом деле всё очень просто и эту самоделку действительно можно сделать и настроить за десять минут. Что касается цен, то конечно не может не впечатлять то, насколько это всё дёшево.

© 2020, Алексей Надёжин


Десять лет я каждый день пишу о технике, скидках, интересных местах и событиях. Читайте мой блог на сайте ammo1.ru, в ЖЖ, Дзен, МирТесен.
Мои проекты:
Lamptest.ru. Тестирую светодиодные лампы и помогаю разобраться, какие из них хорошие, а какие не очень.
Elerus.ru. Собираю информацию об отечественных электронных устройствах для личного использования и делюсь ей.
Вы можете связаться со мной в Телеграм @ammo1 и по почте ammo1@mail.ru.

Этот пост в моём блоге LiveJournal: Облачный термометр за 10 минут и 300 рублей

Добавить комментарий