打造 Transit Tracker
摘要
本文详细介绍了“Transit Tracker”的开发过程及其走红经历。这是一个开源的 DIY 项目,使用 ESPHome 和 LED 矩阵制作自定义公共交通到站信息牌。
<p><a href="https://lobste.rs/s/dpu6ym/building_transit_tracker">评论</a></p>
查看缓存全文
缓存时间: 2026/05/08 09:42
# 打造 Transit Tracker
来源:https://blog.horner.tj/building-transit-tracker/
作为 Eastside Urbanism(https://eastsideurbanism.org/)的一员,我参与组建了 Transit Tracker(https://transit-tracker.eastsideurbanism.org/)项目:一个开源的 DIY 公交到站信息显示屏,可以放在家里使用。得益于一条爆火的推文和随后的 Reddit 帖子,这个项目最近人气飙升,全球各地的人都表示想自己动手做一个。我想简要分享一下它的起源、这个项目对我的个人意义,以及人们对其进行的一些非常酷的改造。
## 我们为什么要做这个?
简而言之,就是**我们都对公共交通极度痴迷**,而这样一个设备正是展示这份热情的完美方式,同时还能成为一件实用且视觉上颇具趣味的装饰品。
故事始于 2025 年初( literally 1 月 1 日),有人在 [我们的 Discord](https://discord.com/invite/zhXKQ4vMp8) 上分享了 [West Seattle Bike Blog](https://bsky.app/profile/westseattlebikeblg.bsky.social/post/3lepoomvddk25) 的一篇帖子,内容是关于一家咖啡馆里展示纽约地铁线路的类似显示屏:
> Discord 消息,Lara G 于 2025 年 1 月 1 日下午 3:29 发送,内容为"我太想要这个了"。图片展示了一个 LED 点阵显示屏,显示接下来两班开往 96th St 的 Q 线列车的发车时间。显示屏放在一个摆满很多很多书的书架上。
立刻就有好几个人表示感兴趣。我们各自做了些研究,看看有没有现成的产品可以买,并且能适配我们当地的公交机构。确实找到了一些选择,但没有完全满足需求的。
凭借我的软件背景、最近涉足硬件的经验,以及极其业余的 CAD 技能,我心想"嗯,这个应该不难做"...于是我们就决定自己做一个,顺便还可以组织一个活动,大家一起组装(后来被称为"build party")。
> Discord 消息,TJ H 于 2025 年 1 月 1 日下午 5:11 发送,内容为"我觉得你成功 nerd-snipe 到我了,现在我必须得做一个"
>
> 从未有过如此真实的话语
从那时起,工作就开始了。接下来的几天里,我开始研究各种硬件方案,开发负责获取时刻表数据的后端服务,以及编写固件的自定义 ESPHome 组件。
仅仅五天后,我们就在真实硬件上跑通了可工作的原型。
> 一张桌子上的 LED 点阵显示屏,显示三条不同线路的发车时间:B 线开往 Bellevue TC、545 路开往 Seattle、221 路开往 Eastgate P&R。桌子很乱,各种盒子和零件散落各处。
此时剩下的就是做一个好看的外壳来装这些显示屏了。我打开 Fusion 360,研究了显示屏的图纸,然后硬着头皮画出了第一版框架的草图。令我惊讶的是,显示屏几乎完美适配。
> 一块 LED 点阵面板放在黑色 3D 打印框架的一半里,背面有电线伸出。
然后,第一台真正的 Transit Tracker 诞生了!
> 装入最终版 3D 打印框架并挂在墙上的点阵显示屏,显示三条公共交通线路的发车信息。
我们还需要做一些小的设计调整,但已经准备好评估需求了,并在社交媒体上发布了表单,看看需要为即将到来的 build party 订购多少零件。在接下来的几周里,我们迭代了设计、固件和配置软件,为公开发布做准备。
## Build Party
组装硬件和软件可以说是这个项目比较容易的部分...现在我们需要把一切记录下来,并弄清楚 build party 的后勤事宜。大约 50 人确认参加。还有很多问题需要回答:在哪里举办?如何 3D 打印 50 个框架?如何收款?我们带什么材料,参与者带什么?需要多长时间?要不要提前彩排?这些疯狂的新关税会影响从中国发货的零件吗?
这就是社区价值体现的地方;好几个人主动站出来帮忙处理后勤。我们大家一起协作解决每个细节,能和所有人一起工作让我感到非常振奋:我们分享通过实验学到的经验,比如如何在不牺牲质量的情况下更快打印框架,评估不同的场地——每天都让这场活动离现实更近一步。
经过几轮 Google 表单后,我们确定了 build party 的日期、时间和地点。所有零件都已到位,框架准备就绪,兴奋之情溢于言表。
> 几个闪亮的银色防静电袋,里面装着电源、电线和电子元件。
>
> 为 build party 准备零件套装
当天虽然遇到了一些小插曲,但基本上一切顺利,最重要的是:每个人都玩得很开心!
> 一群人在 Redmond 图书馆的会议室里,坐在摆着笔记本电脑和电子元件的桌子旁。许多人微笑着举起显示公交线路到站时间的 Transit Tracker。前景有一个投影仪,大窗户外面可以看到停着车的街道。
>
> Build party 的参与者骄傲地展示他们新组装的 Transit Tracker
[Walk and Roll Bellingham](https://walkandrollbellingham.org/) 的人看到了我们的 build party,受到启发以同样的形式举办了他们自己的活动。我决定乘坐 Amtrak Cascades 北上参观,并在现场协助 troubleshooting。
> 一群人在户外长桌旁,两个人微笑着举起 Transit Tracker。
>
> 一个人在长桌前安装 Transit Tracker 的显示屏。背景中还有几个人也在制作自己的 Transit Tracker,一个人俯身似乎在帮忙。
>
> Walk and Roll Bellingham 的 Transit Tracker build party 现场照片
两场活动的氛围都无比热烈!参与者涌入场地,拿起零件,在等待开始时互相交流。组装过程中,提前完成的人主动在房间里走动,帮助其他人。每个新完成的 Transit Tracker 都伴随着灿烂的笑容和击掌庆祝。最后,人们不仅带着自己亲手制作的 Transit Tracker 离开,还收获了持久的友谊。看到我们如何通过这个共同的兴趣将这么多人聚集在一起、加强社区联系,真的令人非常兴奋。
## 我为什么做这些事
我从 12 岁就开始写代码,我一直以来的动力都是改善生活——当然包括我自己的,但看到自己做的东西对别人产生积极影响,真的会让我非常开心。上面那些 build party 的照片完美诠释了这种感觉:几十张笑脸,兴奋地要把新玩具带回家展示,向所有朋友炫耀。
这也是我绝大多数项目(包括 Transit Tracker)都开源的原因。这样做能进一步延伸项目的价值:人们完全可以自由学习、协作开发新功能,或按自己的意愿定制。最后一点对我来说尤其重要。知道有人被我的项目所启发——它为他们提供了一个平台,让他们能够在此基础上构建自己的想法,做出真正属于自己的东西——这让我感到无比快乐。有些人主动贡献了对他们自己当地机构的支持、改进了语言支持,以及生活质量方面的改进。
这就是 Transit Tracker 对我来说如此有意义和令人满足的原因。它是我多年来积累的多种技能的结晶——Web 开发、后端架构、嵌入式开发、CAD、技术写作——用来制作一个对全球数百个人和社区产生影响的东西。我们已经看到一些人做出了非常酷的定制来适应他们的需求。以下是我最喜欢的一些。
### Transit Tracker:浅色模式版
一位来自西班牙的朋友加入我们的 Discord,提出了一个问题:他家里所有东西都是浅色的,所以现有的 Transit Tracker 框架不太符合那种美学。他询问大家对他修改后的框架设计的反馈,新设计中显示屏被一块薄的前面板覆盖,LED 光线从前面板透出来。几周后,他用白色树脂打印了这个设计,效果非常出色。
> 一个白色框架和前面板的 Transit Tracker 挂在墙上。周围的环境,包括墙壁和窗帘,也都是非常白色的。房间角落的植物下方是 Transit Tracker。
### Bellevue College
Bellevue College 可持续发展办公室的 Nick [制作了几个 Transit Tracker](https://www.bellevuecollege.edu/sustainability/2025/09/19/transit-tracker/),战略性地放置在校园内各个公交站附近。他定制了固件,使其在发车信息和站点名称之间循环显示,并制作了带有图解说明工作原理的宣传单。
> 墙上的 Transit Tracker,下方直接贴有 instructional flyer 和交通地图,两侧是窗户。
>
> 走廊墙上的 Transit Tracker,下方直接贴有 instructional flyer 和交通地图。
>
> 走廊墙上的 Transit Tracker,下方直接贴有 instructional flyer。显示"Eastgate P&R - Bay 1 - Upcoming Bus Departures"。
### Lighthouse Mission
Walk and Roll Bellingham 向当地收容所 [Lighthouse Mission](https://www.thelighthousemission.org/home/) 捐赠了一个 Transit Tracker。它放在前台,显示附近公交站的发车线路。
> 前台窗口里的 Transit Tracker,后面可以看到电脑显示器。
### Bellevue Downtown Association
Bellevue Downtown Association 设置了一个 Transit Tracker,显示附近的公交和火车发车信息。固件经过定制,改变了文本对齐方式,并显示接下来两班发车而不是仅一班。
> 玻璃桌上的 Transit Tracker,后面墙上印有反向的"Bellevue Downtown Association"字样。Transit Tracker 周围有各种 pamphlets 和其他资料。
### 木质框架
有些人发挥木工技能,为他们的 Transit Tracker 制作了定制的木质框架。
> 棕色木质框架的 Transit Tracker 放在桌上。
>
> 浅色木质框架的 Transit Tracker 放在大理石桌上,后面有一只穿燕尾服的猫。
### Now Playing 状态
Paul Cutler 在 Bluesky 上 [分享了](https://bsky.app/profile/paulcutler.org/post/3lvoxzhjhds2t) 他如何完全 [改造了 Transit Tracker 的硬件](https://www.paulcutler.org/blog/2025/08/02/updating-songmatrix/?h=songmatrix) 来显示当前播放的歌曲。
> 一个装在 3D 打印外壳里的 LED 点阵显示屏,放在显示器支架前的桌上。顶行滚动显示歌曲名 Summer Girl,底行显示乐队名 HAIM。
## 结语
这个项目的发展远超我去年此时刚开始做时的预期。我们收到了全球各地的兴趣,支持五个国家 43 个公交机构,每周都有 [更多请求](https://github.com/EastsideUrbanism/transit-tracker/issues?q=sort:updated-desc%20is:issue%20is:open%20label:%22new%20agency%22) 进来。它成为了凝聚人们的工具,也成为了催化剂,激励其他人在此基础上构建自己的项目。
听起来可能有点俗,但从事 Transit Tracker 让我想起了自己为什么做东西:不是为了钱,也不是为了社交影响力,而是为了让人们开心,对他们的生活产生积极影响。而我认为它确实做到了。
相似文章
@adafruit: 智能电子纸桌面仪表板 – ESP32-C6 SuperMini + 7.5″ Display #3DThursday #3DPrinting https://blog.adafruit.com/2026…
这是一个使用ESP32-C6 SuperMini和一个7.5英寸显示器的智能电子纸桌面仪表板项目展示,是Adafruit的3D打印系列的一部分。
所以,我有了一个天气播报员,它还能告诉我新闻。
一位开发者详细介绍了使用ESP32和Claude Code构建定制电子墨水屏显示器,用于个人监控天气、新闻和其他信息。
AlphaTransit:学习设计城市规模的公交线路
AlphaTransit 结合蒙特卡洛树搜索与神经策略-价值网络,通过预测下游质量而无需模拟器 rollout,从而优化公交线路设计。在 Bloomington 公交基准上,它实现了显著的服务率提升。
Show HN:我用1600美元的ESP32替换了价值12万美元的保龄球中心系统
一位开发者用ESP32微控制器构建了一个低成本替代方案,取代了价值12万美元的保龄球中心计分系统,总花费仅1600美元。
TEA5767收音机调谐器
一个基于ESP32的FM收音机调谐器项目,采用TEA5767模块,具有定制PCB设计,配备OLED显示屏和放大器,并在GitHub上记录。