Skip to content

core-dump-dev/Wallpaper-weather

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ASCII Weather Wallpaper

ASCII Weather Wallpaper – это веб-приложение, которое превращает ваш рабочий стол в живые обои с помощью Lively Wallpaper с анимированной ASCII-графикой, отображающей текущую погоду.

Демо доступно по ссылке: https://core-dump-dev.github.io/Wallpaper-weather/

✨ Основные возможности

  • 🌤 Актуальная погода через OpenWeatherMap API (температура, ветер, осадки, давление, влажность)
  • 🌙 Смена дня и ночи – фон, цвета объектов и звёзды меняются в зависимости от времени суток
  • 🌓 Фазы Луны – реалистичное отображение 8 фаз на основе астрономических расчётов
  • Динамические эффекты:
    • Дождь, снег, гроза (с молниями и вспышками)
    • Туман, облака, дым из трубы дома
    • Падающие листья (осень), светлячки (летняя ночь)
    • Птицы, самолёты, метеоры, звёзды с мерцанием
  • 📊 Информационный HUD – координаты, время, погодные параметры
  • 🧪 Тестовый режим – случайная генерация погоды без API-ключа

🚀 Быстрый старт

Для использования в браузере / Lively Wallpaper

  1. Получите API-ключ на OpenWeatherMap (бесплатный тариф подойдёт)
  2. Откройте файл script.js и вставьте ключ в переменную CONFIG.apiKey:
    apiKey: 'ВАШ_КЛЮЧ_ЗДЕСЬ',
  3. Укажите свои координаты (широту и долготу) в CONFIG, также в index.html (и город)
  4. Откройте index.html в браузере

Тестовый режим

Если не указан API-ключ, автоматически включается тестовый режим. Погода генерируется случайным образом, меняется каждую минуту.

🛠 Требования

  • Современный браузер с поддержкой JavaScript (Chrome, Firefox, Edge)
  • Для работы с реальной погодой – действующий API-ключ OpenWeatherMap
  • Для использования как живые обои – Lively Wallpaper (Windows) или аналоги

🔧 Настройка

Все параметры находятся в объекте CONFIG в начале файла script.js:

Параметр Описание Значение по умолчанию
lat, lon Координаты местоположения 0.0
apiKey Ваш ключ OpenWeatherMap 'YOUR_API_KEY'
units Единицы измерения (metric/imperial) metric
lang Язык описания погоды ru
updateInterval Интервал обновления погоды (мс) 600000 (10 мин)
frameInterval Частота кадров анимации (мс) 100 (~10 FPS)
width, height Размер ASCII-поля (символов) автоматически
groundLayerCount Количество строк земли 10
houseProbability Вероятность появления дома 0.7
lightningSpawnChance Шанс молнии за кадр при грозе 0.005

🧩 Руководство пользователя

Элементы интерфейса

Верхняя панель (HUD) отображает:

  • Город, координаты, текущее время
  • Погодные условия (описание, температура, ощущается как)
  • Скорость и направление ветра
  • Осадки (мм), давление (мм рт.ст.), влажность (%)

Анимации

  • Облака – медленно плывут по небу
  • Птицы – появляются в ясную погоду днём
  • Самолёт – изредка пролетает
  • Звёзды – мерцают ночью, имеют разные цвета
  • Метеоры – падают случайным образом
  • Дождь/снег – направление зависит от ветра
  • Молнии – при грозе с вероятностью вспышки
  • Дым – идёт из трубы дома, если нет дождя/снега
  • Листья – опадают при тёплой ясной погоде
  • Светлячки – летают летними ночами (если добавить в код)

Фазы Луны

Фаза луны рассчитывается автоматически по дате. Доступны 8 фаз от новолуния до полнолуния.

🙏 Благодарности

  • Veirt за вдохновляющий проект [weathr}(https://github.com/Veirt/weathr)
  • OpenWeatherMap за бесплатное API
  • Lively Wallpaper за возможность превращать веб-страницы в живые обои