3P by neo 2달전 | favorite | 댓글 1개
  • 날씨를 풍경으로 시각화하기

  • 전통적인 기상 관측소는 센서 데이터를 숫자로 표시함

  • 이러한 대시보드를 탐색하는 것은 특정 매개변수를 효과적으로 찾고 해석하며 시각화하는 데 많은 노력이 필요함

  • 풍경 이미지를 보는 것은 자연스럽고, 스트레스를 줄이며 최소한의 노력으로 편안한 시각적 경험을 제공함

  • 아래 방법은 숫자 데이터에 의존하지 않고 풍경 이미지 내에 날씨 정보를 인코딩하는 방법을 설명함

  • 인코딩 원칙

  • 풍경은 숲 속의 작은 집을 묘사함

  • 이미지의 수평 축은 현재 순간에서 시작하여 다음 날의 조건까지 확장되는 24시간 타임라인을 나타냄

  • 수직 축을 따라 분포된 다양한 풍경 요소는 날씨 이벤트와 조건을 상징함

  • 현재로부터 멀리 떨어진 이벤트일수록 이미지의 오른쪽에 위치함

  • 다음 정보가 풍경 이미지 내에 인코딩될 수 있음:

    • 타임라인 탐색을 단순화하는 시간 표시:
      • 일출 및 일몰 시간
      • 정오 및 자정
    • 날씨 예보 정보:
      • 바람 방향 및 강도
      • 온도 변동
      • 최고 및 최저 온도 값
      • 구름 덮개
      • 강수량
    • 현재 날씨 조건:
      • 온도
      • 기압
    • 비날씨 이벤트:
      • 생일
      • 공휴일
  • 구현

  • 이미지 생성 코드는 Python의 Pillow 라이브러리를 사용하여 작성되었으며 OpenWeather의 데이터를 기반으로 함

  • 이미지는 296x128 E-Ink 디스플레이에서 사용하도록 설계됨

  • 코드는 Python 3.9에서 테스트됨

  • 이벤트 이미지 | 설명

    • | 일출
    • | 일몰
    • | 구름 덮개
    • | 현재 시간 위치
    • | 자정
    • | 정오
    • | 남풍
    • | 동풍
    • | 서풍
    • | 북풍
    • | 비
  • 예시

  • 풍경 이미지 | 설명

    • | 정오쯤이며, 맑은 하늘과 약간의 구름이 예상됨. 밤새 북풍이 불 것으로 예상됨. 현재 온도가 상승 중이며, 일몰 후 하락하여 일출 전 최저점에 도달할 것임. 이 기간 동안 바람은 북동쪽으로 바뀔 것임
    • | 해가 뜨고 있으며, 뜨거운 맑은 날씨와 가벼운 남동풍이 불 것임. 일몰 후에도 온도가 높게 유지되며, 바람은 동쪽으로 바뀌어 저녁 내내 강해질 것임
    • | 하루 종일 추운 비가 내릴 것임. 남풍은 밤새 북동쪽으로 바뀔 것임
  • 코드 실행

  • 환경 준비

    • Linux
      • ./makevenv.sh
      • source .venv/bin/activate
    • Windows
      • makevenv.bat
      • .venv/Scripts/Activate
  • 이미지 생성 테스트

    • weather_landscape.py 파일에서 OWM_KEY 변수를 OpenWeather API 키로 업데이트
    • python run_test.py
  • 서버 실행

    • python run_server.py
  • 하드웨어

  • 하드웨어 설정에는 ESP32 개발 보드와 2.9인치 E-Ink 디스플레이 모듈이 포함됨

  • 현재 설정은 인터넷에서 소스를 가져와 15분마다 이미지를 업데이트함

  • 이미지 생성 코드를 ESP32에서 MicroPython으로 사용할 수 있을지는 불확실함

  • GN⁺의 정리

  • 이 기사는 날씨 정보를 시각적으로 더 쉽게 이해할 수 있도록 풍경 이미지로 인코딩하는 방법을 설명함

  • 풍경 이미지를 통해 날씨 정보를 전달함으로써 사용자는 스트레스를 덜 받고 더 직관적으로 정보를 이해할 수 있음

  • Python과 Pillow 라이브러리를 사용하여 이미지를 생성하며, OpenWeather API를 통해 데이터를 가져옴

  • ESP32 개발 보드와 E-Ink 디스플레이를 사용하여 하드웨어 구현 가능성도 탐구함

  • 비슷한 기능을 가진 프로젝트로는 WeatherFlow, Netatmo Weather Station 등이 있음

Hacker News 의견
  • 작은 조정으로 이 프로젝트를 실제로 사용할 수 있을 것 같음

    • 나무의 굽힘으로 바람 방향을 나타내기
    • 일출과 일몰을 지평선 위의 태양으로 표시하기
    • 밤하늘과 낮하늘을 다르게 음영 처리하기
    • 현재 시간을 기준으로 시작하지 않고 고정된 시점에서 시작하기
  • 몇 년 전 날씨에 따라 예술 작품을 선택하는 프로젝트를 시도했음

    • 수동 필터를 사용하여 태그된 이미지를 확인할 수 있음
    • 정확한 날씨 보고보다는 분위기를 위한 데스크탑 배경으로 사용하려 했음
    • 이미지 태그는 주로 수동으로 작업했음
  • 이 프로젝트가 매우 재미있음

    • 집 근처 녹지의 정기적인 사진을 찍고, 구름 덮개 데이터와 날짜를 기록하여 현재 예보와 가장 유사한 이미지를 배경으로 표시하기
  • 오래된 사진 프레임을 OpenAI의 DALL-E 이미지 생성기에 연결했음

    • 현재 날씨 데이터를 기반으로 이미지를 생성하고 몇 시간마다 업데이트됨
  • Yr.no 앱의 주요 화면을 떠올리게 함

    • 날씨를 창 밖의 모습으로 시각화함
    • 하루 중 한 순간만 볼 수 있어 수평으로 스크롤해야 함
    • 온도는 숫자로만 표시됨
  • 비슷한 개념을 안드로이드 배경화면으로 사용 중임

    • 유용한 정보를 전달하는 예술 작품 아이디어를 좋아함
  • UX 측면에서 windy.com이 최고의 날씨 보고 경험을 제공함

    • 구름/비의 이동 방향을 알 수 있어 유용함
    • 다른 경쟁자가 더 많아졌으면 좋겠음
  • 이 아이디어가 매우 멋짐

  • Tad Williams의 Otherland 시리즈를 떠올리게 함

  • 흥미로운 아이디어지만 이미지 의미가 이상하게 잘못된 부분이 있음

    • 밤에 하늘이 밝지 않아야 하고, 일출 시 태양이 높이 떠 있지 않아야 함
    • 직관적인 아이콘으로 일출과 일몰을 표시하는 것이 좋음
    • Windy.com의 타임라인 뷰가 여러 날씨 정보를 잘 압축하여 표시함