🚆 LBJ 列车信息采集系统

一个基于 TTGO LoRa 32 v1.6.1(ESP32 + SX1276 868MHz) 的铁路列车接近预警(LBJ)报文接收机项目,用于接收中国铁路列车接近预警系统(821.2375MHz,POCSAG 协议)发射的列车信息报文,并提供 PC 桌面端Android 手机端 两套数据采集与监控软件。


✨ 功能特性

  • OLED 实时显示:解析并格式化显示 LBJ 列车报文
  • TF 卡存储:接收到的列车信息自动保存为文本和 CSV 格式
  • Telnet 服务:通过局域网将格式化报文推送到客户端
  • BCH 纠错:迁移自 MMDVM_HS_Hat 的 BCH3121 纠错算法
  • UDP 广播信号源:ESP32 将列车数据广播到 5001 端口,打开监控页即自动接收
  • 心跳自动发现:每 3 秒广播设备心跳,自动发现接收机设备
  • PC 监控界面:实时监控、历史记录、数据统计、车次映射表、设备下载
  • Android APP:跟随系统深/浅色主题,一键导出 CSV 到手机

🛠️ 硬件架构

组件说明
主控ESP32(TTGO LoRa 32 v1.6.1 开发板)
射频SX1276 FSK 调制解调(868MHz)
显示SSD1306 OLED(I2C 总线)
时钟DS3231 RTC(可选,断电保持时间)
存储TF 卡(MicroSD)
按键四键模拟按键(可选)

🖥️ 软件组成

1. ESP32 接收机固件(PlatformIO)

基于 RadioLib 的 Pager_Receive 示例改造,负责接收、解码、显示和转发 LBJ 报文。

2. 电脑版(Electron)

  • 实时监控:列车卡片实时显示车次、方向、速度、公里标、线路、机车号、原始 HEX 数据
  • 历史记录:搜索 / 筛选(上行/下行)/ 导出 CSV / 清空
  • 数据统计:总记录数、上下行分布、客车映射统计
  • 车次映射表:机车号 ↔ 客运车次映射,命中自动显示客运车次(如 G31)
  • 数据源模式:UDP 广播 / TCP 命令 / 串口(COM)

3. 安卓 APP(Kotlin)

  • UDP 信号源实时接收 + TCP 下载 SD 卡数据
  • 自动设备发现(热点兼容)
  • 深/浅色主题自适应
  • 一键导出 CSV 到手机"下载"目录

📥 下载

⚠️ 注意:接收机需要配套 ESP32 固件(含 UDP 广播 + 心跳自动发现),请使用本项目固件源码编译上传。

🔗 项目源码


本项目用于嵌入式编程学习与亚 GHz 信号接收实验,仅供技术交流。