3 poin oleh GN⁺ 2024-09-21 | 1 komentar | Bagikan ke WhatsApp
  • Weather as Landscape adalah proyek yang menyajikan prakiraan 24 jam dan kondisi saat ini di dalam gambar lanskap, alih-alih dasbor cuaca yang berpusat pada angka, agar bisa dipahami dengan lebih alami
  • Sumbu horizontal gambar adalah linimasa 24 jam dari saat ini hingga hari berikutnya, dan rumah menandai posisi saat ini, sementara cuaca di masa depan ditempatkan makin ke kanan
  • Elemen lanskap mengenkode hal-hal seperti matahari terbit·matahari terbenam, tengah hari·tengah malam, arah dan kekuatan angin, perubahan suhu, suhu tertinggi·terendah, awan, presipitasi, suhu·tekanan saat ini, hingga peristiwa non-cuaca seperti ulang tahun dan hari libur
  • Implementasinya menggunakan Python 3.9, Pillow, dan data OpenWeather, serta gambar dirancang untuk layar E-Ink berukuran 296x128
  • ESP32 dan modul E-Ink 2,9 inci dikonfigurasi untuk mengambil gambar dari internet dan memperbaruinya setiap 15 menit, tetapi belum pasti apakah kode pembuat gambar bisa disesuaikan untuk MicroPython di ESP32

Cuaca dilihat sebagai lanskap, bukan angka

  • Stasiun cuaca tradisional sering menampilkan nilai sensor sebagai data numerik, sehingga pengguna perlu berupaya mencari parameter tertentu, menafsirkannya, dan memvisualisasikannya
  • Gambar lanskap terasa alami bagi mata manusia, dan pengalaman melihat elemen lanskap dapat mengurangi stres serta memberi pengalaman visual yang lebih nyaman dengan usaha minimal
  • Weather as Landscape menunjukkan cara mengenkode informasi cuaca ke dalam gambar lanskap dengan tidak bergantung pada angka, atau hanya bergantung seminimal mungkin

Cara pengenkodean

  • Lanskap disusun dengan rumah kecil di tengah hutan sebagai pusat
  • Sumbu horizontal gambar adalah linimasa 24 jam
    • Rumah di sebelah kiri menandai waktu saat ini
    • Semakin ke kanan, semakin mendekati kondisi hari berikutnya
    • Semakin jauh suatu peristiwa dari saat ini, semakin ke kanan posisinya pada gambar
  • Berbagai elemen lanskap yang tersebar pada sumbu vertikal gambar merepresentasikan peristiwa dan kondisi cuaca

Informasi yang dapat dimuat dalam lanskap

  • Penanda waktu yang membantu menelusuri waktu
    • Matahari terbit dan matahari terbenam
    • Tengah hari dan tengah malam
  • Informasi prakiraan cuaca
    • Arah dan kekuatan angin
    • Perubahan suhu
    • Suhu tertinggi·terendah
    • Jumlah awan
    • Presipitasi
  • Kondisi cuaca saat ini
    • Suhu
    • Tekanan udara
  • Peristiwa non-cuaca
    • Ulang tahun
    • Hari libur

Elemen visual dan maknanya

  • Proyek ini menyusun lanskap dengan menggabungkan berbagai gambar peristiwa
    • Matahari: matahari terbit
    • Bulan: matahari terbenam
    • Awan: jumlah awan
    • Rumah: posisi waktu saat ini
    • Bunga: tengah malam dan tengah hari
    • Sprite pohon: angin selatan, timur, barat, utara
    • Hujan dan salju: bentuk presipitasi
    • Ikon tekanan udara: tekanan tinggi, tekanan normal, tekanan rendah
    • Ikon hari libur: Non-weather event, misalnya ulang tahun seseorang
  • Semakin besar pohon, semakin kuat kecepatan angin yang diperkirakan
  • Jika berbagai jenis pohon bercampur di hutan, itu berarti angin dari arah antara

Interpretasi contoh

  • Contoh pertama menunjukkan sekitar tengah hari, dengan langit cerah dan sedikit awan
    • Pada malam hari akan muncul angin utara sedang
    • Suhu saat ini sedang naik, tetapi akan mulai turun setelah matahari terbenam
    • Suhu terendah dicapai sebelum matahari terbit
    • Dalam periode ini, angin diperkirakan berubah ke timur laut
  • Contoh kedua menunjukkan matahari sedang terbit, dengan hari yang panas dan cerah serta angin tenggara lemah
    • Suhu tetap tinggi bahkan setelah matahari terbenam
    • Angin berubah ke arah timur dan makin kuat sepanjang malam
  • Contoh ketiga menunjukkan cuaca dingin dan hujan sepanjang siang dan malam
    • Angin selatan berubah menjadi angin barat laut pada malam hari
    • Juga memberi tahu bahwa besok adalah ulang tahun seseorang

Menjalankan dan membuat gambar

  • Menyiapkan lingkungan Linux
    • ./makevenv.sh
    • source .venv/bin/activate
  • Menyiapkan lingkungan Windows
    • makevenv.bat
    • .venv/Scripts/Activate
  • Uji pembuatan gambar
    • Anda harus memasukkan kunci OpenWeather API ke variabel OWM_KEY di secrets.py
    • Jika perlu, koordinat di secrets.py dapat diubah ke lokasi pengguna
    • Setelah menjalankan python run_test.py, gambar yang dihasilkan dapat dilihat di folder tmp
  • Menjalankan server
    • python run_server.py
    • Jika Anda membuka halaman server di browser, Anda dapat melihat jumlah gambar yang telah dibuat

Penggunaan E-Ink dan ponsel

  • Konfigurasi perangkat keras mencakup ESP32 development board dan 2.9inch E-Ink display module
  • Konfigurasi E-Ink saat ini menampilkan gambar yang diambil dari internet dan memperbaruinya setiap 15 menit
  • Belum jelas apakah kode pembuatan gambar dapat diubah agar bisa digunakan di MicroPython pada ESP32
  • Informasi lebih lanjut ada di esp32/README.md
  • Selama pengujian, beberapa gambar dibuat
    • Gambar hitam-putih ditujukan untuk modul E-Ink
    • Gambar berwarna dapat ditempatkan di layar utama ponsel
  • Di Android, Anda dapat menggunakan Web Image Widget untuk membuat widget penampil gambar internet
    • Jalankan skrip server dari repositori
    • Tambahkan widget yang menunjuk ke salah satu gambar yang dihasilkan

1 komentar

 
GN⁺ 2024-09-21
Opini Hacker News
  • Beberapa tahun lalu saya sempat mengutak-atik proyek yang memilih gambar berdasarkan cuaca: https://bazzargh.github.io/weather/
    Kalau mengubahnya ke manual filter dan mengatur beberapa filter, Anda bisa melihat bagaimana gambar-gambar yang diberi tag ditampilkan. Saya membayangkannya lebih untuk membangun suasana di bingkai foto atau wallpaper desktop, bukan sebagai prakiraan cuaca yang akurat
    Semua tag gambar ada di sini: https://github.com/bazzargh/bazzargh.github.io/blob/master/w...
    Sebagian besar saya tag secara manual; caranya memilih dulu gambar yang saya suka, lalu melihat celah pada tag dan mencari gambar untuk mengisinya

    • Di Chrome, halaman ini ditandai sebagai phishing
  • Menarik. Saya menghubungkan bingkai foto lama ke generator gambar DALL-E dari OpenAI, agar membuat gambar berdasarkan data cuaca saat ini dan diperbarui setiap beberapa jam
    Gambar yang sedang ditampilkan sekarang ini: https://ibb.co/8K5jZ3B

  • Selain penjelasan di README, saya ingin berbagi penggunaan konkret proyek ini. Saya menaruh layarnya di atas meja, dan ternyata cukup menyenangkan melihat gambar terus berubah sepanjang hari
    Misalnya, hujan muncul dari sisi kanan lalu hilang beberapa jam kemudian, atau pohon mulai tumbuh. Sementara itu, matahari dan bulan terus bergerak maju untuk menunjukkan pergantian siang dan malam
    Hal lain yang menarik adalah susunan ini tampak seperti jam biner. Orang-orang menduga ada makna tertentu, tetapi tidak bisa langsung menafsirkannya, dan desainnya yang sederhana membuat mereka ingin mencari tahu sendiri

  • Benar-benar menarik. Saya jadi ingin memasang kamera yang secara berkala memotret area hijau di dekat rumah
    Bersama gambar, simpan data tutupan awan dan stempel tanggal, lalu tampilkan gambar yang paling mirip dengan prakiraan saat ini sebagai wallpaper laptop. Mungkin tidak menyampaikan informasi sebanyak proyek ini, tetapi bisa cukup memuaskan

  • Imut, dan dengan sedikit penyesuaian sepertinya benar-benar bisa saya pakai. Ada ruang untuk membuat cara interpretasinya lebih baik: arah pohon membungkuk bisa menunjukkan arah angin, sementara angin utara/selatan ditangani secara kreatif—misalnya apakah membungkuk ke bawah atau ke luar—dan kekuatan angin ditunjukkan lewat tingkat lengkungan atau ukuran serta kerapatan pohon
    Matahari terbit/terbenam sebaiknya digambarkan secara literal sebagai matahari di atas cakrawala, bukan matahari dan bulan, dan langit malam diberi nuansa berbeda dari siang. Rasanya lebih baik jika titik awalnya bukan “waktu saat ini”, melainkan titik tetap seperti pagi atau tengah malam, lalu posisi rumah menunjukkan “sekarang”

    • Idenya sendiri punya banyak ruang untuk dikembangkan secara kreatif, tetapi ada keterbatasan karena layar hitam-putih yang kecil. Tidak ada cara untuk menampilkan pohon yang membungkuk tertiup angin atau siput yang merayap
      Meski begitu, di langit masih ada ruang untuk elemen menyenangkan seperti bangau untuk ulang tahun atau kereta luncur Sinterklas pada musim liburan. Saya sedang menunggu layar E-Ink yang lebih besar dan berwarna menjadi lebih murah
    • Saya sebagian besar setuju. Namun untuk poin 4, rasanya lucu kalau yang bergerak bukan rumah, melainkan semacam hewan
      Dan menggunakan sudut pandang seperti proyeksi isometrik mungkin bisa membantu memvisualisasikan arah angin
    • Bayangan, terutama panjang dan arahnya, tampaknya bisa digunakan bersama nuansa langit dan tanah untuk memberi kesan waktu dalam sehari
  • Saya sudah memakai konsep serupa sebagai wallpaper Android selama beberapa waktu[1]
    Saya suka gagasan karya seni yang benar-benar menyampaikan informasi berguna
    [1]: https://play.google.com/store/apps/details?id=kaka.wallpaper...

    • Saya sudah memakai live wallpaper ini selama bertahun-tahun dan selalu menyukainya
  • Saya teringat layar utama aplikasi Yr.no. Aplikasi itu memvisualisasikan cuaca dengan gambar yang menunjukkan seperti apa pemandangan di luar jendela pada berbagai waktu dalam sehari
    Dari animasinya saja, kita bisa cukup mudah memperkirakan jumlah dan bentuk presipitasi, serta angin. Namun, karena hanya satu momen yang bisa dilihat sekaligus, kita harus menggulir secara horizontal untuk melihat seharian, dan suhu hanya ditampilkan sebagai angka
    https://apps.apple.com/no/app/yr/id490989206?l=nb
    https://play.google.com/store/apps/details?id=no.nrk.yr&pcam...

  • Karya yang bagus. Namun kalau berfokus pada pengalaman pengguna, windy.com adalah yang terbaik untuk pengalaman menyampaikan cuaca
    Misalnya, saya hampir tidak tertarik pada prakiraan seperti “peluang hujan lokal 30% pada pukul 20.00”; yang lebih penting adalah bagaimana awan atau hujan bergerak dalam suatu alur. Dengan begitu kita bisa memutuskan, misalnya, apakah akan berkendara ke arah dengan sinar matahari terbaik
    Saya penasaran apakah ada layanan lain yang melakukan hal serupa dengan windy.com. Sejauh ini pengalamannya sangat bagus dan hampir tidak ada pola UX gelap, tetapi saya berharap ada lebih banyak persaingan di area ini

    • Saya membuat aplikasi cuaca road trip yang menghitung prakiraan saat Anda ingin menghindari cuaca terburuk selama perjalanan. Bagus untuk memutuskan apakah berangkat malam ini atau besok pagi
      Timestamp dibuat berdasarkan rute Google, jadi per 2024 Anda bisa melihat prakiraan yang sedekat mungkin dengan kondisi aktual
      Saya paham rasa kurang puas terhadap prakiraan seperti “peluang hujan lokal 30% pada pukul 20.00”, tetapi prakiraan jangka menengah saat ini umumnya memang masih di level itu
      Android atau iOS: https://weatherthetrip.com/download
    • Weather Strip(iOS): https://apps.apple.com/us/app/weather-strip/id1528594026
    • Saya sangat menyukai Meteoblue. Layanan itu menyediakan berbagai visualisasi ensemble prakiraan
      Dari sisi pengalaman pengguna tidak sama dengan windy, tetapi cukup bagus dalam menyampaikan ketidakpastian model dan tingkat kesesuaian antar-model
    • Awal tahun ini saya memakai windy.com saat memilih lokasi untuk melihat gerhana matahari total di Texas. Prediksinya tepat sekali: saya berhasil melihat gerhana dengan baik, lalu awan datang setelahnya
    • Zoom Earth mirip dengan Windy.com
      https://zoom.earth/
  • Idenya menarik, tetapi ada bagian yang makna gambarnya terasa aneh melenceng. Terutama langit malam tidak semestinya terang, dan saat matahari terbit, matahari tidak semestinya sudah tinggi di langit
    Jika harus mempelajari aturan yang berlawanan dengan intuisi seperti “kalau matahari terlihat di mana pun di langit, itu berarti matahari terbit” atau “malam bukan ditandai dengan kegelapan, melainkan sesuatu yang lain”, rasanya tujuan utamanya gagal tercapai
    Banyak aplikasi cuaca memakai garis waktu dari kiri ke kanan dan menandai matahari terbit serta terbenam dengan ikon yang intuitif. Tampilan garis waktu Windy.com merangkum kondisi langit, siang/malam, fase bulan, suhu, presipitasi, kecepatan dan arah angin dengan baik dalam garis waktu horizontal yang ringkas

  • Saya tentu menduga ini adalah LLM+AI pembuat gambar yang mengubah prakiraan cuaca menjadi gambar surealis, tetapi ternyata ini sistem yang datanya dipetakan secara deterministik ke elemen visual yang dipilih dengan cermat dan keputusan desainnya dibuat oleh manusia sungguhan. Saya justru terkejut dengan senang. Rasanya anehnya segar