- Karena tinggal di San Francisco, saya jadi sering menggunakan transportasi umum, tetapi banyak aplikasi hanya menyediakan notifikasi kedatangan untuk seluruh rute.
- Saya membuat agar hanya notifikasi kedatangan yang dekat dengan lokasi saat ini yang ditampilkan di Kindle, sehingga bisa dicek sebelum berangkat.
- Kindle di-jailbreak untuk mengaktifkan USBNet dan dikonfigurasi agar bisa diakses melalui SSH.
- Dengan begitu, pekerjaan cron dapat disetel untuk memperbarui layar.
- Sebagai langkah awal untuk menampilkan gambar di Kindle, tangkapan layar dari halaman keberangkatan real-time BART diambil lalu dikirim ke Kindle.
- Pada percobaan awal, gambar ditampilkan dengan distorsi yang parah.
- Masalah tersebut diselesaikan dengan menyesuaikan ukuran gambar dan kedalaman warna.
Menyediakan gambar yang berguna
- Server Node.js dibangun dan menggunakan Puppeteer untuk mengambil tangkapan layar halaman BART, lalu menyesuaikannya ke ukuran dan warna yang cocok untuk Kindle sebelum mengembalikannya melalui endpoint HTTP.
- Server dipasang di Raspberry Pi, lalu cron disetel agar mengambil gambar setiap menit.
Memulai lagi dari awal - arsitektur
- Server HTTP baru dibangun menggunakan Rust dan Axum.
- API 511.org digunakan untuk mengambil waktu kedatangan semua halte di Bay Area.
- Library grafis Skia digunakan untuk merender gambar PNG secara langsung.
Mengambil data
- API 511.org digunakan untuk mengambil waktu kedatangan SF MUNI.
- Respons JSON diparse lalu difilter agar hanya waktu kedatangan untuk halte yang dibutuhkan yang diambil.
- Waktu kedatangan diurutkan lalu ditampilkan untuk masing-masing arah.
Ringkasan GN⁺
- Proyek ini membahas proses membangun sistem yang memanfaatkan Kindle lama untuk menampilkan informasi transportasi umum secara real-time.
- Dengan menggunakan Rust dan Skia, sistem yang efisien dan andal dapat dibangun.
- Dengan menyediakan informasi transportasi umum secara real-time, sistem ini dapat memberikan informasi yang berguna kepada pengguna.
- Sebagai proyek dengan fungsi serupa, proyek smart display berbasis Raspberry Pi direkomendasikan.
1 komentar
Komentar Hacker News
OneBusAway adalah proyek open source yang digunakan banyak orang setiap hari untuk memeriksa lokasi dan waktu kedatangan bus, kereta, trem, dan kereta gantung
Pengguna lain menyebut aplikasi bernama Öffi yang menawarkan fungsi serupa dengan OneBusAway
BART dan MUNI mendukung General Transit Feed Specification, sehingga data bisa diperoleh dengan cara standar
Seorang pengguna yang pernah tinggal di Boston tanpa mobil mengatakan ia menemukan cara mencapai tujuan melalui berbagai rute, dan tampilan "keberangkatan berikutnya" sangat berguna
Di Inggris, orang dapat membeli papan keberangkatan yang meniru papan keberangkatan di stasiun
Di Washington, DC, layanan ini berfungsi untuk bus tetapi tidak untuk kereta, dan bantuan dibutuhkan agar kompatibel dengan kereta
Tanpa perlu menjailbreak Kindle, orang dapat dengan mudah membuat layar cuaca, transportasi, dan berita menggunakan browser web
Seorang pengguna yang tinggal di SF mengembangkan aplikasi iOS "A Better Ride" untuk menampilkan waktu keberangkatan halte terdekat, sehingga transportasi menjadi lebih dapat diprediksi dan mudah dijelajahi
Pengguna menginginkan alternatif seperti Google Maps, dan ingin mendapatkan rute alternatif ketika kereta rusak atau jalur terblokir
Sebuah sistem dibangun menggunakan tablet Lenovo ThinkSmart View untuk menyediakan berbagai fungsi melalui integrasi dengan otoritas transportasi setempat