Initial commit: LoraTester Android + server

This commit is contained in:
2026-06-04 14:39:14 +03:00
parent 253a7d74ca
commit 81eaa95df3
26 changed files with 1898 additions and 106 deletions
+16 -1
View File
@@ -42,7 +42,7 @@ uvicorn fastapi_app:app --host 0.0.0.0 --port 7634
curl http://127.0.0.1:7634/api/health
```
Ожидается `"db_ok": true`, `"schema_version": 3`.
Ожидается `"db_ok": true`, `"schema_version": 4`.
Если БД создана вручную и схема битая (`no such table: devices` / `no such column: t.meta`):
@@ -68,6 +68,21 @@ curl http://127.0.0.1:7634/api/health
- `GET /api/tracks?device_id=`
- `GET /api/tracks/{id}` — метаданные + точки (высота terrain через Open-Meteo)
### Команды (очередь на устройство)
- `POST /api/commands``{from_device_id, to_device_id, kind, payload?}`
`kind`: `at` (`payload.line`), `mode` (`payload.role`: TX/RX), `stats_push` (снимок meta/rssi/role)
`from_device_id`: `web` или `android-xxxxxxxx`
- `GET /api/commands/pending?device_id=` — Android, доставка + `delivered_at`
- `GET /api/commands?to_device_id=&limit=` — история (веб)
### Синхронный трек (два устройства)
- `POST /api/paired-tracks/start``{device_ids?: [a,b], initiator?, device_id?}` → сессия `armed`, `start_at = now+3s`
- `GET /api/paired-tracks/active``{active, session?}`
- `POST /api/paired-tracks/ack` — Android: `{session_id, device_id, track_id}`
- `POST /api/paired-tracks/cancel``{session_id?}`
### Прочее
- `POST /api/chat``{device_id, text}`