概述:这个栏目挖掘到第六轮,天上的无人机(飞控与图传)、海上的船(自建船桥)、路上的汽车(车载与字体)都翻过一遍了,唯独脚下这两根铁轨一直空着。这一轮专门补上。铁路迷是一个被商业软件反复收割的群体:模型火车指挥站动辄数千元,模拟火车内容包按份售卖,出行记录散落在各种 App 里无处安放。而开源社区早就在每个环节埋好了对应的自由解法——从用 Arduino 代替千元指挥站,到把全球铁路信号机画进一张地图,再到给通勤路上打一次“火车卡”。本期7个仓库里多数 Star 还在数百到一千出头的量级,属于典型的闷声干活型项目,但个个都是各自细分领域的地基。文中 Star 数为写作时的约数,以仓库页面实时数据为准。
仓库:https://github.com/JMRI/JMRI
一句话定位:Java Model Railroad Interface,模型铁路圈事实上的标准软件,解决“几百块的车头 + 手册上一堆看不懂的 CV 参数”这个入门劝退难题。
核心拆解:JMRI 出生于2000年代初,比很多现在的开源项目资历都老,二十多年来一直是模型铁路数字化的底座。它有两个旗舰模块:DecoderPro 把 DCC 车头解码器的编程从“查表抄 CV 数值”变成勾选表单——插上编程轨,读出车头配置,改个地址、调个灯效,点鼠标就行;PanelPro 则负责整张沙盘的运营,画轨道图、布信号机、设联锁逻辑,火车压过轨道传感器,面板自动切道岔、亮红灯,一个人就能跑出像模像样的运转会。它通过 LocoNet、XpressNet、CBUS 等一票总线协议对接各家指挥站,也兼容后文的 DCC-EX,配上 WiThrottle 协议还能把手机变成无线手柄。跨平台(Windows/macOS/Linux),Java 写成,发版节奏稳定到可以当闹钟用。
上手难度:⭐⭐⭐(连接硬件调参数需要一点耐心,官方文档非常全)
适用人群:模型铁路玩家、俱乐部运营者。变现思路:帮新手指配“指挥站 + JMRI + 自动化面板”整套方案,或为沙盘展馆做定制联锁工程——这是模型店里真实存在的高客单价服务。
仓库:https://github.com/DCC-EX/CommandStation-EX
一句话定位:一块 Arduino 开发板加一个电机驱动模块,烧个固件就变成正经的 DCC 数字指挥站,把模型铁路硬件入场的价格打到几十美元。
核心拆解:商业 DCC 指挥站(Digitrax、NCE 这类)价格普遍数百美元起步,而 DCC-EX 的思路是把硬件降到极致:固件跑在 Arduino Mega(入门可上 UNO)上,外接电机驱动板输出 DCC 信号,再通过串口、WiFi 或以太网暴露控制接口。它的聪明之处在于把自己定位成生态里的“信号发生器”而非全能盒子——往上可以直接对接 JMRI 做调度和自动化,也自带网页版节流器(EX-WebThrottle)让手机浏览器直接开车,还兼容 WiThrottle 协议。进阶玩法包括编程轨单独管理、读回车头 CV、甚至驱动模拟火车头。社区文档站在 dcc-ex.com,从接线图到故障排查写得相当扎实,配套的社区也很活跃,是典型的“硬件开源 + 社区带货”打法。
上手难度:⭐⭐(会插线、能烧固件即可,成品套件 increasingly 好买)
适用人群:预算有限的车迷、喜欢 DIY 的创客。变现思路:把“烧好固件、装好外壳、附接线图”做成套件或成品在模型展和 Etsy 上卖——这是开源硬件最经典的变现路径,也有人做成了小生意。
仓库:https://github.com/openrails/openrails
一句话定位:把2001年微软《模拟列车》(MSTS)留下的庞大免费内容遗产整体继承下来的开源模拟器,Windows 上跑得最欢的开源火车游戏之一。
核心拆解:微软二十多年前做完 MSTS 就撤了,但全世界玩家给它做的免费线路、机车、车厢内容多到数不清。OpenRails 从2009年开始接盘:C# 编写,用 MonoGame 渲染,直接加载 MSTS 格式的路线和车辆内容,等于一夜之间继承了一座内容金矿。它不是简单复刻——物理模拟是卖点,蒸汽机的锅炉压力、内燃机的传动、电力机的再生制动都有各自的动力学模型,还有准点时刻表模式,玩家按真实运行图开车,早到晚到都有戏。对内容创作者,它提供更现代的物理参数格式和详尽的文档;对普通玩家,官网 openrails.org 上有整套入门指南。社区持续发布版本,是“一个老游戏如何被社区续命二十年”的经典案例。
上手难度:⭐⭐(装好就开,内容包另算)
适用人群:火车模拟爱好者、想学铁路信号与行车组织的硬核玩家。变现思路:为 OpenRails/MSTS 生态制作付费线路与机车包,或承接建模外包——高质量内容创作者在这个圈子里有稳定的付费受众。
仓库:https://github.com/leezer3/OpenBVE
一句话定位:日本传奇模拟器 BVE Trainsim 的开源重写版,主打驾驶室视角和真实的制动手感,把一个曾经闭源且 Windows 独占的珍宝从没落里救了回来。
核心拆解:BVE 在日本铁道迷心中的地位类似模型圈的 JMRI——没有排行榜、没有金币奖励,就是让你坐在驾驶室里,对着信号机一丝不苟地跑完全程,多停一米都算事故。但原作者的版本长期闭源、依赖老旧的 Windows 环境。OpenBVE 用 C# 从零重写,兼容历代 BVE 的路线和车辆格式,跨平台跑在 Windows/macOS/Linux 上,对制动曲线和驾驶舱物理做了更精细的建模,ATC/ATC-like 信号系统的还原度是社区口碑的重点。内容生态靠社区站点分发,日本、欧洲的线路包都很成规模。仓库由 leezer3 长期维护,issue 区讨论密度能看出这个“小”项目扎实的用户基本盘。
上手难度:⭐⭐⭐(内容包组织比较散,第一次装对路线+车辆+列车文件要摸索)
适用人群:驾驶室视角党、日系铁道文化爱好者。变现思路:同 OpenRails,内容制作与教学服务为主;日系线路包在细分社区有很强的付费意愿。
仓库:https://github.com/Traewelling · 官方站 https://traewelling.de
一句话定位:火车版"微信运动":坐火车时签到上车次,自动记录里程、正点率,跟朋友比谁的通勤更远,解决“火车迷的出行记录无处安放”这个真实痛点。
核心拆解:Träwelling 是德国火车迷社区的明星产品,开源的 Web 应用(Laravel 后端 + 前后端分离架构),官方在 traewelling.de 提供免费托管。玩法很简单:出发前在站台上搜到自己的车次点签到,系统接德国铁路的实时数据(HAFAS 接口)自动跟踪行程,到达后把里程、晚点分钟数记进你的年度账本——火车迷对“今年坐了多少公里 ICE、晚点率多少”这种数据有着惊人的分享欲。社交层支持关注、动态流、排行榜,还有开放 API 和第三方客户端生态。对开发者来说,它是一套完整的“接公共交通实时数据 + 做垂直社交”参考实现,这套架构换个国家、换个交通方式就能复用。
上手难度:⭐(直接用)/ ⭐⭐⭐(自部署)
适用人群:通勤族、火车迷、公共交通数据开发者。变现思路:官方走捐赠与周边模式;二开方向是面向企业的“商务差程自动记账”,或本地化到其他国家的轨道交通。
仓库:https://github.com/derf/travelynx · 官方站 https://travelynx.de
一句话定位:和 Träwelling 同一玩法(火车签到、里程统计)但完全面向自托管的 Perl 实现,主打“我的行程数据必须躺在我自己的服务器上”。
核心拆解:如果你被 Träwelling 的社交功能吸引,但介意行程数据存在别人服务器上,travelynx 就是答案。作者 derf 是德国开源圈的老兵,travelynx 用 Perl + Mojolicious 写成,同样对接德铁 HAFAS 实时数据,功能聚焦数据本身:签到、历史行程检索、月度/年度统计、数据导出,界面朴素但信息密度极高。官方站 travelynx.de 已稳定运行多年,同时仓库提供完整的自托管指引——一台小服务器加数据库就能跑起来。对独立开发者而言,它还是学习“如何优雅消费 HAFAS 这类半公开交通数据接口”的活教材,derf 的系列工具构成了一个完整的德铁数据工具链。这类项目商业故事不明显,但代表开源最原教旨的价值:同一个需求,给你一个不锁定任何平台的选择。
上手难度:⭐⭐⭐⭐(Perl 技术栈偏老派,自部署需要一定运维经验)
适用人群:数据主权党、Perl 用户、交通数据研究者。二开方向:接入本国产铁道/地铁实时数据源,做城市版行程账本。
仓库:https://github.com/OpenRailwayMap/OpenRailwayMap · 在线地图 https://openrailwaymap.org
一句话定位:基于 OpenStreetMap 数据的全球铁路专题地图,把轨道、车站、信号机、限速、电气化制式全部渲染出来,是铁路基础设施控的无限下沉海洋。
核心拆解:普通地图软件里铁路只是几根灰线,OpenRailwayMap 则是把 OSM 里铁路相关的每一个 tag 都认真渲染出来:不同制式区分轨道类型,枢纽车站的股道布置一比一呈现,德国线上能看到信号机位置、最高限速、电气化电压(15kV 16.7Hz 还是 25kV 50Hz 一眼可辨),基础设施细节精细到可以用来做行程考据和线路摄影规划。技术栈是经典的 OSM 渲染链路:数据库导入 + 地图渲染 + Web 前端分层(基础设施/限速/信号三个图层切换),作为“专题地图如何做深做透”的工程范本非常值得精读。它是铁道迷写游记、拍车前做功课的标配工具,也是地图开发者研究专题渲染的免费教材。
上手难度:⭐(当地图用)/ ⭐⭐⭐⭐(自己搭一套渲染服务)
适用人群:铁道迷、交通规划从业者、GIS 开发者。商业潜力:为物流公司、轨道交通咨询机构定制铁路底图与数据服务——专题地图数据在 B 端是真金白银的需求。
| 仓库 | 类型 | Star(约) | 上手难度 | 适用场景 |
|---|---|---|---|---|
| JMRI | 沙盘控制软件 | 数百 | ⭐⭐⭐ | 模型沙盘数字化、自动化运转 |
| DCC-EX | 开源硬件固件 | 数百 | ⭐⭐ | 低成本 DCC 指挥站、创客套件 |
| OpenRails | 桌面模拟器 | 数百 | ⭐⭐ | Windows 火车模拟、MSTS 内容生态 |
| OpenBVE | 桌面模拟器 | 数百 | ⭐⭐⭐ | 驾驶室视角、日系线路内容 |
| Träwelling | Web 应用 | 千余上下 | ⭐ | 火车打卡社交、出行统计 |
| travelynx | 自托管 Web 应用 | 数百 | ⭐⭐⭐⭐ | 数据主权、交通数据工具链 |
| OpenRailwayMap | 专题地图服务 | 数百 | ⭐ / ⭐⭐⭐⭐ | 铁路考据、GIS 工程范本 |
flowchart TD
A["铁路迷的开源栈"] --> B["跑火车"]
A --> C["看铁路"]
A --> D["记行程"]
B --> B1["DCC-EX<br/>Arduino指挥站"]
B1 --> B2["JMRI<br/>调度与自动化"]
B --> B3["OpenRails<br/>模拟器正统续作"]
B --> B4["OpenBVE<br/>驾驶室视角"]
C --> C1["OpenRailwayMap<br/>全球铁路底图"]
D --> D1["Träwelling<br/>线上打卡"]
D --> D2["travelynx<br/>自托管打卡"]
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
