Сервер для выполнения инференса ML-моделей (ONNX / TFLite) на ПК и отправки результатов на робота TRIK или в TRIK Studio по TCP.
- Скачайте архив для вашей платформы с последней версией сервера здесь.
- Распакуйте архив.
- Отредактируйте
settings.ini(см. ниже).
Релизы помечаются тегами вида vYY.MM.DD (например, v26.08.03). К каждому
релизу прикреплён один архив для каждой платформы — внутри лежит исполняемый
файл и settings.ini. Релиз сначала создаётся как черновик, а публикуется
после проверки сопровождающим.
Имена файлов содержат версию релиза, например
TRIKLobeServer-v26.08.03-Windows.zip,
TRIKLobeServer-v26.08.03-Linux.tar.gz или
TRIKLobeServer-v26.08.03-macOS.tar.gz. Windows использует .zip,
Linux и macOS — .tar.gz. Внутри каждого архива лежит исполняемый файл с
версией в имени (TRIKLobeServer-v26.08.03.exe для Windows,
TRIKLobeServer-v26.08.03.bin для Linux/macOS).
| Параметр | Описание |
|---|---|
SERVER_IP |
IP робота или студии. Для студии обычно 127.0.0.1 |
MY_HULL_NUMBER |
Борт-номер этого сервера. Выберите незанятый. |
SERVER_PORT |
Порт TCP-сервера на роботе/студии. Обычно 8889 |
MODEL_PATH |
Путь к папке с моделью. Оставьте пустым, если папка рядом с .exe |
PHOTO_URL |
URL snapshot беспроводной камеры (например, http://192.168.1.100:8080/?action=snapshot). Оставьте пустым для других режимов |
GET_IMAGES_FROM_ROBOT |
True — получать кадр с камеры робота. PHOTO_URL должно быть пустым |
CAMERA_NUMBER |
Номер веб-камеры ПК (0, 1, 2…). Используется только если PHOTO_URL пуст и GET_IMAGES_FROM_ROBOT=False |
USERNAME / PASSWORD |
Аутентификация для PHOTO_URL (если требуется) |
В папку модели положите model.onnx или model.tflite (или любой другой .tflite/.onnx файл).
Labels загружаются в следующем приоритете:
labels.txt— одна строка на класс. Приоритет выше, чем signature.jsonsignature.json→classes.Label— еслиlabels.txtнет
кошка
собака
птица
| Поле | Обязательно | Описание |
|---|---|---|
classes.Label |
да (если нет labels.txt) | Список имён классов |
filename |
нет | Имя файла модели (если в папке несколько) |
{
"classes": {"Label": ["кошка", "собака"]},
"filename": "model.onnx"
}Microsoft Lobe (легаси) — полный signature.json тоже работает, читается только classes.Label и filename.
PHOTO_URL=http://192.168.1.100:8080/?action=snapshot
GET_IMAGES_FROM_ROBOT=False
PHOTO_URL=
GET_IMAGES_FROM_ROBOT=True
Включите камеру на роботе перед запуском.
PHOTO_URL=
GET_IMAGES_FROM_ROBOT=False
CAMERA_NUMBER=0
Запустите скрипт на TRIK с помощью TRIK Studio:
def main():
while True:
predict = mailbox.receive(True)
print(predict)
script.wait(1000)Сервер работает с любой моделью классификации изображений:
- ONNX (
*.onnx) — прямой запуск через onnxruntime. - TFLite (
*.tflite) — прямой запуск через ai_edge_litert (LiteRT).
Формат авто-определяется по расширению файла. Labels — из labels.txt или signature.json → classes.Label (приоритет у labels.txt).
Сборка из исходников:
uv sync
uv run pyinstaller TRIKLobeServer.py --onefile # add --icon=trik-studio.ico on WindowsГотовый исполняемый файл появится в dist/.
Дизайн-решения и устройство соединения описаны в MEMORY.md, стратегия
тестирования (100% покрытие, моки) — в TESTING.md.