# LBJ_Console

LBJ Console 是一个应用程序，用于接收并显示列车预警消息。

应用程序支持通过 BLE 从 [SX1276_Receive_LBJ](https://github.com/undef-i/SX1276_Receive_LBJ) 接收预警消息，或直接连接 RTL-TCP 服务器从 RTL-SDR 接收预警消息。在可视化方面，软件能够在地图上标注预警消息的 GPS 位置，并支持绘制指定列车的运行轨迹。此外，程序内置了机车数据文件，可根据数据内容匹配并显示机车配属、机车类型以及车次类型。

[android](https://github.com/undef-i/LBJ_Console/tree/android) 分支包含项目早期基于 Android 平台的实现代码，已实现基本功能，现已停止开发。

本项目为个人业余项目，代码质量和实现细节可能不尽如人意，敬请见谅。

## 数据文件

LBJ Console 依赖以下数据文件，位于 `assets` 目录，用于支持机车配属和车次信息的展示：

- `loco_info.csv`：包含机车配属信息，格式为 `机车型号,机车编号起始值,机车编号结束值,所属铁路局及机务段,备注`。
- `loco_type_info.csv`：包含机车类型编码信息，格式为 `机车类型编码前缀,机车类型`。
- `train_info.csv`：包含车次类型信息，格式为 `正则表达式,车次类型`。

数据来源于网络，可能存在错误或不完整，欢迎通过提交 Pull Request 共同完善数据准确性。

# 计划实现的功能

- 集成 ESP-Touch 协议，实现设备 WiFi 凭证的配置。
- 从设备端拉取历史数据记录。
- [WIP]从音频流解析预警消息。

# 致谢

本项目的 RTL-TCP 解析功能以 [RailwayPagerDemod](https://github.com/Arch-Jason/RailwayPagerDemod) 为基础，并移植了 [SX1276_Receive_LBJ](https://github.com/FLN1021/SX1276_Receive_LBJ) 的部分解析逻辑。

感谢以上项目作者的贡献。


# 许可证

该项目采用 GNU 通用公共许可证 v3.0（GPLv3）授权。

