- Ein Projekt, das ein kompaktes Display für BART-Zugankünfte in Echtzeit baut und damit die Atmosphäre echter Bahnsteig-Anzeigetafeln nachbildet
- Die Hardware besteht aus Seeed Studio XIAO ESP32C6 und einem 20x4 roten OLED-Zeichen-Display
- Statt GTFS Realtime API-Daten direkt zu verarbeiten, wird ein Middleware-Server aufgebaut, der sie in eine vereinfachte API umwandelt, die anschließend vom ESP32 abgefragt wird
- Ein 3D-gedrucktes Gehäuse mit Details wie Labels und Schrauben sorgt für ein Erscheinungsbild ähnlich den echten BART-Anzeigetafeln
- Das fertige Gerät wird unter einem Regal über dem Monitor befestigt und zeigt Ankunftszeiten, Sicherheitshinweise und eine Uhr an, um auch in Innenräumen Bahnsteig-Atmosphäre zu schaffen
Hardware-Aufbau
- Das Projekt besteht aus Seeed Studio XIAO ESP32C6, SPI Red 20x4 Character OLED Display und SparkFun Logic Level Converter
- Der ESP32C6 übernimmt die Ansteuerung des Displays und das Abrufen der BART-Ankunftsdaten
- Der Logic-Level-Converter stellt die Spannungskompatibilität sicher
- Gewählt wurde das rote OLED-Modul von BuyDisplay, um den Eindruck echter BART-Bahnsteig-Anzeigetafeln zu erzeugen
- Die Platine ist etwas größer als das Display selbst und beeinflusste dadurch die Endgröße, was zugunsten der Optik jedoch in Kauf genommen wurde
- Alle Bauteile wurden auf einer Lochrasterplatine (perfboard) verlötet, per Header-Pins verbunden und lassen sich direkt in Cartridge-Form am Display montieren
Firmware-Struktur
- Die offizielle BART-API nutzt das gemeinsam mit Google entwickelte GTFS Realtime-Format
- Da sich dieses auf dem ESP32 nur schwer direkt parsen lässt, wurde ein Middleware-Server aufgebaut
- Der Server ruft die GTFS-Daten ab und extrahiert nur die benötigten Informationen
- Anschließend wandelt er sie in eine vereinfachte API um, die der ESP32 aufrufen kann
- Der zugehörige Code ist im GitHub-Repository (filbot/bart-proxy) veröffentlicht
Demo und Zusammenbau
- Alle Komponenten wurden montiert und eine erste Version des 3D-gedruckten Gehäuses getestet
- Im Demo-Video arbeitet das fertige Gerät vor dem Lackieren bereits mit empfangenen Echtzeitdaten
- Enthalten ist auch der Zusammenbau, um reale Größe und Proportionen zu prüfen
Finish und äußere Gestaltung
- Die 3D-gedruckten Teile wurden geschliffen, grundiert und lackiert
- Das Logo des Herstellers der echten BART-Anzeigetafeln sowie die Bahnsteignummer wurden mit einem Brother-Etikettendrucker gedruckt und angebracht
- Die fertigen 3D-Modelldateien können bei Makerworld heruntergeladen werden
Endergebnis
- Das fertige Gerät ist mit doppelseitigem Klebeband unter einem Metallregal über dem Monitor befestigt
- Auf dem Display werden Zugankunftszeiten, die aktuelle Uhrzeit und BART-Sicherheitshinweise angezeigt
- Echtzeitinformationen lassen sich zwar auch im Web abrufen, doch ein Display als Miniatur einer echten Bahnsteig-Anzeige bietet ein deutlich reizvolleres Nutzungserlebnis
1 Kommentare
Hacker-News-Kommentare
Wirklich ein großartiges Projekt. Früher bin ich auch passend zum Fahrplan von zu Hause losgegangen, aber irgendwann habe ich gemerkt, dass das sinnlos ist
Wenn man einfach dann losgeht, wann es bequem ist, verschwindet der Stress der Planung, und selbst wenn die durchschnittliche Wartezeit etwas steigt, ist man viel entspannter
An Tagen mit etwa minus 20 Grad macht es wirklich einen großen Unterschied, ob man 1 Minute oder 7 Minuten wartet
Siehe dazu diesen Medium-Artikel
In der Zeit konnte ich SSR-Karteikarten machen oder ein Buch lesen und mich innerlich sammeln
Besonders die Station South San Francisco hat mit ihrer hohen Decke und sogar den Taubengeräuschen fast etwas von einer Kathedrale
Ich habe auch etwas Ähnliches gebaut. Ein Farbdisplay-Projekt mit Schweizer Verkehrsdaten, das ich sogar zu einem Produkt gemacht habe
Siehe den Projektbeitrag und die Produktseite
Auf dem ESP32-S3 werden vom Staat bereitgestellte öffentliche Daten verwendet
Die Umsetzung ist wirklich hervorragend. Auch die Wahl des Displays ist großartig
Wenn du Middleware reduzieren möchtest, könntest du versuchen, mit einem aktuellen LLM die Programmiersprache des Codes zu konvertieren
Der ESP ist leistungsfähig genug, um die API-Arbeit direkt zu erledigen, und eine Konvertierung mit einem LLM hätte auch einen Lerneffekt
Solche Projekte sind wirklich inspirierend
Durch die feinen Details wirkt es wie ein Miniaturschild aus einer echten Station. Wirklich toll umgesetzt
Jedes Mal, wenn ich das Display sehe, höre ich in meinem Kopf automatisch die BART-Ansagestimme
Verwandter Artikel: Artikel über BART-Durchsagen
Wirklich ein großartiges Stück Arbeit. Es wirkt so, als würde sich dadurch die Atmosphäre im Zimmer komplett verändern
Ein Funktionsvorschlag — es wäre toll, eine Roboterstimme hinzuzufügen
Siehe: Artikel über BART-Durchsagen
Aber andere fanden es zu laut, deshalb musste ich es schnell wieder ausschalten
Damals musste man noch selbst alles prüfen, wenn sich das Gleis änderte
Als ich den dazugehörigen Artikel sah, dachte ich: „Diese Stimme muss ich unbedingt finden“, und es fühlte sich an, als hätte ich genau das gefunden
Ich fand die einfache und saubere Echtzeit-API-Gestaltung inspirierend
Im Vergleich zu früher, als ich mit GTFS-Daten gearbeitet habe, wirkt der Zugang deutlich einfacher
Insgesamt sind Qualität und Details hervorragend. Atmosphäre und Immersion sind wirklich großartig
Ich wollte auch etwas Ähnliches bauen, das die Zuginformationen vor meinem Haus anzeigt
Aber ich habe bisher noch keine zuverlässige API gefunden