7 puan yazan GN⁺ 2026-02-26 | 2 yorum | WhatsApp'ta paylaş
  • Eski bir 4. nesil Kindle Touch, NJ Transit otobüs varış saatlerini her dakika yenileyen bir e-mürekkep panosuna dönüştürüldü
  • Jailbreak, KUAL, MRPI ve SSH yapılandırması ile özel uygulama çalıştırma ortamı kuruldu; Node tabanlı bir sunucu görseller üretip bunları Kindle'da gösteriyor
  • Sunucu, GraphQL API ile otobüs verilerini alıp HTML olarak biçimlendiriyor, ardından wkhtmltoimage ile PNG üretiyor; Kindle da bunu düzenli olarak çekiyor
  • KUAL uygulaması doğrudan yapılarak menü düğmesiyle panonun kapatılması sağlandı; bash trap ve rtcwake ile güç yönetimi ve otomatik yenileme kontrol ediliyor
  • Yaklaşık 5 günlük pil ömrü sunuyor ve ekran gölgelenmesi sorununu iyileştirme payı var; ayrıca e-mürekkep ekranların gerçek zamanlı bilgi gösteriminde kullanılma potansiyelini ortaya koyuyor

Kindle'ı bir otobüs varış bilgisi ekranına dönüştürmek

    1. nesil Kindle Touch, gerçek zamanlı otobüs varış bilgi ekranına dönüştürüldü
    • Ekran her 1 dakikada bir yenileniyor ve menü düğmesiyle pano modundan çıkılabiliyor
    • Ticari ürün TRMNL'ye benzer işlevler ücretsiz olarak hayata geçirildi

1. Kindle Jailbreak

  • Kindle'ın firmware sürümü kontrol edilip, bu sürüme uygun tar dosyası indirilerek Jailbreak işlemi yapılıyor
  • Başarılı olduktan sonra KUAL ve MRPI kurulum aşamasına geçiliyor

2. KUAL ve MRPI kurulumu

  • KUAL, özel uygulama başlatıcısı; MRPI ise uygulama kurulum aracı olarak kullanılıyor
  • Kurulumdan önce Hotfix ayarı mutlaka yapılmalı
  • Kurulumdan sonra OTA güncellemeleri devre dışı bırakılarak otomatik güncellemeler engelleniyor

3. SSH yapılandırması

  • USBNetwork eklentisi üzerinden Kindle'a SSH bağlantısı kurulabiliyor
  • Harici bir blog rehberine bakılarak USB tabanlı SSH bağlantısı ayarlanıyor
  • Bağlantı başarılı olduğunda Kindle, bilgisayarın ağ sekmesinde yeni bir cihaz olarak görünüyor

4. Sunucu kurulumu ve görsel üretimi

  • NJ Transit GraphQL API kullanılarak otobüs varış bilgileri alınıyor
    • getBusArrivalsByStopID sorgusuyla hat, varış zamanı, yoğunluk gibi veriler toplanıyor
  • HTML'yi PNG'ye çevirmek için puppeteer yerine wkhtmltoimage kullanılıyor
    • Sunucu her 3 dakikada bir yeni görsel üretiyor ve Kindle bunu istiyor
    • İlgili kod GitHub deposu kindle-hax/server içinde açıklandı
  • Görsel döndürme ve hizalama, Kindle ekran çözünürlüğüne (ör. 600x800) göre ayarlanıyor
    • transform: rotate(90deg) translateX(-100px) translateY(-100px); ile dikey gösterim uygulanıyor

5. KUAL uygulaması geliştirme

  • Panoyu başlatma/durdurma kontrolü için özel bir KUAL eklentisi oluşturuldu
    • Klasör /mnt/us/extensions/ altına yerleştiriliyor ve KUAL içinde 'Start dashboard' menüsü gösteriliyor
  • start.sh betiği, sinyalleri yok sayarak (trap '' HUP, trap '' TERM) kararlı çalışmayı sürdürüyor
    • refresh_screen() fonksiyonu sunucu görselini indirip ardından eips komutuyla ekranda gösteriyor
    • Üstte tarih, Wi‑Fi durumu ve pil seviyesi gösteriliyor
  • evtest ile menü düğmesi girişi (code 102 (Home), value 1) algılandığında stop.sh çalıştırılıyor
    • Pano kapatılıyor ve Kindle arayüzü yeniden başlatılıyor

6. Çalışma sonucu ve iyileştirme noktaları

  • Yaklaşık 5 gün pil ömrü sağlanıyor; gece gücü kapatarak 2 gün daha uzatılabiliyor
  • Ekran gölgelenmesi (color bleeding) sorunu, tam siyah-beyaz flaş ile iyileştirilebilir
  • Her gün kullanılıyor ve takvim, hava durumu, yapılacaklar gibi farklı bilgileri gösterme yönünde genişleme potansiyeli olduğu görülüyor

2 yorum

 
xguru 2026-02-26

Ben de yakın zamanda benzer bir şey yaptım; yukarıdaki URL çubuğunu görmek sizi rahatsız etmiyorsa, web sayfasını doğrudan yükleyebilirsiniz.
Kindle, temel olarak web tarayıcısında URL'lere erişebildiği için, oradan dashboard'u açmanız yeterli.
İş yerinde Kindle'da, evde ise eski nesil Paperwhite'ta aynı sayfayı yüklüyorum; yani kendi çapında cross-platform sayılır :)

Tabii Kindle'ın sürekli açık kalma modu için root veya benzeri bir işlem yapmanız gerekiyor.
Paperwhite'ta root'a kadar gitmeye gerek yok; sadece adb bağlantısını açıp oradan screensaver'ı kapatma işlemini yapmak yeterli.

 
GN⁺ 2026-02-26
Hacker News yorumları
  • Geçmişte Kindle güç tüketimi üzerine çalışmış biri olarak, en büyük güç tüketim kaynağının WiFi bağlantısı olduğunu söyleyebilirim
    Bunun nedeni, bağlantının kopmaması için WiFi'nin AP'ye düzenli olarak yanıt vermek zorunda olmasıydı
    WiFi kapalıyken yaklaşık 700uA, açıkken ise yaklaşık 1.5mA tükettiğini hatırlıyorum
    Sayfa değişimlerinde güç anlık olarak yüzlerce mA seviyesine çıkıyordu ve ghosting etkisini azaltmak için belirli sayıda sayfa değişiminden sonra tam ekran yenilemesi yapılıyordu

    • Ben pili söküp Kindle'ın USB portuna diyot üzerinden 5V verdim
      Anlık olarak yaklaşık 1.5A sağlayabilen bir güç kaynağı gerekiyordu; eski bir harici beslemeli USB hub'ı Raspberry Pi'ye bağlayıp SSH ile kontrol edince WiFi olmadan da aylarca stabil çalıştı
    • Benim RM2 cihazım WiFi'ye hiç bağlanmıyor ve aylarca şarj etmeden kullanılabiliyor
      Ayda 30 kereden az kullanıyorum ama WiFi kapalıyken pil verimliliği şaşırtıcı derecede iyi
      Paperwhite Kindle'ı henüz modifiye etmedim ama en azından kilit ekranı reklamlarını kaldıracağım
    • WiFi'yi kapatıp yenileme aralığını 2 dakikaya çıkararak pil ömrünü test etmeyi düşünüyorum
      Ancak şimdi uçak modunda pilin neden daha uzun dayandığını gerçekten anlamış oldum
    • Kindle'ın etrafına amorf silikon güneş hücreleri yapıştırırsam her 5 günde bir şarj etmeden idare edip edemeyeceğini merak ediyorum
  • Ben daha basit bir yöntem kullandım
    Jailbreak sonrası SSH ile bağlanıp 1 dakikada bir ve 30 dakikada bir çalışan iki betik yazdım
    İki betik de aynı görseli gösteriyor ama 30 dakikada bir tam yenileme de ekleniyor
    Raspberry Pi üzerinden rsync ile görsel aktarılıyor, Python betiği ise hava kalitesi verilerini MySQL'den alıp görseli oluşturuyor
    Kindle sadece görseli gösterdiği için oldukça stabil çalışıyor

    • “Daha basit bir yöntem” deyip rsync, Python, MySQL anılması beni gülümsetti
    • Sadece bitmap alıp gösteren bir eInk ekran olsa, birçok kullanım için yeterli olur gibi geliyor
      Yalnızca TLS gibi güvenli bağlantıları desteklemesi yeterli
    • Ben de benzer şekilde Kindle'ı Jailbreak edip otobüste ePub okuyorum, Siri'ye de bir sonraki otobüsü soruyorum
    • Karmaşık framework'ler yerine iki basit betikle sorunu çözmek gerçekten tatmin edici
  • Kindle hacklemek gerçekten çok eğlenceli bir iş
    eBay'de 15-20 avroya eski Kindle bulunabiliyor; ben de geçen yıl benzer bir deney yaparken çok keyif almıştım
    Ayrıntılı süreci blog yazımda anlattım

    • AliExpress'te Xteink4 adlı ESP32 tabanlı bir e-ink kartı satın alınabiliyor
      Küçük boyutlu ama üzerine Crosspoint firmware'i yüklenirse taşınabilir bir e-ink okuyucu olarak kullanılabiliyor
      YouTube videosu, Crosspoint GitHub
    • Tersine mühendislik gözünüzü korkutuyorsa, Raspberry Pi DSI portuna takılan e-ink ekranlar da var
      Biraz daha pahalılar ama Kindle ekranının yeniden kullanıldığı ürünler olabilirler
    • Başka birinin aynı hedefe farklı bir yoldan ulaşma sürecini görmek keyifli
      Bu yazı bana Cloudflare Workers gibi platformlarla daha fazla deneme yapma isteği verdi
    • Jailbreak işlemine hemen başlanıp başlanamayacağını ya da ilk kurulumda Amazon hesabı bağlamanın gerekip gerekmediğini merak ediyorum
  • Eski bir Kindle'ı AI ile üretilen görseller için bir çerçeveye dönüştürdüm
    Birkaç saatte bir yeni bir görsel üretiliyor; prompt içinde hava durumu, hayvanlar, ülkeler ve haber başlıkları yer alabiliyor
    Tüm işlem evdeki ollama + stable-diffusion-webui sunucusunda yerel olarak yapılıyor
    Ancak haber tabanlı görseller fazla kasvetli olmaya başlayınca, AI'a bunu daha pozitif bir tona çevirmesini söyledim
    Yağmurlu günlerde görselde de yağmur yağıyor, kışın ise kar görünüyor
    Pil de haftalarca dayanıyor; ayrıca Online Screensaver extension üzerinde değişiklik yaparak otomatik olarak uçak moduna geçmesini sağladım

    • Ses tanıma kullanarak konuşmaları görsel olarak resmetmek de eğlenceli olabilir
    • e-ink, üretken sanatla garip şekilde çok uyumlu bir ortam
  • Yaptığım Kindle dashboard sürümü GitHub'da açık
    Yerel hava durumunu ve medya sunucusundaki müzik bilgilerini gösteriyor
    Ekrandaki ghosting sorunu, eips -f komutuyla periyodik tam yenileme yapılarak çözülebiliyor

    • Rust ile yazıldığını görünce etkilendim
      İlk kez Rust öğrenmek istediğimi düşündüm
  • Avustralya'nın Queensland eyaletinde güneş enerjili e-paper otobüs durağı tabelaları kullanılıyor
    Kindle'dan çok daha büyükler ama mantık benzer
    Proje tanıtımı, tanıtım videosu

  • Bu proje bana SystemSix projesini hatırlattı

    • Gerçekten harika. Ben de özel bir mount yapmayı denemek istedim
  • Son zamanlarda herkes böyle Kindle modifikasyon projeleri yapıyor gibi görünüyor
    Ben de K4NT'yi modifiye edip aile takvimini gösteren bir sunucu yaptım
    Biraz AI yardımı aldım; Ikea çerçeveye 3D baskı bir insert yerleştirip MagSafe power bank ekledim
    Her 5 günde bir yalnızca güç düğmesine basmak yetiyor ve iç pili de değiştirmeyi planlıyorum
    Kablolu bağlantı benim kurulumumda mümkün değildi

  • Ağı yenilemeler arasında kapatırsanız pil ömrü kesinlikle artıyor
    Ben gece 10'dan sabah 6'ya kadar güncellemeleri engelledim
    GitHub'da pil tasarrufu için çok sayıda betik var
    Daha önce Raspberry Pi Zero + 2 inç e-ink ile GTFS tabanlı bir toplu taşıma göstergesi de yapmıştım
    Kindle dashboard yazısı, Transit Pi projesi

    • Çamaşır makinesinde kalan süreyi ve Pokémon ikonlarını birlikte gösteren dashboard fikri çok tatlı
      Bu tarz akıllı ev cihazı görselleştirmeleri gerçekten çok çekici
  • Ben Kindle'ı tek amaçlı bir ekran olarak kullanmayı seviyorum
    Hatta eInk yerine LCD Kindle Fire tercih ediyorum
    Geliştirici moduna alındığında bir web sayfasını sürekli açık tutup reklamsız kullanabiliyorsunuz
    Kindle Fire HD10 yaklaşık 40 dolara bulunabiliyor

    • Kindle Fire bilgisi için teşekkürler
      Ghosting olmayan ve karanlıkta da okunabilen bir LCD, dashboard için harika bir yükseltme