1 ポイント 投稿者 GN⁺ 2025-11-12 | 1件のコメント | WhatsAppで共有
  • BART の列車到着情報をリアルタイム表示する小型ディスプレイを製作し、実際のプラットフォーム案内板の雰囲気を再現したプロジェクト
  • Seeed Studio XIAO ESP32C620x4 赤色 OLED 文字ディスプレイを使用してハードウェアを構成
  • GTFS Realtime API のデータを直接処理せず、中間サーバー(middleware) を作って単純化した API に変換したうえで ESP32 から呼び出し
  • 3D プリントで製作した筐体に ラベル・ネジなどの細部要素 を追加し、実際の BART 案内板に近い外観を実現
  • 完成品はモニター上の棚の下に取り付けられ、到着時刻・安全メッセージ・時計表示を提供し、室内でもプラットフォーム感覚を再現

ハードウェア構成

  • プロジェクトは Seeed Studio XIAO ESP32C6SPI Red 20x4 Character OLED DisplaySparkFun Logic Level Converter で構成
    • ESP32C6 はディスプレイ駆動と BART 到着情報の取得を担当
    • ロジックレベル変換器によって電圧互換性を確保
  • BuyDisplay の赤色 OLED モジュールを選び、実際の BART プラットフォーム案内板の雰囲気を再現
    • PCB がディスプレイよりやや大きく最終サイズに影響したが、視覚的な満足度を優先
  • すべての部品は ユニバーサル基板(perfboard) に半田付けしてヘッダーピンで接続し、ディスプレイへ カートリッジ形式で直接装着 できるようにした

ファームウェア構成

  • BART 公式 API は Google と協力して開発された GTFS Realtime 形式を使用
  • ESP32 で直接パースするのが難しいため、中間サーバー(middleware) を構築
    • サーバーが GTFS データを取得して必要な情報だけを抽出
    • ESP32 が呼び出せる 単純化された API に変換
  • 関連コードは GitHub リポジトリ(filbot/bart-proxy)で公開

デモと組み立て

  • すべての部品を組み立て、3D プリント筐体 の初期バージョンをテスト
  • デモ映像では、塗装前段階の完成品が リアルタイムデータ受信状態 で動作
  • 実際のサイズと比率を確認するための組み立て工程も含まれる

仕上げと外観の完成

  • 3D プリント部品を 研磨・プライマー処理後に塗装 して仕上げ
  • 実際の BART 案内板製作会社のロゴとプラットフォーム番号を Brother ラベルプリンター で印刷して貼り付け
  • 完成した 3D モデルファイルは Makerworld からダウンロード可能

最終結果

  • 完成品は モニター上の金属棚の下 に両面テープで取り付け
  • ディスプレイには 列車到着時刻、現在時刻、BART の安全メッセージ が表示
  • リアルタイム情報は Web でも確認できるが、実際のプラットフォームを模したミニチュア型ディスプレイ のほうがより楽しい利用体験を提供する

1件のコメント

 
GN⁺ 2025-11-12
Hacker Newsのコメント
  • 本当に素晴らしいプロジェクト。以前は私も駅の時刻表に合わせて家を出ていたが、すぐにそれが意味がないと気づいた
    ただ都合のいい時間に出れば計画のストレスがなくなり、平均待ち時間が少し増えてもずっと気が楽になる

    • フィンランドに住んでいるが、冬はとても寒いので、自宅近くのトラムの発車時刻を表示するハードウェア装置を自作した
      マイナス20度くらいの日には、1分待つのと7分待つのでは本当に大きな違いがある
    • 平均待ち時間は単純に半分よりさらに長くなることもある。これはWaiting Time Paradoxによるもので、交通分野におけるInspection Paradoxの現象だ
      関連記事はMediumの記事を参照
    • 私も同じ経験をした。むしろBARTの列車に乗り遅れた朝のほうがよかった
      その時間にSSRフラッシュカードをやったり本を読んだりして、気持ちを整えることができた
      特にSouth San Francisco駅は天井が高く、鳩の鳴き声まで聞こえて、ほとんど大聖堂のような雰囲気だ
    • バスや電車が10分間隔以上のときだけ時刻表を確認する。トラムはほぼ常に10分以内なので、そのまま出かける
    • 列車が30分間隔で来る路線を使う場合は話が変わる。こういう場合は時間を合わせて到着することに明確な価値がある
  • 私も似たようなものを作った。スイスの交通データを使ったカラーディスプレイプロジェクトで、製品化までした
    プロジェクト記事製品サイトを参照
    ESP32-S3で政府提供の公共データを使用している

    • 為替計算が合っているのか気になる。約1449CHFが1800ドル程度に見えるが、合っているのだろうか
  • 完成度が本当に高い。ディスプレイの選択も素晴らしい
    ミドルウェアを減らしたいなら、最新のLLMを使ってコードの言語を変換してみるのも一つの方法だ
    ESPはAPI処理を直接こなせるだけの性能が十分あるので、LLMで変換してみれば学習効果も大きい

  • この種のプロジェクトは本当に刺激を受ける
    細かなディテールのおかげで、実際の駅のミニチュア看板のように感じられる。見事な完成度だ

  • ディスプレイを見るたびに、頭の中で自動的にBARTの案内音声が流れる感じがする
    関連記事: BART案内放送に関する記事

  • 本当に素晴らしい作品だ。部屋の雰囲気も一気に変わりそう

  • 機能提案を一つ — ロボット音声を追加してくれるとよさそう
    参考: BART案内放送の記事

    • 以前、NoisebridgeでBART到着時刻を合成音声で放送するプログラムを作ったことがある
      だが、ほかの人たちにうるさいと言われてすぐ止めなければならなかった
    • 私にとっては、そのはっきりしないけれど魅力的な声が郷愁として残っている
      昔はプラットフォームが変わると自分で全部確認しなければならなかった時代があった
    • BARTの古い音声合成システムはいまでも印象的だ。当時は最先端で、今聞いても未来的な感じがする
      関連記事を見て「この声をぜひ探し出したい」と思ったが、まさにそれを見つけたような気分だった
  • シンプルでクリーンなリアルタイムAPI設計に刺激を受けた
    以前GTFSデータを扱ったときより、ずっと簡単に取り組めそうだと感じた

  • 全体的に完成度とディテールが素晴らしい。雰囲気と没入感が本当にいい

  • 私も家の前の電車情報を表示する似たようなものを作りたいと思っていた
    だが、信頼できるAPIをまだ見つけられていない