Апгрейд погодной станции на ESP8266 + WiFi-IoT - выводим на дисплей "домашнего" модуля данные датчиков с "уличного" модуля
Привет Пикабу!
Кому лень читать "мнОого букОв" - в самом низу поста есть его видеоверсия ;-)
В одном из предыдущих видео на своём канале я рассмотрел погодную станцию на базе модуля ESP8266 и конструктора прошивок «WiFi-IoT» полностью собранную в корпусе для размещения на улице, т. е. она не имела дисплея. Параметры датчиков с неё я мониторил на своём телефоне через сервис «Народный мониторинг». Это не всегда удобно, и хотелось иметь стационарный дисплей с погодными данными, размещённый в комнате или на кухне, коридоре. В предыдущем посте я рассмотрел такой вариант на базе дисплея TM1637, а до этого на базе дисплея LCD1602. Но здесь есть недостаток – это длинный провод датчика температуры, который идёт от станции за окно. Решений данной проблемы на самом деле несколько, например на комнатном модуле с дисплеем брать данные с «Народного мониторинга», которые туда отправил уличный модуль. Но более простым способом будет взять данные с уличного модуля и вывести на комнатный с дисплеем в локальной сети, а не через многокилометровый путь интернет сервера. В конструкторе прошивок «WiFi-IoT» для этого есть функционал «Virtual SENS» и «Датчики GET запросом», настройку которого мы сейчас и рассмотрим.
Первый этап.
В прошивке (профиле) своего «Уличного» модуля на сайте WiFi-IOT.com добавляем (ставим галочку) «Датчики GET запросом» в разделе «Системные». Нажимаем клавишу «Сохранить изменения» и «Скомпилировать».
В веб-интерфейсе "Уличного" модуля во вкладке «Firmware_update» жмём «Fast OTA !»
После успешного обновления переходим по адресу http://[ip адрес модуля]/sensors и здесь мы должны увидеть строку подобного вида (мой вариант):
hostname:ESP00903A69;bmet:-13.0;bmeh:48.8;bmep:773.62;dsw1:-14.43;bh:1260;
где нумерация начинается от hostname:ESP00903A69 - первая метрика;
bmet:-13.0 – температура с датчика BME280 – вторая метрика;
bmeh:48.8 – влажность с датчика BME280 – третья метрика;
bmep:773.62 – давление с датчика BME280 – четвертая метрика;
dsw1:-14.43 – температура с датчика DS18B20 – пятая метрика;
bh:1260 – датчик освещённости – шестая метрика;
Второй этап.
В прошивке (профиле) своего «Комнатного» модуля с дисплеем добавляем (ставим галочку) «Virtual SENS» в разделе «Сервисы». Нажав на шестерёнку, указываем нужное количество модулей и датчиков с них (у меня будет один модуль и 5 датчиков с него), а также порт, если доступ к удаленному устройству будет через интернет (не в локальной сети). Нажимаем клавишу «Сохранить изменения» и «Скомпилировать».
В веб-интерфейсе "Уличного" модуля во вкладке «Firmware_update» жмём «Fast OTA !»
Дожидаемся обновления. И на главном экране в сенсорах у нас появятся виртуальные датчики с «Уличного» модуля, но пока они будут выдавать ошибку, т.к. не настроены.
Для настройки переходим во вкладку «VSENS», здесь указываем IP-адрес «Уличного» модуля
Для удалённого доступа вне локальной сети Вам нужно будет указать статический адрес вашего маршрутизатора, на котором при необходимости переназначить и пробросить порт, который указываем здесь.Далее указываем метрики нужных нам датчиков с "Уличного" модуля. (см. Первый этап)
Нажимаем "Set" и "Main" - переходим на главный экран, где через время опроса второго модуля равного 60 секунд появятся параметры "Уличного" модуля.
Теперь Вы их можете вывести их на дисплей ТМ1637 перейдя во вкладку "7SEGM", если собирали "Домашний" модуль по моему предыдущему посту:
Или через "Конструктор строк", используя топик _VSyx_ где "у" и "х" это параметры виртуального сенсора, если вы собрали "Домашний" модуль на базе дисплея LCD1602 по моему этому посту (видео).
Для этого переходим во вкладку "Designer_lines" и указываем нужный текс и параметр виртуального сенсора. Пример:
Вот и В С Ё !!! ;-) Ниже видеоверсия этого поста:
Всем бобра! ;-)