- Sống ở San Francisco và thường xuyên sử dụng phương tiện công cộng, nhưng nhiều ứng dụng chỉ cung cấp thông báo giờ đến cho toàn bộ lộ trình
- Đã tạo để chỉ hiển thị trên Kindle những thông báo giờ đến gần vị trí hiện tại, nhờ đó có thể kiểm tra trước khi ra ngoài
- Đã jailbreak Kindle, kích hoạt USBNet và cấu hình để có thể truy cập qua SSH.
- Nhờ vậy có thể thiết lập tác vụ cron để cập nhật màn hình hiển thị.
- Bước đầu tiên để hiển thị hình ảnh trên Kindle là chụp ảnh màn hình trang khởi hành thời gian thực của BART và gửi sang Kindle.
- Ở lần thử ban đầu, hình ảnh hiển thị bị méo nghiêm trọng.
- Đã giải quyết vấn đề bằng cách điều chỉnh kích thước ảnh và độ sâu màu.
Cung cấp hình ảnh hữu ích
- Xây dựng máy chủ Node.js, dùng Puppeteer để chụp ảnh màn hình trang BART, điều chỉnh về kích thước và màu sắc phù hợp với Kindle rồi trả về qua một HTTP endpoint.
- Cài máy chủ trên Raspberry Pi và dùng cron để lấy ảnh mỗi phút.
Bắt đầu lại từ đầu - Kiến trúc
- Xây dựng một HTTP server mới bằng Rust và Axum.
- Sử dụng API của 511.org để lấy thời gian đến của tất cả các điểm dừng trong Bay Area.
- Dùng thư viện đồ họa Skia để render trực tiếp ảnh PNG.
Lấy dữ liệu
- Sử dụng API của 511.org để lấy thời gian đến của SF MUNI.
- Parse phản hồi JSON và chỉ lọc ra thời gian đến của những điểm dừng cần thiết.
- Sắp xếp thời gian đến và hiển thị theo từng hướng.
Tóm tắt của GN⁺
- Dự án này nói về quá trình xây dựng một hệ thống tận dụng Kindle cũ để hiển thị thông tin giao thông công cộng theo thời gian thực.
- Sử dụng Rust và Skia để xây dựng một hệ thống hiệu quả và đáng tin cậy.
- Bằng cách cung cấp thông tin giao thông công cộng theo thời gian thực, hệ thống có thể mang lại thông tin hữu ích cho người dùng.
- Một dự án có chức năng tương tự được khuyến nghị là dự án màn hình thông minh dựa trên Raspberry Pi.
1 bình luận
Ý kiến trên Hacker News
OneBusAway là một dự án mã nguồn mở, được nhiều người sử dụng hằng ngày để kiểm tra vị trí và thời gian đến của xe buýt, tàu, xe điện và cáp treo
Một người dùng khác nhắc đến ứng dụng Öffi, cung cấp các tính năng tương tự OneBusAway
BART và MUNI hỗ trợ General Transit Feed Specification, nên có thể lấy dữ liệu theo cách tiêu chuẩn
Một người dùng từng sống ở Boston mà không có ô tô cho biết họ đã tìm ra cách đến đích qua nhiều lộ trình khác nhau, và chế độ xem "chuyến khởi hành tiếp theo" rất hữu ích
Ở Anh, có thể mua bảng giờ khởi hành mô phỏng bảng thông báo khởi hành tại nhà ga
Tại Washington, DC, hệ thống hoạt động với xe buýt nhưng không hoạt động với tàu, và cần hỗ trợ để tương thích với tàu
Có thể dễ dàng tạo màn hình hiển thị thời tiết, giao thông và tin tức bằng trình duyệt web mà không cần jailbreak Kindle
Một người dùng sống ở SF đã phát triển ứng dụng iOS "A Better Ride" để hiển thị giờ khởi hành tại các điểm dừng gần đó, giúp giao thông trở nên dễ dự đoán và dễ khám phá hơn
Người dùng muốn có phương án thay thế như Google Maps, và muốn được cung cấp lộ trình thay thế khi tàu bị hỏng hoặc tuyến bị chặn
Một người dùng đã xây dựng hệ thống dùng máy tính bảng Lenovo ThinkSmart View, tích hợp với cơ quan giao thông địa phương để cung cấp nhiều tính năng khác nhau