- BART の列車到着情報をリアルタイム表示する小型ディスプレイを製作し、実際のプラットフォーム案内板の雰囲気を再現したプロジェクト
- Seeed Studio XIAO ESP32C6 と 20x4 赤色 OLED 文字ディスプレイを使用してハードウェアを構成
- GTFS Realtime API のデータを直接処理せず、中間サーバー(middleware) を作って単純化した API に変換したうえで ESP32 から呼び出し
- 3D プリントで製作した筐体に ラベル・ネジなどの細部要素 を追加し、実際の BART 案内板に近い外観を実現
- 完成品はモニター上の棚の下に取り付けられ、到着時刻・安全メッセージ・時計表示を提供し、室内でもプラットフォーム感覚を再現
ハードウェア構成
- プロジェクトは Seeed Studio XIAO ESP32C6、SPI Red 20x4 Character OLED Display、SparkFun 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件のコメント
Hacker Newsのコメント
本当に素晴らしいプロジェクト。以前は私も駅の時刻表に合わせて家を出ていたが、すぐにそれが意味がないと気づいた
ただ都合のいい時間に出れば計画のストレスがなくなり、平均待ち時間が少し増えてもずっと気が楽になる
マイナス20度くらいの日には、1分待つのと7分待つのでは本当に大きな違いがある
関連記事はMediumの記事を参照
その時間にSSRフラッシュカードをやったり本を読んだりして、気持ちを整えることができた
特にSouth San Francisco駅は天井が高く、鳩の鳴き声まで聞こえて、ほとんど大聖堂のような雰囲気だ
私も似たようなものを作った。スイスの交通データを使ったカラーディスプレイプロジェクトで、製品化までした
プロジェクト記事と製品サイトを参照
ESP32-S3で政府提供の公共データを使用している
完成度が本当に高い。ディスプレイの選択も素晴らしい
ミドルウェアを減らしたいなら、最新のLLMを使ってコードの言語を変換してみるのも一つの方法だ
ESPはAPI処理を直接こなせるだけの性能が十分あるので、LLMで変換してみれば学習効果も大きい
この種のプロジェクトは本当に刺激を受ける
細かなディテールのおかげで、実際の駅のミニチュア看板のように感じられる。見事な完成度だ
ディスプレイを見るたびに、頭の中で自動的にBARTの案内音声が流れる感じがする
関連記事: BART案内放送に関する記事
本当に素晴らしい作品だ。部屋の雰囲気も一気に変わりそう
機能提案を一つ — ロボット音声を追加してくれるとよさそう
参考: BART案内放送の記事
だが、ほかの人たちにうるさいと言われてすぐ止めなければならなかった
昔はプラットフォームが変わると自分で全部確認しなければならなかった時代があった
関連記事を見て「この声をぜひ探し出したい」と思ったが、まさにそれを見つけたような気分だった
シンプルでクリーンなリアルタイムAPI設計に刺激を受けた
以前GTFSデータを扱ったときより、ずっと簡単に取り組めそうだと感じた
全体的に完成度とディテールが素晴らしい。雰囲気と没入感が本当にいい
私も家の前の電車情報を表示する似たようなものを作りたいと思っていた
だが、信頼できるAPIをまだ見つけられていない