3 poin oleh GN⁺ 2024-09-21 | 1 komentar | Bagikan ke WhatsApp
  • Memvisualisasikan cuaca sebagai lanskap

  • Stasiun observasi cuaca tradisional menampilkan data sensor dalam bentuk angka

  • Menjelajahi dashboard seperti ini memerlukan banyak upaya untuk secara efektif menemukan, menafsirkan, dan memvisualisasikan parameter tertentu

  • Melihat gambar lanskap terasa alami, mengurangi stres, dan memberikan pengalaman visual yang nyaman dengan usaha minimal

  • Metode di bawah ini menjelaskan cara menyandikan informasi cuaca ke dalam gambar lanskap tanpa bergantung pada data numerik

  • Prinsip pengodean

  • Lanskap menggambarkan sebuah rumah kecil di dalam hutan

  • Sumbu horizontal gambar merepresentasikan linimasa 24 jam yang dimulai dari saat ini dan meluas hingga kondisi keesokan harinya

  • Berbagai elemen lanskap yang tersebar di sepanjang sumbu vertikal melambangkan peristiwa dan kondisi cuaca

  • Semakin jauh suatu peristiwa dari waktu sekarang, semakin ke kanan posisinya pada gambar

  • Informasi berikut dapat disandikan di dalam gambar lanskap:

    • Penanda waktu yang menyederhanakan penelusuran linimasa:
      • waktu matahari terbit dan terbenam
      • tengah hari dan tengah malam
    • Informasi prakiraan cuaca:
      • arah dan kekuatan angin
      • perubahan suhu
      • nilai suhu tertinggi dan terendah
      • tutupan awan
      • curah hujan
    • Kondisi cuaca saat ini:
      • suhu
      • tekanan udara
    • Peristiwa non-cuaca:
      • ulang tahun
      • hari libur
  • Implementasi

  • Kode pembuat gambar ditulis menggunakan library Pillow untuk Python dan berbasis pada data dari OpenWeather

  • Gambar dirancang untuk digunakan pada layar E-Ink 296x128

  • Kode telah diuji pada Python 3.9

  • Gambar peristiwa | Deskripsi

    • | Matahari terbit
    • | Matahari terbenam
    • | Tutupan awan
    • | Posisi waktu saat ini
    • | Tengah malam
    • | Tengah hari
    • | Angin selatan
    • | Angin timur
    • | Angin barat
    • | Angin utara
    • | Hujan
  • Contoh

  • Gambar lanskap | Deskripsi

    • | Sekitar tengah hari, diperkirakan langit cerah dengan sedikit awan. Angin utara diperkirakan bertiup sepanjang malam. Suhu saat ini sedang naik, lalu akan turun setelah matahari terbenam dan mencapai titik terendah sebelum matahari terbit. Selama periode ini, angin akan berubah ke timur laut
    • | Matahari sedang terbit, dan cuaca akan panas serta cerah dengan angin tenggara ringan. Suhu akan tetap tinggi setelah matahari terbenam, dan angin akan berubah ke timur lalu menguat sepanjang malam
    • | Hujan dingin akan turun sepanjang hari. Angin selatan akan berubah ke timur laut sepanjang malam
  • Menjalankan kode

  • Menyiapkan lingkungan

    • Linux
      • ./makevenv.sh
      • source .venv/bin/activate
    • Windows
      • makevenv.bat
      • .venv/Scripts/Activate
  • Menguji pembuatan gambar

    • Perbarui variabel OWM_KEY di file weather_landscape.py dengan API key OpenWeather
    • python run_test.py
  • Menjalankan server

    • python run_server.py
  • Perangkat keras

  • Konfigurasi perangkat keras mencakup papan pengembangan ESP32 dan modul layar E-Ink 2,9 inci

  • Konfigurasi saat ini mengambil sumber dari internet dan memperbarui gambar setiap 15 menit

  • Belum pasti apakah kode pembuat gambar dapat digunakan di ESP32 dengan MicroPython

  • Ringkasan GN⁺

  • Artikel ini menjelaskan cara menyandikan informasi cuaca ke dalam gambar lanskap agar lebih mudah dipahami secara visual

  • Dengan menyampaikan informasi cuaca melalui gambar lanskap, pengguna dapat merasa lebih sedikit stres dan memahami informasi dengan lebih intuitif

  • Gambar dibuat menggunakan Python dan library Pillow, sementara data diambil melalui OpenWeather API

  • Artikel ini juga mengeksplorasi kemungkinan implementasi perangkat keras menggunakan papan pengembangan ESP32 dan layar E-Ink

  • Proyek serupa dengan fungsi sejenis antara lain WeatherFlow dan Netatmo Weather Station

1 komentar

 
GN⁺ 2024-09-21
Komentar Hacker News
  • Dengan sedikit penyesuaian, proyek ini sepertinya bisa benar-benar dipakai

    • Menunjukkan arah angin lewat lengkungan pohon
    • Menampilkan matahari terbit dan terbenam sebagai matahari di atas cakrawala
    • Memberi shading yang berbeda untuk langit malam dan langit siang
    • Memulai dari titik waktu tetap, bukan berdasarkan waktu saat ini
  • Beberapa tahun lalu saya pernah mencoba proyek yang memilih karya seni berdasarkan cuaca

    • Bisa melihat gambar yang diberi tag dengan menggunakan filter manual
    • Saya ingin memakainya sebagai wallpaper desktop untuk suasana, bukan laporan cuaca yang akurat
    • Tag gambar sebagian besar dibuat secara manual
  • Proyek ini sangat menyenangkan

    • Mengambil foto rutin ruang hijau dekat rumah, mencatat data tutupan awan dan tanggalnya, lalu menampilkan gambar yang paling mirip dengan prakiraan saat ini sebagai latar belakang
  • Saya menghubungkan bingkai foto lama ke generator gambar DALL-E milik OpenAI

    • Menghasilkan gambar berdasarkan data cuaca saat ini dan diperbarui setiap beberapa jam
  • Mengingatkan saya pada layar utama aplikasi Yr.no

    • Memvisualisasikan cuaca sebagai tampilan di luar jendela
    • Hanya bisa melihat satu momen dalam sehari sehingga harus scroll horizontal
    • Suhu hanya ditampilkan sebagai angka
  • Saya memakai konsep serupa sebagai wallpaper Android

    • Saya suka ide karya seni yang menyampaikan informasi yang berguna
  • Dari sisi UX, windy.com memberikan pengalaman pelaporan cuaca terbaik

    • Berguna karena kita bisa tahu arah pergerakan awan/hujan
    • Saya berharap ada lebih banyak pesaing
  • Ide ini sangat keren

  • Mengingatkan saya pada seri Otherland karya Tad Williams

  • Ide yang menarik, tetapi ada beberapa bagian makna gambar yang terasa aneh dan keliru

    • Pada malam hari langit seharusnya tidak terang, dan saat matahari terbit matahari seharusnya tidak berada tinggi di langit
    • Akan lebih baik menandai matahari terbit dan terbenam dengan ikon yang intuitif
    • Tampilan timeline Windy.com merangkum berbagai informasi cuaca dengan baik