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

Погодный монитор BIM

Представляю вниманию читателей "Монитор погоды" - устройство способное отображать прогноз погоды из интернета на миниатюрном дисплее.

V1.0 V2.3 V2.6
screen screen screen

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

Потратив некоторое время на "гугление", я пришел к выводу что прибор который мне нужен нигде не продается, а точнее я вообще не нашел ничего подобного, а может я плохо искал. И так как у меня есть радиолюбительские навыки создания всевозможных электронных приборов своими руками, было решено придумать свой прибор. На тот момент, самодельные устройства было принято подключать к интернету проводом LAN через модуль на микросхеме ENC28J60, или без провода через WiFi модуль ESP8266. Естественно выбор был сделан в пользу последнего. Потому что: во-первых, без проводов в тесной квартире проще разместить прибор, а во вторых, данный WiFi модуль не нуждается в дополнительном микроконтроллере так как уже содержит довольно мощный 32 битный 80 МГц микроконтроллер. Выбор сделан, осталось только придумать схему, написать прошивку, отладить, собрать и прошить... Самые простые действия я уже сделал, вам остается только собрать и прошить.

Устройство работает следующим образом: при включении оно подключается к вашей домашней WiFi сети (или к соседской), скачивает прогноз погоды с сайта http://openweathermap.org, или с http://wunderground.com и показывает его на небольшом дисплее, затем устройство синхронизирует часы с NTP сервером time.windows.com, далее устройство считывает показания встроенного датчика температуры и влажности воздуха "в доме" и также показывает его значение на дисплее. Затем, спустя несколько минут, устройство уходит в глубокий сон, в целях экономии заряда аккумулятора.

Схема устройства очень простая и доступна для повторения даже начинающему радиолюбителю.

Нажмите на картинку, чтоб увеличить

Schematic

Зеленым отмечены детали, которые нужно устанавливать, если питать прибор планируется от аккумулятора.
Синим, если прибор будет питаться только от сети.
Некоторые модули ESP12 попадаются с перепутанными выводами GPIO4 и GPIO5, на этот случай предусмотрены резисторы обозначенные красным и серым цветом. Установите или "красные" или "серые".
Если на Вашем модуле дисплея есть транзистор управления подсветкой - установите резистор отмеченный бирюзовым цветом. Если нету - придется установить транзисторную сборку и резистор отмеченные фиолетовым, чтоб не спалить вывод ESP8266.
Желтым отмечены датчики температуры и/или влажности, которые можно не устанавливать, или установить только те что нужны.


Сердцем устройства является модуль ESP-12E, у него должно быть 8 Мбит (или 1 Мбайт) флеш-памяти, если меньше - прошивка не влезет. Уточните у продавца перед покупкой.

Нажмите на картинку, чтоб увеличить

ESP-12E
Дисплей тоже в модульном исполнении, 2.8 дюймов, SPI, 3.3 вольта. В данный дисплейный модуль встроен преобразователь напряжения 5 -> 3.3 вольта который нужно отключить запаяв перемычку J1 показанную на рисунке.

Нажмите на картинку, чтоб увеличить

ILI9341
Преобразователь USB->UART на микросхеме CP2102 тоже в модульном исполнении. Так как модуль легче паять, чем микросхему, стоимость модуля меньше, и не нужно заморачиваться с обвязкой.

Нажмите на картинку, чтоб увеличить

CP2102
Для зарядки встроенного Li-pol аккумулятора используется микросхема TP4056. Также, по причине низкой стоимости и неохотой заморачиваться с обвязкой применен модуль. Перед установкой модуля с него желательно снять разъем mini/micro-USB, так как он в данном устройстве не нужен. Заряжать устройство будем через micro-USB разъем который на модуле CP2102.

Нажмите на картинку, чтоб увеличить

TP4056
Все модули и остальные дискретные элементы смонтированы на односторонней печатной плате. Плата изготовлена по ЛУТ технологии, ее изготовление не должно вызвать трудностей, так как ширина дорожек и расстояние между ними довольно большое.

Нажмите на картинку, чтоб увеличить

board

3d модель платы, можно вращать, приближать


Список примененных деталей

Позиция Номинал Корпус Внешний вид
U1 ILI9341 2.8' Module ILI9341-2.8
U2 ESP12E Module ESP12E
U3 TP4056 Module TP4056
U4 CP2102 Module CP2102
U5 TPS73633DBVT SOT23-5 SOT23-5
U6 AMS1117-3.3 SOT223-3 AMS1117-3.3
U7 DHT22 DHT22
U8 BME280 Module BME280
U9 DS18B20 TO-92 DS18B20
Q1 IRF9952
Или любая транзисторная сборка N+P канал.
SO8 SO8
D1,D2 BAT54J
Или любой диод Шоттки
SOD323 SOD323
R1,R2,R3,R4,R5 220R RES 0805 R0805
R6,R7,R8,R12 4.7k RES 0805 R0805
R10,R11 10k RES 0805 R0805
R13 220k RES 1206 R1206
R14 47k RES 0805 R0805
R15,R17,R21 перемычка RES 0805 R0805
R16,R18 100k RES 0805 R0805
R22,J1,J2,J3,J4,J5 перемычка RES 1206 R1206
R9,R19,R20 220R RES 1206 R1206
C1,C6,C7,C8,C10 100nF 10V CAP 0805 C0805
C2,C9,C11 10uF 10V CAP 1206 C1206
C3,C4,C5 220uF 6V CAP 7343 TYPE D C7343
S1,S2
S3 SK12D07 SK12D07


После сборки, гаджет необходимо прошить. Воспользуйтесь инструкцией по прошивке.

Переходим к настройке гаджета:
Нажимаем и отпускаем кнопку RESET, нажимаем и удерживаем кнопку SETTINGS до тех пор пока на экране гаджета не появится инструкция по входу в режим настроек.


Нажмите на картинку, чтоб увеличить

settings


Берем ноутбук, планшет, или смартфон и подключаем его к сети "WeatherMonitor", пароль по умолчанию "1234567890"

Открываем браузер и переходим по адресу http://192.168.4.1

Нажмите на картинку, чтоб увеличить

settings

На странице настроек необходимо настроить следующие опции:
  • 1. Система измерений. Метрическая: температура измеряется в градусах Цельсия, а скорость ветра в метрах в секунду. Имперская: температура измеряется в градусах Фаренгейта, а скорость ветра в милях в час.
  • 2. Атмосферное давление. Измерять в миллиметрах ртутного столба, или в гектопаскалях.
  • 3. Формат часов отображаемых на дисплее.
  • 4. Адрес уличного датчика. Если у Вас есть уличный датчик впишите сюда его адрес, если нету - оставьте это поле пустым.
  • 5. Выберите каким датчиком измерять температуру в доме, датчик должен быть подключен.
  • 6. Выберите каким датчиком измерять влажность воздуха в доме, датчик должен быть подключен.
  • 7. Список сохраненных WiFi сетей. Гаджет подключится к любой из сохраненных сетей, если таковая найдется в радиусе действия. Всего можно сохранить до 10 сетей. Удалить лишние можно нажав на крестик.
  • 8,9. Добавить в список новую сеть. Если сеть с таким именем уже есть в памяти - она просто обновится, например так можно поменять пароль сети. Наведите курсор мыши на поле и выберите в выпадающем списке свою сеть, или просто впишите и нажмите "сохранить", чтоб добавилась очередная сеть.
  • 10. Выберите "Динамический IP" если у Вашем роутере включен DHCP сервер (подходит большинству). При выборе "Статического IP" появятся еще три поля: "IP адрес", "маска подсети" и "шлюз по умолчанию", заполните их в соответствии трбованиям Вашей сети.
  • 11. Выбор источника прогноза погоды.
  • 12. Ваш город. Введите название Вашего города, транслитом, в международном формате. Если источник прогноза погоды выбран http://openweathermap.org - можно вписать название города и по русский, русскими буквами. А если http://wunderground.com - то только транслитом, или можно вписать слово "auto" тогда Ваш город найдется сам.
  • 13. APPID полученный после регистрации на сайте http://openweathermap.org, или API key с сайта http://wunderground.com.
  • 14,15. Думаю тут итак понятно.
  • 16,17. Если у Вас несколько мониторов погоды, удобнее будет различать их, назначив каждому свое имя сети, ну и безопаснее будет сменить пароль по умолчанию.
  • 18. Выберите язык веб инетрфейса настроек, вместе с ним сменится и язык монитора погоды.
  • 19. Яркость днем и ночью, из названия итак понятно без объяснений.
  • 20. Время, спустя которое монитор погоды уснет, можно выбрать "никогда".
  • 21. Напряжение батареи. Измерьте вольтметром напряжение аккумулятора и подстройте слайдером и/или цифрами, чтоб напряжение отображаемое вольтетром и в браузере совпадали.
  • 22. Символ батареи, напряжение в вольтах, или ничего. Выберите, как Вы желаете видеть инфомацию об уровне заряда аккумулятора.
  • 23. После нажатия этой кнопки дождитесь появления сообщения "сохранено", после этого перезагрузите монитор погоды, чтоб новые настройки вступили в силу.


Корпус устройства напечатан на 3d принтере и состоит из нескольких деталей разного цвета, склеенных между собой суперклеем. Внешний вид напоминает старый телевизор, даже "антенны" присутствуют. Одна из "антенн" это DS18B20 датчик температуры, он вынесен за пределы корпуса, чтоб показания его были более правдивы. Вторая "антенна" это любой транзистор, никуда не подключенный, декоративный.

Ну и на последок несколько фоток получившегося гаджета

Нажмите на фотку, чтоб увеличить. Нажмите вправо/влево чтоб посмотреть следующую фотку

photos

3d модель платы в сборе, можно вращать, приближать


3d модель собранного устройства, можно вращать, приближать


Небольшой видеоролик работы гаджета



[10.04.2017] Прошивка v1.0 (Скачиваний: 59)
Первая, глюкнутая (не рекомендуется).

[24.04.2017] Прошивка v1.1 (Скачиваний: 72)
Если гаджет питается от сети, включен всегда, режим сна не нужен.

[01.05.2017] Прошивка v1.2 (Скачиваний: 57)
Можно отключить режим сна, или настроить время, через которое гаджет уснет.

[13.05.2017] Прошивка v1.3 (Скачиваний: 58)
Добавлена возможность подключения к скрытой сети, и ввод IP адреса вручную.

[02.06.2017] Прошивка v2.0 (Скачиваний: 58)
Появилась возможность подключить беспроводной уличный датчик.

[04.06.2017] Прошивка v2.1 (Скачиваний: 54)
Ширина поля с часами теперь равна ширине поля с домиком (на экране).

[10.06.2017] Прошивка v2.2 (Скачиваний: 67)
Можно сохранить до 10-и WIFi сетей, монитор погоды сам подключится к одной из них.

[16.06.2017] Прошивка v2.3 (Скачиваний: 64)
Существенно переработан дизайн экрана. Все значимое стало крупнее: значения, картинки, часы.
Если у Вас есть уличный датчик - в левом верхнем углу отобразится уровень заряда батареи датчика, а справа от температуры, влажности, давления отобразятся синие круги, если эти параметры взяты с датчика.
Теперь, если включен режим "без сна" - данные о погоде обновляются каждые три минуты.

[23.06.2017] Прошивка v2.4 (Скачиваний: 56)
Если соединение с точкой доступа потеряется, монитор погоды покажет перечеркнутую антенну и попытается восстановить соединение. Если в разумный период времени соединение восстановить не удастся, вместо прогноза погоды отобразятся прочерки, при этом гаджет будет продолжать попытки восстановить соединение.

[16.07.2017] Прошивка v2.5 (Скачиваний: 62)
Исправлена некорректная работа страницы настроек во многих известных браузерах. Работоспособность страницы настроек протестирована в браузерах: Google Chrome, Opera, Firefox, Internet Explorer 8-11, Microsoft Edge. В операционных системах: Windows XP, 7, 8.1, 10, Android 4.1, 4.2, 5.0, 6.1, Ubuntu 16.04.

[10.09.2017] Прошивка v2.6 (Скачиваний: 109)
Новый дизайн, автор дизайна "почемучка".
Добавлен литовский язык, автор перевода "detale".
Добавлен эстонский язык, автор перевода "MOHCTEP".
Исправлена ошибка, стрелка направления ветра больше не указывает в обратную сторону, спасибо "vladimirk68".
Добавлен новый параметр "точка росы" спасибо "m169".
Некоторые иконки погоды теперь разные для дневного и ночного режимов.

[07.10.2017] Прошивка v2.6.1 (Скачиваний: 89)
Исправлена ошибка, температура в доме не обновлялась.

[24.11.2017] Прошивка v2.7 (Скачиваний: 91)
Добавлен украинский язык, автор перевода "nbo".
Яркость подсветки теперь можно регулировать отдельно для дневного и ночного режимов.
Напряжение аккумулятора теперь измеряется в вольтах (измерьте реальное напряжение и подкорректируйте, если нужно).

[22.12.2017] Прошивка v3.0 (Скачиваний: 63)
Добавлен выбор источника прогноза погоды, кроме openweathermap.org теперь можно брать погоду и с wunderground.com. В этом случае прогноз по дням формируется при помощи сайта esp8266.atwebpages.com, так как у модуля ESP8266 не хватает памяти на парсинг такого объема информации.
Добавлена поддержка датчиков температуры и влажности воздуха DHT22 и BME280.
Уровень заряда аккумулятора можно отображать в виде пиктограммы или лицезреть напряжение цифрами (на эране), или вообще отключить отображение заряда.
Описания погоды ("Облачно", "Снег с дождем" и т.д.) с сайта openweathermap.org теперь переведены на русский язык переводчиком и стали более осмысленными, спасибо "vladimirk68".
Если включен режим без сна - обновление погоды происходит раз в 20 минут.

[25.12.2017] Прошивка v3.1 (Скачиваний: 90)
Так как с октября 2017 (вроде) openweathermap.org перевел API прогноза погоды по дням на платную основу, у многих кто зарегистрировал APPID ключ позже сентября не показывал прогноз по дням. В данной версии прошивки прогноз по дням формируется из почасового прогноза, который остался бесплатным. И формируется он при помощи сайта esp8266.atwebpages.com, так как у модуля ESP8266 не хватает памяти на парсинг такого объема информации.

[11.03.2018] Прошивка v3.2 (Скачиваний: 47)
Добавлена возможность считывания данных уличного датчика напрямую, без роутера и выхода в интернет.
Добавлен азербайджанский язык, автор перевода "Anar".
Температура в доме и на улице округляется до целых градусов.

[18.03.2018] Прошивка v3.3 (Скачиваний: 33)
Добавлен белорусский язык, автор перевода "Дмитрий".

[26.03.2018] Прошивка v3.4 (Скачиваний: 58)
Исправлен баг с переходом на летнее время, точнее с отменой этой перехода.

Форум
Схема в формате DipTrace
Печатная плата в формате DipTrace
Печатная плата в формате SprintLayout 6
Печатная плата в формате Gerber
Исходники
Корпус