# FMO Desktop Mini Monitor

当前版本：V1.0

这是一个电脑端 FMO 实时信息小窗口，基于 `niufox/fmo-mobile-controller` 的 WebSocket 协议制作。

## 上游协议要点

- 控制通道：`ws://<FMO地址>/ws`
- 实时事件：`ws://<FMO地址>/events`
- 控制消息为 JSON：`{"type":"服务类型","subType":"操作类型","data":{...}}`
- 当前台站：发送 `station/getCurrent`
- 台站列表：发送 `station/getListRange`
- 实时呼号：监听 `/events` 上的 `qso/callsign`，字段包含 `callsign`、`isSpeaking`、`isHost`、`grid`

## 运行

```powershell
python .\fmo_desktop_window.py
```

也可以双击 `run_fmo_monitor.bat`。

打开后输入 FMO 地址，例如：

```text
fmo.local
192.168.1.100
ws://192.168.1.100
```

## 功能

- 小窗口默认置顶，可取消置顶
- 显示控制通道和事件通道连接状态
- 实时显示当前发言呼号、Grid、发言/停止状态
- 当天已 QSO 的呼号会显示草莓标记，并展示今日次数和总次数
- QSO 统计会优先读取 FMO 机器内的 `/api/qso/backup` 备份数据库
- 周期显示当前台站和台站数量
- 支持上一个/下一个台站切换
- 断线后自动重连
- 无第三方 Python 依赖
