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

Nov 05, 2020 21:00

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




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

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

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

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



Это необязательно, но можно подключить экран. Термометр поддерживает четыре вида экранов (цветной TFT 240x320 точек, OLED 128x64 точки, ЖК двух- или четрырёхстрочный, семисегментный светодиодный). На мой взгляд лучше всего поставить самый дешёвый четырёхсимвольный индикатор. У индикатора четыре контакта, подключаем их к контроллеру (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.

Сделай сам, Умный дом, Электроника

Previous post Next post
Up