- Sol Mate e-Paper Display, belirtilen konumdaki güncel hava durumunu ve ışık koşullarını yansıtan bir illüstrasyon üretip bunu Raspberry Pi’ye bağlı Waveshare e-Paper ekranında gösteren bir proje
- Betik, konumu girdi olarak alıp hava durumunu getiriyor; gpt-5-mini tarafından oluşturulan prompt ve gpt-image-1-mini ile yüksek kaliteli görüntü render ettiği için OpenAI API token’ı gerekiyor
- Yalnızca gerçek konumlar değil, bir arkadaşın konumu veya kurgusal yerler de girilebiliyor; kurgusal yerlerde GPT, yeryüzünde en çok benzeyen yerin enlem ve boylamını hava durumu servisine iletiyor
- Donanım olarak Raspberry Pi 5 ve Waveshare e-Paper 7.3" display temel alınıyor; farklı boyutta ekran kullanmak için kodda değişiklik yapılması gerekiyor
control.py ekranda gösterme, yerel önizleme ve ekranı temizlemeyi destekliyor; Waveshare’in aynı görüntüyü uzun süre ekranda bırakmama önerisi ve API maliyetlerinin artma olasılığı birlikte dikkate alınmalı
Sol Mate e-Paper Display ne yapıyor?
- Sol Mate e-Paper Display, Raspberry Pi ve Waveshare e-Paper ekranıyla hava durumu raporu görseli üreten ve gösteren bir kod koleksiyonudur
- Başlangıçta ☀️ Sol Mate GPT ile oluşturuldu; daha sonra bunun e-Paper ekranda nasıl görüneceği merak edilince bu proje ortaya çıktı
- Girdi konumu gerçek bir yer, bir arkadaşın konumu veya kurgusal bir yer olabilir
- Yağmur yağıyorsa illüstrasyona şemsiye taşıyan insanların eklenmesi gibi, güncel hava durumu görsele yansıtılır
- Kurgusal bir yer girildiğinde GPT, yeryüzünde ona en çok benzediğine karar verdiği yerin enlem ve boylamını hava durumu servisine gönderir
Görüntü üretim yöntemi
- İllüstrasyonlar gpt-image-1-mini modeliyle render edilir
- Görüntü prompt’u gpt-5-mini tarafından oluşturulur ve yüksek kaliteli görüntü ayarları kullanılır
- Bu üretim akışı nedeniyle çalıştırmak için OpenAI API token’ı gerekir
Gerekli donanım
Çalıştırma ve kullanım
- Proje, Raspberry Pi üzerinde çalışacak şekilde tasarlanmıştır
- Python ortam yönetimi için uv kullanılır
uv sanal ortamı yönettiği için elle etkinleştirme gerekmez
uv sync
- macOS veya Linux olmayan geliştirme makinelerinde Raspberry Pi donanım kütüphanesi varsayılan olarak atlanır
OPENAI_API_KEY ortam değişkeni belirtilmelidir
- Ortam değişkenleri geçerli çalışma dizinindeki
.env dosyasından okunabilir
OPENAI_API_KEY=... uv run python control.py show Barcelona
- Yerelde hızlı kontrol için iTerm2 görüntü gösterimini kullanan
preview komutu çalıştırılabilir
- Varsayılan olarak sistemin geçici dizinine
sol-mate-preview-<timestamp>.png adıyla kaydedilir
OPENAI_API_KEY=... uv run python control.py preview "Barcelona"
Ekran yönetimi ve otomatik güncelleme
- Waveshare, aynı görüntünün ekranda çok uzun süre bırakılmamasını öneriyor_Manual#Precautions)
- Ekranı temizlemek için
clear komutu kullanılır
uv run python control.py clear
- Örnek ayar,
cron ile görüntüyü günde iki kez günceller ve şafak vakti ekranı temizler
- Yollar, herkesin kendi kurulum ortamına göre değiştirilmelidir
- Tekrarlı çalıştırmanın azımsanmayacak bir maliyeti olabilir
0 8 * * * cd ~/src/sol-mate-eink && OPENAI_API_KEY=... uv run python control.py show Barcelona
0 18 * * * cd ~/src/sol-mate-eink && OPENAI_API_KEY=... uv run python control.py show Barcelona
0 2 * * * cd ~/src/sol-mate-eink && uv run python control.py clear
Backend ve referanslar
- Hava durumunu getirmek için herkese açık olmayan bir API kullanılabilir, ancak aşırı çağrı yapılmaması şartı vardır
- Büyük ölçekli kullanım fikriniz varsa, kendi barındırdığınız bir yöntem önerilir
- Backend kaynak kodu blixt/sol-mate deposunda bulunur
- Ek fotoğraflar ve yapım süreci:
1 yorum
Hacker News yorumları
Benzer bir projede Inkplate 6Color kullanıyorum
ESP32 denetleyici dahili olduğu için Pi gerekmiyor ve yalnızca pille de çalışabiliyor
Derin uyku/uyanma zamanlamasını iyi ayarlarsanız tek şarjla birkaç haftaya kadar dayanabiliyor
En sevdiğim kullanım, ofis kapısına astığım kırmızı On Air tabelası; toplantı veya kayıt sırasında Mac’te bir Kestirme çalıştırınca durum otomatik güncelleniyor ve cihazlar sessize alınıyor
Hava durumu gösterimi, haberler ve Google Calendar için açık kaynak örnekleri de var
https://soldered.com/product/inkplate-6color-color-e-paper-b...
Ucuz e-mürekkep projeleri gerçekten eğlenceli ve kullanışlı
Pi Zero’ya bağlı bir e-mürekkep ekran, önümüzdeki 3 saat içinde yağmur yağıp yağmayacağını yalnızca Yes/No olarak gösteriyor
Yeniden düşününce 7 renkli ekrana kadar gerek olmayabilir
Kullandığım ekran https://shop.pimoroni.com/products/inky-impression-7-3?varia... ve daha ucuz görünüyor
Bu tür ekranları evin çeşitli yerlerine asmak isteyecek kadar eğlenceli
Bağımsız olarak, bir hafta önce aynı ekranla neredeyse birebir aynısını yaptım
https://imgz.org/iBLADkCU.jpg
Belirli bir konumun mevcut hava durumunu ve saatini alıp, yapay zekanın o konumu içeren bir fotoğraf üretmesini sağlayarak gösteren bir çerçeve
İkimizin de bağımsız olarak buraya kadar gelmiş olması ilginç
Muhtemelen en bariz kullanım alanı buydu
Yeni bir girişimciye fikrinin benzersiz olmadığını gösteren iyi bir örnek; gerçekten benzersiz fikirler zaten çok az
Önemli olan uygulama becerisi
E-mürekkep hava durumu panosu dünyasının Uber ve Lyft’i gibi; HN’de benzer birkaç şeyi daha etiketlemiştim
Zaman bulursam ben de bir tane yapacağım; hepsi ESP32 geliştirmesi ve özgür/açık kaynak ev otomasyonundan ilham alıyor
Donanım projesi ve fikir güzel, ama sürekli açık bir cihazda OpenAI API kullanmaya kesinlikle bulaşmak istemem
Eğlencesine yapacak olursam OpenStreetMap ve LAN’da barındırılan Stable Diffusion kullanan bir sürüm yapabilirim; bu yüzden yer imlerine eklemeye değer
Benzer bir proje gördükten sonra aynı ekrandan iki tane aldım
Aslında bu iki örnekteki gibi renkli fotoğraf ekranı yapmayı planlıyordum, ama bu uygulama da iyi görünüyor
Hack’lemede bol şans; yakında yaptığın projeyi burada görebilmeyi umarım
Görselde Barcelona 26°C ve 2°C olarak gösterilmiş
Barcelona’ya birkaç kez gittim ama bir günde bu iki sıcaklığın da görülmesini hayal etmek zor
Hava durumu verisinin güvenilir olup olmadığını, yoksa hepsinin halüsinasyon olup animasyonun tadını çıkarmamız mı gerektiğini merak ediyorum
Ya da Barcelona havasını düşündüğüm kadar iyi bilmiyorumdur ve en yüksek 26, en düşük 2 derece mümkün olabilir
2°C, yalnızca 26°C’den kaynaklanan bir halüsinasyon
Hobi projesi olduğu için metni geleneksel yöntemle render etmek yerine, her seferinde metnin benzersiz ve genelde daha sanatsal görünmesini önceliklendirdim
Ama ciddi bir ürüne dönüştürmek gerekirse, görsel üretim modelleri bu kullanım için henüz yeterli değil
“Aynı görüntüyü ekranda çok uzun süre bırakmayın” denmesinin nedenini merak ediyorum
Renkli e-mürekkebe özgü bir sorun mu?
Gerçekte o kadar büyük bir sorun olmayabilir, ama pikseller çok uzun süre etkin durumda kalırsa takılı kalma riski olabilir
[1]: https://www.waveshare.com/wiki/7.3inch_e-Paper_HAT_(F)_Manua...
Normal siyah-beyaz e-mürekkepten farklı olarak aynı görüntüyü uzun süre bırakmayın uyarısını gerektiren bir görüntüleme yöntemi farkı olup olmadığını merak ediyorum
Doğru hatırlıyorsam standart siyah-beyaz e-mürekkep ekranlarda burn-in yoktu
İnsanların daha fazla bilgi edinip karar verebilmesi için README’ye belge bağlantısını ekleyeceğim
[1]: https://www.waveshare.com/wiki/7.3inch_e-Paper_HAT_(F)_Manua...
Bu tür projelerde ekranı sürmek için neden hep özellikle Raspberry Pi gibi küçük ve düşük güç tüketimli bilgisayarlar kullanıldığını merak ediyorum
Debian GNU/Linux çalıştıran sıradan bilgisayarlardan zaten çok var
Bu bilgisayarlardan birinde bu kodu kullanıp sıradan bir USB kablosuyla e-paper ekranı sürmek mümkün değil mi?
Raspberry Pi gibi bir şey kullanmak zorunda olmak için bir neden varmış gibi görünmüyor
Büyük bilgisayarlarda da işletim sistemi bu tür çevre birimlerini kullanabiliyorsa aynı şekilde kullanılabilir
Bu küçük bilgisayarlar yaygınlaşmadan önce, paralel port ve küçük bir programla aynı düşük seviyeli sinyaller kullanılarak çevre birimleriyle doğrudan iletişim kurulabiliyordu
Raspberry Pi için çok sayıda başlangıç dokümanı ve kod var; Linux'la biraz uğraşmış birinin cihazı açıp paketleri kurduktan sonra bir şeyler yapması kolay
Zamanınız ve bilginiz varsa çok küçük bir mikrodenetleyici ile de yapılabilir
Ekranın kendisinde, ara sıra garip besleme gerilimleri gerektirmesi dışında sihirli bir şey yok
Daha yaygın sorun, bu tür ekranların USB üzerinden doğrudan iletişim kurmaması
Pikselleri ayarlamak için SPI ya da paralel dijital arayüz aldıklarından, arada bir arayüz ve ekranı çizen yazılım gerekiyor
Bu yüzden insanlar çoğu zaman sadece bir Raspberry Pi bağlayıp onunla daha yaygın bir protokol üzerinden konuşuyor
Sadece bu ekranı açık tutmak için sıradan bir bilgisayarı sürekli açık bırakmak verimsiz
Harika projeler, her zamanki gibi, birilerinin özelleştirme yoluna gitmesini sağlıyor
Donanım önerilerinin yanı sıra referans olarak yalnızca epaper.py[1]'ye bakmak bile iyi olur
[1]: https://github.com/blixt/sol-mate-eink/blob/main/epaper.py
Hava durumunu almak için neden AI kullandığını pek anlayamıyorum
Doğrudan çağrılabilecek onlarca ücretsiz hava durumu API'si var
Bir semtin günlük dildeki adını doğru enlem-boylama çevirmek işini bazı API'ler bir ölçüde yapar ama GPT kadar doğru ücretsiz bir API'yi pek bilmiyorum
Üstelik “Hogwarts” ya da “Tatooine” yazarsanız AI sayesinde oranın hava durumunu da özenle uyduruyor[1]
En önemlisi, gerçek hava koşullarını ve güneşi/ayı vb. yansıtarak görüntü oluşturacak Dall-E için prompt yazıyor
[1]: https://x.com/blixt/status/1724099967361462714