Выводим прогноз погоды на дисплей

    image

    Добрый день всем!


    Раньше, чтобы посмотреть прогноз погоды, я обычно заходил на разные метеорологические сайты, потом с приходом разнообразных виджетов я мог узнать погоду, просто посмотрев на рабочий стол. В данный момент я решил изготовить небольшой девайс с экраном, на который может выводиться прогноз погоды с какого либо сайта. Думаю, сейчас наиболее актуально быть в курсе изменений погоды. Потому я решил опубликовать описание устройства на хабре, может кто-то захочет повторить эту конструкцию.


    Железо

    Собственно устройство состоит из двух частей:
    1. Программа для ПК
    2. Сам девайс с прошивкой
    Чтобы выводить информацию о погоде я купил дисплей MT16S4 фирмы МЭЛТ (http://melt.com.ru)
    В качестве контроллера был выбран ATtiny2313, он как раз подходит для небольшого приложения, у него мало выводов, да и дома он у меня был в наличии. Подключать к ПК своё устройство я решил через COM порт с помощью микросхемы MAX232 – рассказывать о том, как она работает я не буду – об этом уже упоминалось на хабре, да и в интернете полно статей на эту тему. Стоит отметить: чтобы контроллер без ошибок работал с интерфейсом RS-232, нужно использовать кварцевый резонатор с частотой 7,3728 МГц (т.к. максимальная частота этого МК — 8 МГц).
    Дисплей к контроллеру нужно подключать таким образом:
    PB0 — A0
    PB1 — R/W
    PB2 — E
    PB4 — DB4
    PB5 — DB5
    PB6 — DB6
    PB7 — DB7
    Выводы дисплея DB0-DB3 остаются неподключенными, т.к. мы используем 4-ёх битную шину – так экономятся выводы микроконтроллера.


    DSC03706

    DSC03708
    Всю схему я питаю от USB порта.

    Софт

    Прошивка для МК была написана в CodeVision AVR, т.к. в нём уже есть готовые библиотеки для дисплея (МЭЛТовский дисплей совместим с контроллером HD44780)
    МК принимает данные с ПК, обрабатывает дежурные символы и в соответствии с ними выводит информацию на дисплей.
    Программа на ПК каждый час считывает информацию с сайта gismeteo.ru
    и передаёт необходимые данные в COM порт. Информацию о погоде можно узнать на сутки вперёд
    В самой программе есть настройки скорости подключения и номера порта к которому собираемся подключаться, кнопки «<<» ,«>>» позволяют выводить на дисплей прогноз на разное время суток.
    1
    Все опции сохраняются в INI файле. Программку можно свернуть в трей и она будет сама обновлять данные для вывода на дисплей. Так же из трея доступно меню в котором можно выбрать на какое время суток будет выводиться прогноз.
    2
    Изначально программа скачивает данные для Москвы, но можно указать и другой город. Для этого нужно пройти по ссылке informer.gismeteo.ru/getcode/xml.php?id=27612 — выбрать необходимый город, будет сгенерирована ссылка, которую нужно скопировать и вставить в ini-файл в строку «Town».

    Прогноз на дисплей выводится в формате:
    строка 1: Дата и день недели
    строка 2: Время суток и температура
    строка 3: Облачность
    строка 4: Тип осадков
    DSC03711

    Даташит на дисплей
    Исходники прошивки
    Исходники программы
    Программа для ПК

    Вот вроде бы и всё. Девайс уже работает 3-й день и меня устраивает.
    В будущем хочу приделать цветной экран, подключить к USB и получится этакий реальный виджет.

    Удачи всем!
    Поделиться публикацией

    Комментарии 83

      +6
      Классно! Очень актуально :) Степени задымленности не хватает :)
        0
        жжош…
        правда, грустно. лето, гулять охота
          +36
          Есть! Если дисплей не видно, значит задымлённость сильная…
            +7
            Если дисплей не видно, скорей всего горит уже не лес, а ваш дом…
          0
          Как бы это дело реализовать при помощи сим карты, или прочего дистанционного?
            0
            Что именно имеете ввиду?
              0
              Я имею в виду то, что погоду дома можно посмотреть как по телевизору так и по n-ному числу приборов, а вот вне дома, где нет компьютера и прочих устройств
                +1
                Ну такое возможно, только в телефоне уж точно проще в интернет войти =)
                  +1
                  А установить приложение в телефон с прогнозом погоды не судьба?
                  +5
                  Имеется в виду, что без компьютера этот «реальный виджет» абсолютно бесполезен. А если уж есть компьютер — проще посмотреть на обычный виджет на мониторе.
                    +1
                    Ну я же не навязываю ;) Мне так проще — кинуть взягляд на дисплей, чем сворачивать окна
                      0
                      Устройство было бы намного полезнее, если бы, например, управляло кондиционером.
                        +1
                        К сожалению, у меня нет кондиционера. Кондиционеры сами имеют на борту термодатчик и регулируют температуру в комнате. Моё устройство скачивает прогноз, а не измеряет температуру за окном.
                          0
                          >К сожалению, у меня нет кондиционера.
                          У меня тоже, тоже к сожалению :)
                          >Кондиционеры сами имеют на борту термодатчик и регулируют температуру в комнате.
                          Не все, самые дешевые так не умеют, вот к ним бы это была неплохая доработка.
                          >Моё устройство скачивает прогноз, а не измеряет температуру за окном.
                          Ну, на гисметео показывается не только прогноз, а ещё и текущая температура. Хотя местный датчик лучше, спору нет.
                            0
                            >Не все, самые дешевые так не умеют, вот к ним бы это была неплохая доработка.
                            Возникает тогда проблема в универсальности — один датчик не подошёл бы к кондиционерам разных производителей
                            >Ну, на гисметео показывается не только прогноз, а ещё и текущая температура. Хотя местный датчик лучше, спору нет.
                            Текущую тоже показывает, но не местную
                              0
                              >Возникает тогда проблема в универсальности — один датчик не подошёл бы к кондиционерам разных производителей
                              Почему? Тупо реле вкл-выкл. Хотя тут уже без датчика температуры явно не обойтись, т.к. непонятно, когда же «выкл.» без него.
                              Я в Севастополе отдыхал недавно, снимал частный домик. Там был дешевый и древний наоконный кондиционер, который морозил в общем-то хорошо, но вот как раз регулировки ему очень сильно не хватало.
                              А так я в общем-то не наезжаю на разработку, полезно. Просто надо дальше думать, чтобы устройство приносило максимальную пользу. Просто показывать погоду — это из пушки по воробьям.
                                0
                                Я думал о том, чтобы регулировать работу кондиционера, а не просто вкл.\выкл. :)
                                  0
                                  Ну в конечном счете там и есть вкл./выкл., просто по встроенному датчику температуры. Можно конечно еще регулировку интенсивности прикрутить, но это уж на любителя. И универсально не получится, действительно.
                                    0
                                    в инверторных кондиционерах по-другому, там автоматически регулируется мощность компрессора
                +3
                Интересно, но в данном виде совершенно бесполезно, ведь питается и получает данные от компьютера. Проще кинуть взгляд на виджет на рабочем столе…

                Конечно, можно вывести экран в прихожую, например. Однако перед выходом на улицу, в большинстве случаев, нужно знать текущую температуру/будет ли дождь в ближайшее время, с этой задачей отлично справляются китайские электронные термометры (база находится в прихожей, а за окном передатчик).
                  –5
                  Arduino + BT Shield решат проблему :)
                    +1
                    У меня была идея прикрутить модуль wi-fi, можно потом попробовать
                    0
                    Хочу аналогичное сделать, но вы меня опередили, мой дисплей еще где то почтой едет)
                      0
                      Еще не плохо будет, если прикрутить датчик температуры и чередовать показ температуры с датчика и с интернета.
                        0
                        В процессе =)
                          0
                          А если еще просчитывать среднее между датчиком и интернетом — будет идеально! :)
                            0
                            ЗЫ — и высчитывать прогноз — тогда, локально, в вашей квартире или на даче — вероятная точность прогноза повысится до минимум 70 процентов :)
                        –11
                        Linux + Docky
                        ===
                        habreffect.ru/files/22f/96a838be5/weather1.png
                        habreffect.ru/files/345/fb3db1829/weather2.png

                        Не находите что так даже проще?
                          +1
                          Похоже, что у меня есть Linux?
                          Я же писал, что никому не навязываю. Я захотел, чтобы было так, мне так удобнее. Потом опубликовал — вдруг кому-то тоже так окажется удобно.
                          habrahabr.ru/blogs/DIY/101215/#comment_3134677 — вот человек тоже такое хочет сделать.
                            –1
                            Я Вам тоже своё решение не навязываю, это конечно всё очень здорово что вы собрали свой дисплей но стоит это того? Гораздо проще просто кинуть взгляд вниз монитора.

                            Уверен что нечто подобное есть для Windows тоже…
                              0
                              >Гораздо проще просто кинуть взгляд вниз монитора.
                              На вкус и цвет товарищей нет.
                                +6
                                В таких вещах главное процесс и автор со мной согласится.
                                  –2
                                  Ну если только just 4 fun то да.
                                    +1
                                    Мысли мои читаете :)
                                    0
                                    Если нет, то стоит сделать.
                                      0
                                      но кто-то же должен не только созерцать, но и создавать ;)
                                        +1
                                        ну так сюда можно не только погоду выводить
                                        представьте. смотрите вы фильм и… не сворачивая окно можете посмотреть информацию типа прогноза погоды. чем плохо?
                                        автору +
                                      0
                                      Не находите, что такую же ерунду можно сделать под Windows?
                                      Не находите, что такую же ерунду можно сделать просто в браузере?
                                        –1
                                        Вы делайте, делайте, меня можно не спрашивать.
                                      +1
                                      >>> В будущем хочу приделать цветной экран, подключить к USB и получится этакий реальный виджет.
                                        0
                                        что-то глюкануло…

                                        дубль два.

                                        интересная идея для гиков.
                                        Сделать панель, на которую крепить маленькие дисплеи, а-ля, виджеты, которые могут что-нибудь показывать — погоду, пробки, уведомления о почте и т.п.
                                          0
                                          У Лебедева разве нет такого? Или у него только клавиатура?
                                            +3
                                            такая штука уже давно есть — поддерживают тьму дисплеев, на форуме есть со схемами и примерами, встроенный язык, куча «скинов», заготовок, скриптов, можно заставить отображать что угодно! и главное что спустя многие годы продолжает развиваться. как то еще в далеких 2000х годах делал перевод lcdhype, но потом что то забросил
                                            называется lcdhype
                                            Форум
                                            последняя версия софта
                                            вот например та же погода:

                                            взято из галереи

                                            Если народ подскажет, где взять не особо дорого дисплейчик с приличным разрешением, буду рад спаять себе игрушку )))
                                              0
                                              >>Если народ подскажет, где взять не особо дорого дисплейчик с приличным разрешением, буду рад спаять себе игрушку )))
                                              На dealextreme посмотрите, видел различные мониторы там.
                                            0
                                            Как раз такое и думаю сделать, только все на одном дисплее.
                                          +1
                                          Эх купить бы где такое, с цветным экраном, и по возможности с Wifi цены бы не было…
                                            0
                                            Цветной экран будет, нужно только найти подходящий. Про Wi-fi пока сложно сказать.
                                            Продаваться будет
                                              –1
                                              В смысли ты на продажу делать будешь?
                                                0
                                                Если всё получится, да
                                                  0
                                                  Можно поинтересоваться ценой?
                                                  просто я себе представляю такое устройство как устройство с Wifi (самым дешевым и медленным чипом) которое лазит на сайты погоды и получает прогноз
                                                    0
                                                    Думаю, что не меньше 2000 р.
                                                      0
                                                      Было бы интересно если действительно такая цена будет… особено если это будет отдельное устройство…

                                                      Поставил на холодильник или еще куда а оно само погоду получает)
                                                        +2
                                                        ого, за эти деньги можно купить китайский планшет/нетбук с вайфаем и прочими плюшечками. Для виджет-прибора выйдет неплохо.
                                                0
                                                Такие устройства есть в продаже и называются коммуникаторами :) Правда цена не радует.
                                                  0
                                                  А должно быть что то вроде цифровой фоторамки… и по цене тоже
                                                    0
                                                    Слишком узкая ниша, имхо. Я думаю, для большинства такая штука будет «Прикольной фиговиной, которую можно купить в подарок. А себе — ни в жисть» :)
                                                      0
                                                      Некоторые фоторамки уже умеют притворяться внешними дисплеями. Цена тысяч от 4.
                                                        0
                                                        0
                                                        Там много ненужных функций: телефон, смс, офис… :)
                                                          0
                                                          Телефон и смс можно выкинуть — будет Ipad :)
                                                        +1
                                                        Лучше, наверное, с Bluetooth. Жрать энергии меньше будет, а по радиусу действия как раз на квартиру. К тому же, «Все становится лучше с Bluetooth» =)
                                                          +1
                                                          старенький кпк с Wifi сейчас можно купить долларов за 40-50, остается только написать к нему софт

                                                          При разработке автономного устройства нужно городить как минимум, свой стек tcp/ip для выбранного микроконтроллера, дешевая tiny тут уже не сгодится, по хорошему, нужен ARM.
                                                          Экран в Китае стоит около 25-30 долларов. wifi-модуль, думаю, тоже не меньше 10 баксов.
                                                          Итог. Данная разработка мне понравилась, а вот городить автономное устройство да еще и с перспективой на продажу затея, как мне кажется, сомнительная…
                                                          +2
                                                          Ну вообще упомянутые выше фоторамки это умеют, плюс кучу всего полезного и вайфай и локальная метеостанция и видео и музыка и тд и тп
                                                          А так то да, паять ради удовольствия это хорошо
                                                            0
                                                            Солнечных выходным всем!
                                                              +2
                                                              Хочу снег и прохладу :(
                                                                0
                                                                да я и +25 днем буду рад)
                                                              0
                                                              Не пойму привязанности к именно погодному функционалу. Если штука неавтономная (страницу фетчит и парсит комп), то я бы сделал просто возможность выводить произвольные данные.
                                                                0
                                                                Таких проектов валом. Было интересно сделать именно такой функционал, да и мне полезно. =)
                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                  0
                                                                  Скажу что можно выводить на такие дисплеи:
                                                                  • — погоду
                                                                  • — загрузку ЦПУ удалённого сервера
                                                                  • — статистику сайта
                                                                  • — число новых писем/статей на Хабре
                                                                  • — время до окончания работы
                                                                  • — пробег мыши и число кликов
                                                                  • — your_name_it

                                                                  Короче — то что на _рабочем_ экране отвлекает, но на что изредка любопытно взглянуть
                                                                    0
                                                                    Живете завтрашнем днём? Последняя картинка улыбнула :)
                                                                      0
                                                                      Ну так прогноз показывается не только текущий, но и на сутки вперёд
                                                                      0
                                                                      Было бы действительно интересно сделать эдакий экранчик с разными виджетами + обновление по WiFi / 3G… Но боюсь, что ценник станет серьезным сразу. А так, сделать бы как часы на стену + погоду + фотографии + календарь и т.д. Было бы супер. И при этом ценник в 3 тыс. руб.
                                                                        0
                                                                        Китайские MIDы на Android примерно так и стоят, но и выполняют огромное кол-во функций.
                                                                          0
                                                                          У вас есть опыт использования этих девайсов? Можете подсказать где и какие можно купить?
                                                                            0
                                                                            Опыта использования нет, но изучаю товар с интернет магазинов, читаю отзывы и смотрю обзоры.
                                                                        0
                                                                        а как это у автора уже завтра если все еще сегодня?
                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                          +1
                                                                          Wi-fi + цветной дисплей + питание от маленькой батарейки и вот я уже хочу этот девайс!
                                                                            0
                                                                            вай фай и маленькая батарейка очень маловероятно.
                                                                            0
                                                                            Заменить RS-232 на 422 или 485, модифицировать программу, и можно вместо малополезного (в коммерческом смысле) прогноза погоды получить более-менее универсальный индикатор для промышленного применения. При разумной цене даже возможен спрос.
                                                                              0
                                                                              На какойнибудь здоровый телефон такое прикрутить, подпитать от аккамулятора и всё :)

                                                                              Ведь так сложно поставить виджет на телефон))

                                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                              Самое читаемое