Термометр с прогнозом погоды



    С рождением ребёнка существенно повышается внимание, уделяемое погоде на улице: если сам ты можешь выйти на улицу в чём придётся, и немножко помёрзнуть или промокнуть, не взяв зонтик, то родительский инстинкт просто не даст причинить неудобство твоему ребёнку. Спасибо современным технологиям, — температуру на улице и прогноз погоды можно в любой момент посмотреть на специальных сайтах (вроде pogoda.mail.ru или pogoda.yandex.ru).

    И всё было бы хорошо, но в один прекрасный день я пообещал своей супруге повесить за окно обычный термометр — ей было неудобно открывать ноутбук, заходить на сайт и смотреть погоду там.

    Как говорится в известной пословице: мужик сказал, женщина напомнила, женщина напомнила, женщина напомнила, женщина задолбала, — мужик сделал.



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

    Однажды, делая заказ на сайте DX я наткнулся на достаточно маленький (7 дюймов) телевизор с VGA-входом и решил воплотить свою идею в жизнь.



    Непосредственно над входной дверью у меня в квартире есть небольшой шкаф, в котором я держал роутер, старый ноутбук, используемый как сервер, NAS и прочую «живность». Купленный мною телевизор-монитор вписался в этот зоопарк идеально.

    Дальнейшее описание достаточно тривиально, — большую часть можно смело опустить.

    Настройка сервера



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

    С иксами я не мучался и просто установил последнюю убунту (12.04), благо она оказалась LTS, да и стоявшую у меня для всяких тестов и разработки версию 8.04 давно пора было обновить.

    Страничку будем отдавать с помощью nginx'а:
    sudo apt-get install nginx
    


    А гененировать по крону с помощью Mojolicious — замечательного фреймфорка:
    curl get.mojolicio.us | sudo sh
    


    Вообще, можно было бы и страничку отдавать с помощью Mojo, запустив скрипт (с малейшими переделками) через morbo, но вариант с nginx и генерацией статического файла тоже имеет право на существование — таким образом мы всегда отдаём браузеру сгенерированную страницу и у нас не будет задержек, да и кэширование, в случае с несколькими клиентами не помешает.

    Создаём директорию, в которой будет лежать наша html-страничка:
    sudo mkdir -p /var/www/weather/
    sudo chown www-data:www-data /var/www/weather
    


    Сохраняем наш перл-скрипт:
    sudo curl https://raw.github.com/dreadatour/weather/master/weather.pl -o /usr/bin/generate-weather
    sudo chmod +x /usr/bin/generate-weather
    


    Добавляем в crontab строку для запуска скрипта. Для этого откроем файл /etc/crontab в любом текстовом редакторе:
    sudo vim /etc/crontab
    


    И добавим в конец следующую строку:
    * * * * * www-data /usr/bin/generate-weather > /var/www/weather/index.html
    


    Ждём, когда cron отработает и у нас появится файл с прогнозом погоды (файл будет обновляться раз в минуту):
    ls /var/www/weather/index.html
    


    Правим конфиг nginx /etc/nginx/sites-available/default:
    server {
    	listen 80;
    	server_name localhost;
    	root /var/www/weather/;
    	index index.html;
    }
    

    И рестартим его:
    sudo /etc/init.d/nginx restart
    


    Проверяем, что всё работает как надо:
    curl localhost
    

    (мы должны получить нашу html-страницу).

    Настройка системы



    В качестве менеджера окон выбор пал на Openbox (более тяжёлые WM ставить не было никакого смысла). Ставим его:
    sudo apt-get install openbox
    


    В качестве браузера поставим хром (а точнее его вариацию — chromium):
    sudo apt-get install chromium-browser
    


    Ставим утилиту «unclutter» — с помощью неё скрываем курсор мыши:
    sudo apt-get install unclutter
    


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

    Далее, создаём файл /usr/share/xsessions/chrome-session.desktop:
    [Desktop Entry]
    Name=chrome-session
    Comment=Weather
    Exec=/usr/bin/chrome-session
    


    И файл /usr/bin/chrome-session:
    #!/bin/sh
    openbox-session &  # запускаем openbox
    xrandr --output VGA1 --mode 800x600 &  # устанавливаем разрешение телевизора
    xset s blank &  # выключаем screensaver
    xset s 0 0 &
    xset -dpms &
    unclutter -idle 1 &  # прячем мышку
    chromium-browser --kiosk "http://localhost/"  # запускаем браузер и открываем страницу с прогнозом
    


    Браузер запускается в режиме «киоск» — в полноэкранном режиме.

    Разлогиниваемся, выбираем в списке сессий нашу «chrome-session», вводим пароль и попадаем на страничку с прогнозом погоды. На всякий случай для проверки перегружаем компьютер:
    sudo reboot
    

    всё должно работать.

    Не останавливаемся



    Вместе с телевизором я заказал тач-панель соответствующих размеров, но при установке её я благополучно всё испортил: благодаря кривизне моих рук при закручивании крепёжных винтов панель треснула и отказалась работать. Я уже заказал ещё одну панель и в следующий раз буду аккуратнее.
    В дальнейших планах — выводить на монитор пробки (удобно посмотреть их перед выходом, просто ткнув в экран), а так же другие плюшки, вроде изображения с дверного глазка, различных напоминаний и уведомлений.

    Исходный код скрипта и конфигурационных файлов системы выложены на гитхабе.
    Пример того, как это выглядит можно посмотреть тут: weather.dreadatour.ru
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 86

      0
      Мне тоже всегда хотелось что-то подобное, действительно напрягает включать ноутбук/компьютер только из-за этого.
      Останавливает пока что только необходимость держать постоянно включенный сервер.
        +2
        Скоро выйдет www.raspberrypi.org/ — отличный вариант для подобных штук.
          0
          Да, знаю. Приходится ждать альтернативные варианты, потому что Raspberry Pi довольно трудно достать.
            0
            Сейчас трудно — да, но чуть попозже на том же ebay, я думаю, их будет как грязи
            0
            давно уже вышел, а толку? хрен закажешь ибо разлетаются как пиво при просмотре футбола :-(
            +9
            Я со смартфона утром смотрю погоду, занимает секунд 10-15 :)
              +1
              Тоже вариант, но тут достаточно бросить взгляд — меньше секунды
                0
                Погода на лок-скрине и всегда под глазами :)
            +10
            Так же хорошим решением был бы дешевый планшет с андроидом. На DX можно купить от 70 баксов. И экран и ноутбук отдельный не нужно, + тач.
              +1
              Согласен, отличный вариант!
              +8
              curl get.mojolicio.us | sudo sh
              мой внутренний параноик упал и бьется в конвульсиях
                +2
                Ой, да ладно, разве внутренний параноик предварительно не сделает так?
                curl get.mojolicio.us -o install-mojo
                cat install-mojo

                и лишь потом:
                sudo sh install mojo

                Или нужно совсем уж очевидные вещи расписывать? ;)
                  0
                  опечатался, конечно же
                  sudo sh install-mojo
                –26
                image
                  +8
                  А вот, кстати, чтобы не быть голословным — покажите мне подобное промышленное решение?
                  Нет, правда, я бы купил с радостью — я уже стар и ленив для того, чтобы троллейбусы из хлеба делать ;)
                    +1
                    Oregon Scientific

                    ну и вообще, гугл по запросу «weather station» много находит
                      +8
                      Врёт, скотина такая ))
                      +1
                      дешевый планшет (меньше 100 баксов)
                      0
                      Меня тут нехило заминусовали. В связи с этим у меня вопрос — чем этот девайс лучше обычного уличного электронного термометра с выносным блоком? Ведь термометр можно так же прикрепить в прихожей, а датчик за окном, при этом температура будет более точная, а цена всего 700-1500 руб
                        0
                        Уличный термометр врёт, не показывает прогноз, его хуже видно издалека
                        плюс на него нельзя выводить пробки/камеру и прочее

                        см. фотку в моём комменте выше
                          +1
                          1. Что то я сомневаюсь, что это термометр врет, а не разница температур возле вашего дома и метеостанцией.
                          2. Прогнозам верить опасно
                          3. зачем на прогулке инфа о пробках?
                            0
                            1. Врёт. Поверьте мне, я проверял температуру с градусником в тени на улице, термометр в машине, термометр в соседнем доме — все они правильную (плюс-минус) цифру показывают. Нужно делать защиту от солнца, но это нереально — нагрев стен дома вносит огромную погрешность (пробовал закрывать градусник от солнца зеркалом). Более сложную схему городить — зачем? Меня устраивает то, что есть в интернете.

                            2. Никто не планирует на неделю вперёд гардероб, но общее представление на завтра можно получить. Обманут — ну и фиг с ними, не страшно.

                            3. Если едешь на машине, то перед выходом из дома удобно посмотреть пробки, чтобы представлять себе, как лучше ехать. Хотя бы общую картину.
                              0
                              1. Так может нормальный термометр купить?
                              2,3 на сколько я понял из статьи вся эта суета разводилась ради того, что бы жене не нужно было смотреть в коммуникатор перед прогулкой. Так при чем тут это?
                            0
                            Опять же, если прогноз показывает, что завтра ожидается солнечная погода — я могу поставить будильник на пораньше, чтобы поехать на работу на велосипеде. Если прогноз показывает ливень — встану попозже, поеду на метро. Удобно же.
                      +6
                      Как говорится в известной пословице: мужик сказал, женщина напомнила, женщина напомнила, женщина напомнила, женщина задолбала, — мужик сделал.

                        0
                        Кстати спешу заметить, что погода на сайте измеряется возможно далеко от вашего дома и иногда может существенно отличаться. Я вот до сих пор использую наружный термометр и текущую погоду смотрю на нём, а в интернете только прогнозы. Годный термометр с того же православного DX
                        +3
                        промахнулся(((((

                        Кстати спешу заметить, что погода на сайте измеряется возможно далеко от вашего дома и иногда может существенно отличаться. Я вот до сих пор использую наружный термометр и текущую погоду смотрю на нём, а в интернете только прогнозы. Годный термометр с того же православного DX
                          +1
                          да и прогнозам доверять на 100% — себя не уважать ;)
                            +5
                            На 100% я даже себе не доверяю ;)
                            0
                            У меня есть «погодная станция Oregon» с беспроводным датчиком (который я изначально планировал подключить к компьютеру и выводить на этот же монитор) — так вот, она врёт ;) Дом на солнечной стороне и закрепить датчик так, чтобы он показывал правильную температуру у меня не получатся (ну или руки кривые, опять же).

                            А по поводу «годного термометра» — я ещё в бородатые времена подключал DS1820 — всё это уже проходили. С проводом ну очень неудобно да и далеко.
                              +3
                              Вот как люди датчики изолируют от солнца…
                              http://www.ruralgeek.com/wpblog/?page_id=70
                              Основательная конструкция ))
                                0
                                Шикарная конструкция, я впечатлён
                                  0
                                  я намного проще поступил — два разных датчика (DS18B20), висят на противоположных сторонах дома. Один гарантированно в тени находится, т.е. минимальное показание является реальным.
                                +1
                                Ну дык осталось всего ничего купить датчик температуры и прикрутить его к страничке с прогнозом — прям напрашивается вариант.
                                  0
                                  У меня два датчика DS18B20 прикручены к роутеру DIR-620 (один в тени, второй на солнечной стороне), плюс простая страничка с отображением температуры — пока устраивает. А относительно погоды — в окно выглянул и понятно что и как.
                                  0
                                  Вот еще прикольный, показывает температуру снаружи, внутри, влажность. Выглядит классно. www.ebay.com/itm/160583499797?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_3632wt_1037

                                  Стоит всего 6,5 баксов
                                    0
                                    О, у меня вот прямо такой и есть. Правда куплен на DX и за 8-10 баков
                                    Действительно хорошая штука — сделан добротно вполне, температуру показывает адекватную, насчет влажности не уверен )
                                    Датчик от солнца конечно греется просто нереально (температура 30-40+ градусов вполне обычна) но это решилось конструкцией из картона, прикрывающий его от солнца, теперь температура вполне реальна
                                  +4
                                  Очень резонное замечание, что измерений могли быть сделанны далеко от Вашего дома и непонятно в какое время. Вот тут openweathermap.org можно выбрать конкретную метеостанцию, наиболее близко расположенную к Вам и оценить ее надежность, частоту измерений и список измеряемых параметров — температуру, влажность, силу ветра и тд.
                                  Можно забирать с сайта только те параметры, которые интересны. Данные отдаются в JSON и в HTML.
                                    0
                                    Вариант, посмотрю ссылку, спасибо.
                                    Пока что больше одного градуса не было расхождений — я проверял =)
                                      0
                                      Погода… она такая непредсказуемая! Для Москвы, разница в температуре на юге и севере может быть в 10 градусов — это очень заметно в моменты изменения погоды, когда грозовой фронт приходит или вроде того
                                      +1
                                      Посмотрел на данные по ссылке, потом на старый спиртовой градусник за окошком, и оказалось, что он врёт на +3 градуса, хотя и в тени. Вот и доверяй после этого старым проверенным решениям)
                                        0
                                        слишком тонко )
                                        0
                                        20'000 станций-источников и лишь 2 в Москве. Маловато будет ;).
                                          +1
                                          Все даже хуже. Непосредственно в Москве только одна станция, в ближайшем Подмосковье еще 7.
                                          Это вообще проблема России, если посмотреть на Европу или Америку на openweathermap.org/, то количество станций там на порядок больше чем у нас, это как государственные станции, так и любительские.
                                          У нас же государственные станции не публикуют данные в онлайн, а любителей вообще раз два и обчелся.
                                          Не в смысле, что их нет, по этому топику видно, как много людей интересуется темой, но данные своей локальной метеостанции ни кто не хочет показывать ))
                                          Собственно проект openweathermap.org/ и был создан чтобы объединить усилия в первую очередь любителей. Чем больше информации будет в системе, тем более точный прогноз она будет давать.
                                          Так что, если есть станция, подключайте ее к openweathermap.org
                                            0
                                            Какую недорогую метеостанцию посоветуете приобрести для этого? Есть роутер asus rt-n16 и NAS Synology, которые работают круглосуточно. Конечно, хотелось бы, чтоб метеостанция к ним подключалась по wi-fi (или z-wave — usb-брелок тоже в роутер вставлен).
                                              0
                                              Тут проблема в том, что большинство дешевых станций или не имеет никакого интерфейса наружу, или это СОМ или USB, да еще с проприетарным протоколом передачи. Для NIX софта много, но держать комп для этого обычно не хочется. Мы пошли другим путем и построили свой лунапарк.
                                              Основа — ATxmega256A3 на борту стоит датчики температуры, температура и влажность, давление,
                                              Кроме того — 3G модем, аккумуляторы и солнечная батарея.
                                              В результате мы получили полностью автономную конструкцию. Одна из таких станций сейчас работает в горном Крыму прямо посреди леса!
                                              вот тут можно посмотреть openweathermap.org/station/36597
                                              Софтверная платформа freeRTOS.
                                                0
                                                Достаточно элементарно можно сделать USB-приёмник беспроводных станций типа «Oregon», коих у каждого второго в квартире валом. Если девайс сделать простым и дешёвым — народ подтянется.
                                                  0
                                                  Какова стоимость решения?

                                                  Может, напишете статью о том, как такое можно собрать и подключить к вашему сервису? Только было бы неплохо и другие варианты в ней рассмотреть — например, вместо 3G модема bluetooth/wi-fi/ZigBee/Z-Wave/провод.
                                                    0
                                                    стоимость… где то 2000 — 3000 руб плата и детали + солнечная батарея 1500 руб
                                                    За интренет трафик на Украине платим в среднем 100 руб в мес
                                          0
                                          Получается, что мониторчик постоянно включен и светится? И ночью тоже? УДобнее было бы с каким нибуть датчиком движения совместить, наверное.
                                            +9
                                            Наоборот, очень удобно — идёшь в туалет, а тут тебе и свет сразу ;)
                                            +1
                                            А на мейле приличный прогноз погоды?) Всегда считал, что только гисметео более-менее адекватно угадывает погоду)
                                              0
                                              Да тут дело не в мэйле — они же сами тянут погоду отсюда: www.hmn.ru/
                                              Просто когда я провёл небольшое исследование на тему измерения температуры и прогнозов, pogoda.mail.ru были самыми точными для того места, где я живу. Если интересно — могу более подробно написать про это.
                                              +2
                                              А ведь достаточно было просто градусник за окно повесить…
                                                +1
                                                Повесил — врёт, скотина. Солнечная сторона, все дела.
                                                Да и удобней получилось )
                                                  0
                                                  Градусник не умеет предсказывать погоду )
                                                  0
                                                  Неплохим дополнением было бы прикрутить веб-камеру из подъезда ко всей этой системе.
                                                  Если конечно, всякая нечисть ходит в подъездах, как в моем случае.
                                                  Типа нажал кнопку и появилось изображение из подъезда.
                                                    0
                                                    Или при обнаружении движения автоматически включать изображение с камеры. Думал об этом — сделаю. Но в первую очередь — пробки буду показывать.
                                                    0
                                                    Не знаю откуда тот же Яндекс берет погоду для Екатеринбурга, но информация на сайте очень редко совпадает с действительностью. Я надеялся, начиная читать статью, что Вы какой-то физический градусник хитро опрашиваете, а не просто страничку парсите.
                                                      0
                                                      Яндекс берёт погоду отсюда: www.foreca.ru/
                                                      У меня они вообще безбожно врут градусов на пять (!).
                                                        0
                                                        Физический градусник? Я могу написать как прикрутить к компьютеру беспроводной датчик от метеостанции, или, если совсем просто — как подключить по проводу к компьютеру какой-нибудь DS1820, но зачем в тысячный раз повторять то, что легко находится в гугле?
                                                        Впрочем, если интересно — могу написать, мне не сложно ;)
                                                          +1
                                                          Прикрутите градусник и передавайте с него показания на openweathermap.org, чтобы все могли воспользоваться результатом.
                                                          А облачность ветер и осадки берите с ближайшей к Вам станции наблюдения, а прогноз… ну откуда удобнее… хоть с того же openweathermap.org. Получите максимально персонализированную и в тоже время общественно полезную систему.
                                                        +1
                                                        Зачем изобретать «велосипед с квадратно-треугольные колесами»?
                                                        Достаточно открыть в любом инет-броузере страничку:
                                                        weather.dreadatour.ru/
                                                        и подождать 1-2 минуты — сразу станет видно как работает
                                                        автоматическое обновление данных на странице.
                                                          +1
                                                          сорри! на счет «квадратно-трегольного велосипела»
                                                          не обратил внимание на домен.
                                                        0
                                                        [offtop]Эх, где бы 23 дюймовый сенсорный экран купить за нормальные деньги, а то все эти побрякушки безделушки.[/offtop]
                                                          0
                                                          Так собери сам… 23-х наверное нет, а вот 22-х запросто.

                                                          22-х дюймовый TN монитор за 4500-5000 р. можно найти, резестивное стекло на 22 — 5000 р.

                                                          Итого за 10 000 — можно получить 22-х дюймовый моно-тач, если немного по колдовать с драйверами, то можно получить Single-Touch для Windows 7 с кинетическим скроллингом в браузерах и жестами встроенными в Windows 7.

                                                          Но как говорится — зачем?

                                                          PS Подробности могу рассказать в личке.
                                                            0
                                                            Я именно про стекло говорил. Экран есть, руки прямые вроде тож наличествуют. Линком не расщедритесь?
                                                          +2
                                                          Хороший дизайн.
                                                            0
                                                            Да ну, я не дизайнер и не верстальщик ни разу
                                                            +1
                                                            Отлично придумал и сделал, уважаю.

                                                            Самое смешное, что я подумываю о чем-то подобном уже тоже с года 2-3, но, видимо, пнуть меня некому, ибо не женат =)
                                                              +1
                                                              Спасибо =)
                                                              Когда женишься времени ещё меньше будет на всякие такие штуки, так что тут палка о двух концах.
                                                              +2
                                                              У меня уже с год наверно, на входной двери смонтирован 10" жк с тачем не помню уже от чего… внутренности ушли в недра двери, так что торчит из полотна самой двери мм на 5 (рамка морды). Подключен к ротору, расположенному в углу под потолком.

                                                              Кажет погоду, во время звонка в дверь — рожу звонящего =) и еще гору других дел по необходимости.
                                                                +1
                                                                Я требую фотки! =)
                                                                  0
                                                                  Напишите пост и покажите свой комплекс. Интересно как там у вас чего подключено и настроено.
                                                                    0
                                                                    Да сам вот думаю написать. Как руки дойдут — обязательно. А сложного там ничего нет совершенно. Обычный ротор на Xen-e с pfsense и ubunta в нем. Сенс рулит сетями (1 пров, 2 локалки) а убунта всем остальным… как-то так )
                                                                    0
                                                                      0
                                                                      ШГ, а в целом — мне нравится!
                                                                        0
                                                                        Мне тоже решение понравилось, давно хочу что — нить подобное.
                                                                        Вы молодец! Реализовали! А у меня всё пока застыдо на фазе «мужик Канделаки, мужик захотел...»
                                                                      0
                                                                      Текущая температура с Яндекса/Гисметео и т.д. довольно часто различается с реальной за окном, так что однозначно надо добавлять свои датчики. Я когда-то давным-давно сделал по причинам прям точь-в-точь как у топикстартера :-) Отдельный монитор вешать не стал ибо в квартире гарантированно один из компов/ноутов работает, а температура показывается в виндовом гаджете.

                                                                      Схема простейшая — любой подсевший на ардуину первым делом блинкает светодиодиком, вторым — делает градусник :-) На Хабре уж мильён топиков про такие градусники было, так что совет автору таки добавить свой датчик. Тем более если уже есть постоянно работающий комп — тогда и ардуина не понадобится (которая шибко избыточна для такой простой задачи)
                                                                        0
                                                                        Очень интересный сервис. Собирает погоду с разных сайтов.
                                                                        mycli.me/rating.html
                                                                          0
                                                                          Да, это действительно интересно, спасибо.
                                                                          В своё время я изучал этот вопрос, собирал статистику, рисовал графики, — было забавно.
                                                                          0
                                                                          А можно было просто купить погодную станцию.
                                                                            0
                                                                            Но за реализацию все равно респект :)
                                                                            0
                                                                            сори за некрокоммент, но почему ничего не видно? все по инструкции, но пару дней назад появились и никуда не исчезают полосы прокрутки, и из-за них не видно прогноз на последующие дни

                                                                            Only users with full accounts can post comments. Log in, please.