Привет, Пикабу!
Хочу поделиться с читателями простым, удобным и бесплатным (для одного датчика DS18B20) способом удаленного мониторинга температуры за окном, дома или в любом другом месте. Пугаться незнакомых слов в заголовке (если такие есть) не стоит - программировать нам не придётся! Нужно только следовать по инструкции ниже и (при наличии компонентов) и"удаленный термометр" через 30 минут будет у вас в кармане ;-)
Я не программист, но если тема зайдёт - буду и дальше делиться тем, что у меня получилось или получится сделать при конструировании своего "Умного дома"
Собрав простую конструкцию, описанную в этом посте Вы сможете узнать температуру на Вашей улице онлайн (и сохраненную за день, неделю, месяц, год) в любой точке Земли, где есть интернет и смартфон (компьютер, планшет...) с помощью проекта "Народный мониторинг".
Народный мониторинг - это основанный в 2011 году краудфандинговый геоинформационный проект по отображению на карте мира и контролю (на ПК, смартфонах и других гаджетах) показаний датчиков своих участников (температуры, влажности, атм.давления, скорости и направления ветра, радиации, энергопотребления и любых других величин), а также частных и городских веб-камер для публичного или приватного просмотра.
Для этого нам понадобятся:
1) Плата NodeMCU V3 (ESP8266) - удобна тем, что подключается с помощью micro USB кабеля и ей не нужны никакие UART конвертер - в ней он сразу встроен на основе китайского чипа CH340;
2) Датчик температуры DS18B20 (есть влагонепроницаемые, наиболее подходящие для улицы, но к нему нужно будет приобрести резистор на 4,7 кОм);
3) Провода для соединения датчика с платой;
4) Кабель USB - micro USB для прошивки модуля;
Все это, кроме USB - кабеля, я купил на Aliexpress (NodeMCU V3 ~3$ и DS18B20 ~1$).
Первый этап.
Регистрируемся на сайте wifi-iot.com, где мы создадим прошивку в несколько кликов. После регистрации входим на сайт в свой профиль, следуем по пути "ESP" - "ESP8266".
Выбираем новый профиль и вводим для него имя.
В "Сенсоры" ставим галочку "1-wire DS18B20" в "Сервисы" ставим галочку "narodmon.ru" - это бесплатный функционал.
Если Вы планируете добавить датчики температуры и другие, хотите "откалибровать" (скорректировать показания) датчик под свой эталон, обновить прошивку через интернет и использовать все возможности сайта, то после приобретите в личном кабинете лицензионный ключ, который стоит 110 рублей на один модуль ESP8266. Затем поставьте в "Сенсорах" на "Коррекция датчиков" (+ галочку нажав на шестеренку на DS18B20), в "Системных" на "Обновление ОТА".
Если нет, то пропускаем написанное курсивом и пользуемся бесплатным фуекционалом.
Далее, в самом низу нажимаем "Сохранить изменения", затем "Скомпилировать".
Я скачиваю одним файлом (0х00000). Запоминаем путь, куда скачали файл.
Примечание: В некоторых случаях рекомендовано создать в корне диска (С:) папку с названием английскими символами, например "ESP8266" и поместить скачанный файл туда, вместе с программатором, который скачаем следующим этапом.
Второй этап.
Подключаем через USB-кабель плату NodeMCU к компьютеру.
Правой клавишей нажимаем на значок "Компьютер" - "Управление" - "Диспетчер устройств". Там в разделе "Порты COM и LPT" (раскрываем список нажатием на треугольник слева) у вас должно появится устройство "USB-SERIAL CH340", как на фото (если не появилось - нужно скачать и вручную установить драйвер для CH340). Запоминаем номер порта - в моём случае - (COM4).
Скачиваем с ГитХаба программатор NodeMCU Flasher по этой ссылке.
Распаковываем архив в папку созданную на диске (С:) (см. Первый этап)
В зависимости от разрядности вашей системы (посмотреть можно нажав правой клавишей мыши "Компьютер" - "Свойства")
в папке Win32/Release (32-разрядная ОС) или Win64/Release (64-разрядная ОС) находим и запускаем файл ESP8266Flasher.exe
После запуска на вкладке "Advansed" сверяем параметры со скриншотом:
Во вкладке "Config" выбираем, нажав на шестерёнку нашу ранее сохраненную прошивку на диске (С:) и ставим крестик (если не стоит) слева.
Перед первой прошивкой рекомендуется залить в модуль blank по адресу 0х00000, особенно, если в модуле до этого использовалась какая-либо другая прошивка. Подробнее в документации на wifi-iot.com. Я прошиваю сразу, без "чистки бланком", пока проблем не было.
Во вкладке "Operation" выбираем COM Port, который мы запомнили выше в "Диспетчере устройств" и нажимаем кнопку "Flash(F)". По завершении прошивки появится галочка в зеленом кружочке в левом нижнем углу, как на скриншоте:
Третий этап.
После прошивки и подключения питания к плате NodeMCU, в эфире появится точка с именем "WiFi-ioT", к которой нужно подключится использую смартфон или ПК.
Если не появилась - переводим плату в режим "safe mode", замкнув между собой RX и TX и перезапустив модуль или нажать 3 раза подряд (с интервалом нажатия около секунды) кнопку RESET (RST) на ESP8266.
Подключаемся к модулю одним из способов:
1. Используя Captive Portal смартфон выведет уведомление о подключении, при нажатии на которое происходит автоматическое открытие главной страницы модуля.
2. После успешного коннекта заходим вручную по адресу 192.168.4.1 используя веб браузер и попадаем в web-интерфейс.
На вкладке "Main" необходимо вбить в поля "WiFi options"данные своей точки доступа (WiFi сети). Для подключения к роутеру выбираем режим "Statione mode". После нажатия "Set" ниже появится IP адрес, на который можно заходить внутри своей беспроводной сети. Вы можете указать свой и сделать его статическим, выбрав "Static IP" затем нажав "Set".
На этом прошивка и запуск модуля завершены.
Четвертый этап.
Подключаем датчик DS18B20 к модулю, как на фото ("ground-ground" - "серый" провод (-), "vcc - 3v" - "красный" провод (+), "data -D4" - "желтый" провод - на вашей модели датчика выводы ground, vcc, data могут быть другие):
Если у вас "чистый" (не модульный, как у меня на фото) датчик или влагонепроницаемый, то его вы можете подключить используя резистор 4,7 кОм по схеме ниже:
Выход "Data" датчика температуры у нас подключается к "D4" - это GPIO-2 . Заходим в web-интерфейс модуля во вкладку "Hardware".
- Ставим галочку "EnableDS18B20";
- Указываем GPIO к которому подключен наш датчик;
- "Interval sensors read" - время опроса датчика указываем любое в секундах;
- Жмём "Set" и "Main" - переходим в главное меню.
Переходим во вкладку "1-wire". Нажимаем Clear & Scan list.
После того, как датчик найден, жмем "Main" - переходим в главное меню и наблюдаем температуру датчика.
На скриншоте вы видите красным цветом указано, что модуль в режиме "Safe mode". Что бы из него выйти кратковременно нажимаем кнопку RESET (RST).
Если хотите скорректировать показания датчика температуры по своему эталону (при наличии) - активируйте свою лицензию купленную на сайте wifi-iot.com нажав "Get Pro mode"и вводите правки со знаком + или - во вкладке "Correction". 10 - это 1 градус.
Пятый этап. (завершающий)
Переходим во вкладку "Servers". Ставим галочку рядом с "Enable Narodmon.ru send". Указываем "Period" 5 минут (НЕ МЕНЕЕ!!!, если указать меньше - ваш модуль "забанят" на "Народном мониторинге"). Копируем ваш ID в блокнот, нажимаем "SET" и "SEND NOW". После появления надписи "Server Reply:OK" ваши показания были успешно переданы на "Народный мониторинг".
Переходим на сайт "Народного мониторинга" narodmon.ru. Регистрируемся, если ещё не зарегистрированы. Входим в свой "Профиль" - "Мои Датчики" - "Добавить".
Вводим ID СВОЕГО модуля сохраненный в блокнот на предыдущем этапе.
Ф С Ё. Теперь можно разместить датчик температуры за окном, указать его на карте в настройках доступа сделать публичным и произвести прочие настройки на сайте для вашего удобства.
График колебаний температуры будет сохраняться в течении года, что очень удобно. Теперь из любой точки Мира вы можете зайти на сайт narodmon.ru, открыть карту и посмотреть температуру ОНЛАЙН (Динамику за день, неделю, месяц, год).
Здесь можно посмотреть пример одного из моих погодных датчиков: https://narodmon.ru/6128
Все что написано в этом посте так же подробно и пошагово описал и показал на своём Ютуб-канале в этом видео:
Всем ДОБРА и крепкого ЗДОРОВЬЯ! ;-)