1 điểm bởi GN⁺ 2025-11-12 | 1 bình luận | Chia sẻ qua WhatsApp
  • Dự án tạo ra một màn hình nhỏ hiển thị thông tin tàu BART đến theo thời gian thực, tái hiện cảm giác của bảng chỉ dẫn thật trên sân ga
  • Cấu hình phần cứng sử dụng Seeed Studio XIAO ESP32C6màn hình ký tự OLED đỏ 20x4
  • Thay vì xử lý trực tiếp dữ liệu từ GTFS Realtime API, dự án tạo một máy chủ trung gian (middleware) để chuyển đổi sang API đơn giản hơn rồi ESP32 gọi tới
  • Vỏ được in 3D và bổ sung các chi tiết như nhãn, ốc vít để tạo ngoại hình giống bảng chỉ dẫn BART thật
  • Thành phẩm được gắn bên dưới kệ phía trên màn hình, cung cấp thời gian tàu đến, thông điệp an toàn và đồng hồ, tái hiện cảm giác sân ga ngay trong nhà

Cấu hình phần cứng

  • Dự án gồm Seeed Studio XIAO ESP32C6, SPI Red 20x4 Character OLED Display, và SparkFun Logic Level Converter
    • ESP32C6 đảm nhiệm việc điều khiển màn hình và thu thập thông tin tàu BART đến
    • Bộ chuyển đổi mức logic giúp đảm bảo tương thích điện áp
  • Mô-đun OLED đỏ của BuyDisplay được chọn để tái hiện cảm giác của bảng chỉ dẫn trên sân ga BART thật
    • PCB lớn hơn màn hình một chút nên có ảnh hưởng đến kích thước cuối cùng, nhưng được chấp nhận để đổi lấy độ hài lòng về mặt thị giác
  • Tất cả linh kiện được hàn lên perfboard và kết nối bằng header pin, có thể gắn trực tiếp lên màn hình theo kiểu cartridge

Cấu trúc firmware

  • API chính thức của BART sử dụng định dạng GTFS Realtime được phát triển với sự hợp tác của Google
  • Vì khó phân tích cú pháp trực tiếp trên ESP32, dự án đã xây dựng máy chủ trung gian (middleware)
    • Máy chủ lấy dữ liệu GTFS và chỉ trích xuất những thông tin cần thiết
    • Sau đó chuyển đổi sang API đã được đơn giản hóa để ESP32 có thể gọi
  • Mã liên quan được công khai trong kho GitHub (filbot/bart-proxy)

Demo và lắp ráp

  • Tất cả linh kiện được lắp ráp và phiên bản đầu tiên của vỏ in 3D được đem ra thử nghiệm
  • Trong video trình diễn, thành phẩm ở giai đoạn trước khi sơn hoạt động trong trạng thái nhận dữ liệu thời gian thực
  • Bao gồm cả quá trình lắp ráp để kiểm tra kích thước và tỷ lệ thực tế

Hoàn thiện và hoàn tất ngoại hình

  • Các bộ phận in 3D được chà nhám, sơn lót rồi sơn phủ để hoàn thiện
  • Logo nhà sản xuất bảng chỉ dẫn BART thật và số sân ga được in bằng máy in nhãn Brother rồi dán lên
  • Tệp mô hình 3D hoàn chỉnh có thể tải xuống từ Makerworld

Kết quả cuối cùng

  • Thành phẩm được gắn bằng băng dính hai mặt bên dưới kệ kim loại phía trên màn hình
  • Màn hình hiển thị thời gian tàu đến, giờ hiện tại và thông điệp an toàn của BART
  • Dù cũng có thể xem thông tin thời gian thực trên web, một màn hình thu nhỏ mô phỏng sân ga thật mang lại trải nghiệm sử dụng thú vị hơn

1 bình luận

 
GN⁺ 2025-11-12
Ý kiến trên Hacker News
  • Đây thực sự là một dự án rất tuyệt. Trước đây tôi cũng từng rời nhà theo lịch tàu ở ga, nhưng rồi sớm nhận ra điều đó chẳng có nhiều ý nghĩa
    Cứ ra ngoài vào lúc thuận tiện thì bớt hẳn áp lực phải canh giờ, và dù thời gian chờ trung bình có tăng lên một chút thì tinh thần vẫn thoải mái hơn nhiều

    • Tôi sống ở Phần Lan, mùa đông lạnh quá nên đã tự làm một thiết bị phần cứng hiển thị giờ khởi hành của xe điện gần nhà
      Vào những ngày khoảng âm 20 độ thì chờ 1 phút với chờ 7 phút thật sự khác biệt rất lớn
    • Thời gian chờ trung bình thậm chí có thể dài hơn nhiều chứ không chỉ đơn thuần là gấp đôi. Đó là do Waiting Time Paradox, một hiện tượng Inspection Paradox trong lĩnh vực giao thông
      Có thể tham khảo bài trên Medium
    • Tôi cũng có trải nghiệm giống vậy. Thậm chí những buổi sáng vừa lỡ chuyến BART lại dễ chịu hơn
      Lúc đó tôi có thể ôn flashcard SSR hoặc đọc sách để lấy lại bình tĩnh
      Đặc biệt, ga South San Francisco có trần rất cao, lại còn nghe thấy cả tiếng bồ câu nên không khí gần như giống một nhà thờ lớn
    • Tôi chỉ kiểm tra lịch khi xe buýt hay tàu chạy cách nhau hơn 10 phút. Xe điện thì hầu như luôn dưới 10 phút nên tôi cứ thế đi thôi
    • Nhưng sẽ khác nếu bạn đi tuyến mà tàu đến mỗi 30 phút. Trong trường hợp đó, đến đúng giờ rõ ràng là rất đáng giá
  • Tôi cũng đã làm một thứ tương tự. Đó là dự án màn hình màu dùng dữ liệu giao thông Thụy Sĩ, và tôi còn thương mại hóa nó
    Có thể xem bài viết về dự ántrang sản phẩm
    Nó dùng dữ liệu công khai do chính phủ cung cấp trên ESP32-S3

    • Tôi không chắc mình quy đổi tỷ giá có đúng không. Khoảng 1449CHF trông như tương đương 1800 USD, nhưng tôi cũng không rõ nữa
  • Mức độ hoàn thiện thật sự rất cao. Lựa chọn màn hình cũng rất xuất sắc
    Nếu muốn giảm middleware, một cách là thử dùng LLM đời mới để chuyển đổi ngôn ngữ mã
    ESP đủ mạnh để tự xử lý công việc API, nên nếu thử chuyển bằng LLM thì hiệu quả học tập cũng rất lớn

  • Những dự án kiểu này thật sự truyền cảm hứng
    Nhờ những chi tiết tỉ mỉ mà nó tạo cảm giác như một biển báo ga thu nhỏ ngoài đời thực. Thành phẩm rất đẹp

  • Mỗi lần nhìn màn hình là trong đầu tôi tự động vang lên giọng thông báo của BART
    Bài liên quan: bài viết về phát thanh thông báo của BART

  • Đây là một món tự chế thực sự rất đẹp. Có cảm giác nó sẽ làm thay đổi hẳn không khí của căn phòng

  • Tôi có một đề xuất tính năng — sẽ rất hay nếu thêm giọng nói robot
    Tham khảo: bài viết về phát thanh thông báo của BART

    • Trước đây ở Noisebridge từng có một chương trình phát thời gian đến của BART bằng giọng tổng hợp
      Nhưng vì những người khác thấy ồn ào nên nhanh chóng phải tắt đi
    • Với tôi, cái giọng nói không rõ ràng nhưng cuốn hút đó vẫn là một nỗi hoài niệm
      Ngày trước, khi sân ga thay đổi thì phải tự mình đi kiểm tra từng nơi
    • Hệ thống tổng hợp giọng nói cũ của BART đến giờ vẫn rất ấn tượng. Khi đó nó là công nghệ tối tân, và đến giờ nghe vẫn thấy có cảm giác tương lai
      Sau khi đọc bài liên quan, tôi đã nghĩ “mình nhất định phải tìm ra giọng nói này”, và cảm giác như vừa tìm đúng thứ đó vậy
  • Tôi thấy được truyền cảm hứng từ thiết kế API thời gian thực đơn giản và gọn gàng này
    Nó khiến tôi nghĩ rằng có lẽ có thể tiếp cận vấn đề dễ hơn nhiều so với lần trước khi tôi làm việc với dữ liệu GTFS

  • Tổng thể thì mức độ hoàn thiện và chi tiết đều rất xuất sắc. Không khí và cảm giác nhập vai thực sự rất tốt

  • Tôi cũng từng muốn làm thứ tương tự để hiển thị thông tin tàu trước nhà
    Nhưng tôi vẫn chưa tìm được một API đủ đáng tin cậy