Files
spectr/promt.md
T
2026-08-27 19:41:00 +03:00

4.2 KiB

📦 КОНТЕКСТ

Ты работаешь над распределённой системой на Go.

Система состоит из двух частей:

  1. ДЕМОН (Orange Pi / Ubuntu Linux) Работает на Linux (ARM или x86) Подключён к видеоприёмнику через UART3 (/dev/ttyS3 или аналог) Общение с устройством идёт через ASCII-команды

UART протокол устройства:

av → ответ: HW=1.0 SW=1.005 af0188800 → установка частоты (пример: 1880 MHz) позже добавятся другие команды

Демон является мостом: gRPC → UART → устройство

  1. КЛИЕНТ (CLI / позже GUI) Запускается на компьютере в той же сети Подключается к демону по gRPC Использует один bidirectional streaming канал Отправляет команды и получает ответы 📡 КЛЮЧЕВАЯ АРХИТЕКТУРА Используется только один gRPC stream Никаких отдельных RPC методов Всё общение через stream сообщений 🔎 DISCOVERY (поиск демона в сети)

Клиент должен автоматически находить демон в локальной сети.

Можно использовать простой механизм:

UDP broadcast (предпочтительно) или multicast или простой локальный discovery сервис

НЕ использовать сложные системы (service mesh, etcd и т.д.)

🎮 КОМАНДЫ СИСТЕМЫ

Поддерживаются 3 команды:

  1. av проверка связи с устройством демон отправляет UART команду av получает HW=... SW=...
  2. af установка частоты вход: число (например 1880 MHz) UART команда: af0188800
  3. get получить текущую частоту ⚙️ РОЛЬ ДЕМОНА

Демон должен:

открывать UART3 отправлять ASCII команды устройству читать ответы парсить ответы возвращать результат через gRPC stream 🧠 ВАЖНЫЕ ОГРАНИЧЕНИЯ НЕ усложнять архитектуру НЕ использовать микросервисы НЕ добавлять Kafka, Redis, REST и т.д. НЕ строить enterprise архитектуру

Только простой рабочий прототип.

🔮 БУДУЩЕЕ РАЗВИТИЕ Позже демон может быть заменён STM32 прошивкой Поэтому UART слой должен быть отделён от логики Протокол должен остаться одинаковым 🖥 GUI Сейчас только CLI Позже будет GUI на Wails Протокол менять нельзя 🎯 ЦЕЛЬ

Сделать рабочий прототип:

CLI автоматически находит демон CLI отправляет команды: av / af / get Демон переводит их в UART команды Устройство отвечает Ответ возвращается обратно клиенту 📌 ЧТО НУЖНО СГЕНЕРИРОВАТЬ Go демон (gRPC server + UART bridge) Go CLI клиент protobuf контракт простой discovery механизм ⚠️ ПРАВИЛА РЕАЛИЗАЦИИ Go только код простой и читаемый можно один файл на компонент на старте главное — работоспособность, не идеальная архитектура 💬 если коротко

Этот промт заставляет Copilot:

👉 не строить “enterprise систему” 👉 а сделать рабочий прототип мост UART ↔ gRPC

так же ты можешь удалить не нуные папки которые только усложняют архитектуру