- Memodifikasi Kindle Touch generasi ke-4 lawas menjadi dasbor e-ink yang memperbarui waktu kedatangan bus NJ Transit setiap 1 menit
- Membangun lingkungan untuk menjalankan aplikasi kustom melalui jailbreak, KUAL, MRPI, dan konfigurasi SSH, lalu menghasilkan gambar di server berbasis Node untuk ditampilkan di Kindle
- Server mengambil data bus lewat GraphQL API, memformatnya sebagai HTML, lalu membuat PNG dengan wkhtmltoimage yang diambil Kindle secara berkala
- Membuat aplikasi KUAL sendiri agar dasbor bisa ditutup dengan tombol menu, serta mengatur daya dan pembaruan otomatis menggunakan bash trap dan rtcwake
- Daya tahan baterai sekitar 5 hari, masih ada ruang untuk memperbaiki masalah ghosting layar, dan proyek ini menunjukkan potensi pemanfaatan layar e-ink untuk informasi real-time
Mengubah Kindle menjadi layar informasi kedatangan bus
- Kindle Touch generasi ke-4 dimodifikasi menjadi papan informasi kedatangan bus real-time
- Layar diperbarui setiap 1 menit, dan mode dasbor bisa ditutup dengan tombol menu
- Menghadirkan fungsi mirip produk komersial TRMNL secara gratis
1. Jailbreak Kindle
- Memeriksa versi firmware Kindle, mengunduh file tar yang sesuai, lalu menjalankan prosedur jailbreak
- Setelah berhasil, lanjut ke tahap pemasangan KUAL dan MRPI
2. Memasang KUAL dan MRPI
- KUAL digunakan sebagai peluncur aplikasi kustom, sedangkan MRPI sebagai alat instalasi aplikasi
- Sebelum instalasi, pengaturan Hotfix harus dilakukan terlebih dahulu
- Setelah pemasangan, menonaktifkan pembaruan OTA untuk memblokir update otomatis
3. Konfigurasi SSH
- Akses SSH ke Kindle dimungkinkan melalui ekstensi USBNetwork
- Mengacu pada panduan blog eksternal untuk menyiapkan koneksi SSH berbasis USB
- Saat koneksi berhasil, Kindle muncul sebagai perangkat baru di tab jaringan komputer
4. Membangun server dan menghasilkan gambar
- Mengambil informasi kedatangan bus menggunakan NJ Transit GraphQL API
- Mengumpulkan data seperti rute, waktu kedatangan, tingkat kepadatan, dan lainnya dengan kueri
getBusArrivalsByStopID
- Menggunakan wkhtmltoimage alih-alih puppeteer untuk mengubah HTML menjadi PNG
- Server membuat gambar baru setiap 3 menit dan Kindle memintanya
- Kode terkait dipublikasikan di repositori GitHub
kindle-hax/server
- Menyesuaikan rotasi dan perataan gambar dengan resolusi layar Kindle (misalnya 600x800)
- Tampilan vertikal diterapkan dengan
transform: rotate(90deg) translateX(-100px) translateY(-100px);
5. Membuat aplikasi KUAL
- Membuat ekstensi KUAL kustom untuk mengontrol mulai/berhentinya dasbor
- Menempatkan folder di
/mnt/us/extensions/ agar menu ‘Start dashboard’ muncul di KUAL
- Skrip start.sh menjaga eksekusi tetap stabil dengan mengabaikan sinyal (
trap '' HUP, trap '' TERM)
- Fungsi
refresh_screen() mengunduh gambar dari server lalu menampilkannya dengan perintah eips
- Di bagian atas ditampilkan tanggal, status Wi-Fi, dan sisa baterai
- Dengan evtest, saat input tombol menu (
code 102 (Home), value 1) terdeteksi, stop.sh dijalankan
- Dasbor dihentikan dan UI Kindle dijalankan ulang
6. Hasil dan hal yang bisa ditingkatkan
- Daya tahan baterai sekitar 5 hari, dan bisa diperpanjang 2 hari jika daya dimatikan pada malam hari
- Masalah ghosting layar (color bleeding) berpotensi diperbaiki dengan flash hitam-putih penuh
- Sudah digunakan setiap hari, dan terkonfirmasi potensi perluasan untuk menampilkan kalender, cuaca, daftar tugas, dan informasi lain
2 komentar
Saya juga baru-baru ini melakukan hal yang mirip, dan kalau Anda tidak terganggu melihat bilah URL di atas, cukup muat halaman web saja.
Kindle pada dasarnya bisa mengakses URL dari browser web, jadi Anda tinggal memuat dashboard dari sana.
Di kantor saya memakainya dengan Kindle, dan di rumah dengan Paperwhite generasi lama memuat halaman yang sama, jadi lumayan lintas platform juga haha
Tentu saja, untuk mode Kindle yang tetap menyala terus, Anda perlu melakukan rooting atau langkah serupa.
Untuk Paperwhite, tidak perlu sampai rooting; cukup buka koneksi adb lalu nonaktifkan screensaver dari sana.
Komentar Hacker News
Sebagai seseorang yang dulu pernah mengerjakan soal konsumsi daya Kindle, sumber konsumsi daya terbesar adalah koneksi WiFi
karena WiFi harus merespons AP secara berkala agar koneksi tidak terputus
Setahu saya, saat WiFi mati konsumsi dayanya sekitar 700uA, dan saat menyala sekitar 1.5mA
Saat halaman berubah, daya sempat melonjak sesaat hingga ratusan mA, dan untuk mengurangi ghosting, dilakukan refresh layar penuh setiap beberapa halaman
Dibutuhkan catu daya yang bisa menyuplai sekitar 1.5A sesaat; saya menghubungkan USB hub bertenaga lama ke Raspberry Pi dan mengendalikannya via SSH, sehingga bisa berjalan stabil selama berbulan-bulan tanpa WiFi
Frekuensi pemakaiannya kurang dari 30 kali per bulan, tetapi jika WiFi dimatikan efisiensi baterainya benar-benar luar biasa
Saya belum memodifikasi Paperwhite Kindle saya, tetapi setidaknya saya berencana menghapus iklan layar kunci
Baru sekarang saya benar-benar paham mengapa baterai jauh lebih awet dalam mode pesawat
Saya memakai cara yang lebih sederhana
Setelah jailbreak, saya masuk lewat SSH dan membuat dua skrip yang berjalan setiap 1 menit dan 30 menit
Kedua skrip menampilkan gambar yang sama, tetapi tiap 30 menit ditambahkan refresh penuh
Dari Raspberry Pi saya mengirim gambar lewat rsync, dan skrip Python mengambil data kualitas udara dari MySQL lalu menyusun gambarnya
Kindle hanya bertugas menampilkan gambar, jadi berjalan sangat stabil
Asal mendukung koneksi aman seperti TLS
Hack Kindle itu benar-benar menyenangkan
Di eBay, Kindle lawas bisa didapat seharga 15–20 euro, dan saya juga senang bereksperimen dengan hal yang sama tahun lalu
Proses lengkapnya saya tulis di postingan blog saya
Ukurannya kecil, tetapi jika dipasangi firmware Crosspoint bisa dipakai sebagai reader e-ink portabel
Video YouTube, Crosspoint GitHub
Harganya sedikit lebih mahal, tetapi mungkin memakai kembali panel layar Kindle
Setelah membaca ini saya jadi ingin lebih banyak bereksperimen dengan platform seperti Cloudflare Workers
Saya mengubah Kindle lama menjadi bingkai gambar buatan AI
Setiap beberapa jam, gambar baru dibuat, dan prompt-nya bisa memasukkan cuaca, hewan, negara, judul berita, dan sebagainya
Semua pemrosesan dilakukan secara lokal di server rumah dengan ollama + stable-diffusion-webui
Namun gambar berbasis berita jadi terlalu muram, jadi saya menginstruksikan AI untuk mengubahnya ke nada yang positif
Saat hujan, gambar di dalamnya juga menampilkan hujan; saat musim dingin, tampil salju
Baterainya juga bertahan berminggu-minggu, dan saya memodifikasi Online Screensaver extension agar otomatis beralih ke mode pesawat
Versi dashboard Kindle yang saya buat tersedia di GitHub
Ini menampilkan cuaca lokal dan informasi musik dari media server
Masalah ghosting pada layar bisa diatasi dengan refresh penuh berkala memakai perintah
eips -fUntuk pertama kalinya saya jadi ingin belajar Rust
Di Queensland, Australia, sedang dioperasikan papan informasi halte bus e-paper bertenaga surya
Ukurannya jauh lebih besar daripada Kindle, tetapi prinsipnya mirip
Perkenalan proyek, video demo
Proyek ini mengingatkan saya pada proyek SystemSix
Belakangan ini rasanya semua orang membuat proyek modifikasi Kindle seperti ini
Saya juga memodifikasi K4NT dan membuat server yang menampilkan jadwal keluarga
Saya sedikit dibantu AI, lalu memasang insert hasil cetak 3D di bingkai Ikea dan menempelkan power bank MagSafe
Saya hanya perlu menekan tombol daya setiap 5 hari, dan baterai internalnya berencana saya ganti
Koneksi kabel tidak memungkinkan di lingkungan saya
Jika jaringan dimatikan di antara refresh, masa pakai baterai memang meningkat jelas
Saya memblokir update dari jam 10 malam sampai 6 pagi
Di GitHub ada banyak skrip untuk penghematan baterai
Dulu saya juga pernah membuat penampil transportasi umum berbasis GTFS dengan Raspberry Pi Zero + e-ink 2 inci
Tulisan dashboard Kindle, proyek Transit Pi
Visualisasi peralatan rumah tangga pintar seperti ini benar-benar menarik
Saya suka memakai Kindle sebagai layar dengan satu tujuan khusus
Saya justru lebih suka LCD Kindle Fire daripada eInk
Jika diubah ke mode developer, Anda bisa membiarkan halaman web tetap terbuka terus dan memakainya tanpa iklan
Kindle Fire HD10 bisa didapat dengan harga sekitar 40 dolar
LCD tanpa ghosting dan tetap bisa dibaca di tempat gelap adalah peningkatan yang sangat bagus untuk dashboard