Skip to content
startgangPublic

About

Start10 / UberNAX — modular industrial computer system for multi-drive NAS, Soft Router, and Edge AI computation by Startgang. Part of the UberNAS family

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

151 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Старт10 / UberNAX – модульная вычислительная платформа

для NAS, Soft Router и AI-сервера

AI/NAS

Старт10 / UberNAX — это открытая модульная вычислительная система на базе промышленных компьютеров (CWWK / Topton) с пассивным охлаждением и собственных модулей для подключения дисков, AI ускорителей и различных промышленных датчиков.

Платформа трансформируется в следующие варианты использования без замены основного вычислительного блока:

  1. NAS – до 4× M.2 NVMe, RAID 0/1/5/6/10, восстановление данных при отказе 1–2 дисков.
  2. Soft Router – OPNsense, pfSense, OpenWrt; от 4 до 8 портов 2.5G/10G.
  3. AI‑сервер – до 4× M.2 NPU-ускорителей (Hailo‑8, Hailo-10, Axera AX8850, Radxa AICore AX-M1, Kneron и др.), суммарная производительность >100 TOPS.
  4. Hybrid - комбинация любых трёх вариантов, которая достигается за счет применения модуля с универсальными разъемами M.2

Ключевые особенности

  • Модульность – не привязана к конкретной плате; основной модуль M.2 совместим с линейкой промышленных ПК.
  • Охлаждение – пассивное + опциональный вентилятор для тяжёлых условий эксплуатации и высоконагруженных приложений.
  • Сеть – от 4 до 8 интерфейсов 2.5 Гбит/с, 10 Гбит/с (зависит от базовой модели и сетевого модуля).
  • ОС – любой Linux (Ubuntu, Debian, Arch) или Windows.
  • Доработка корпуса – локальное опытное производство для доработки креплений, доп. отводов тепла и т.д.

Содержимое репозитория

Рекомендуемые дистрибутивы Linux

Вариант Дистрибутив Ссылка
NAS Openmediavault (Debian based) https://www.openmediavault.org/
Soft Router OPNsense https://opnsense.org/download/
AI Server Ubuntu Server https://ubuntu.com/download/server

Другие варианты: pfSense, OpenWrt, Debian, Arch Linux – установка стандартная.

Фото общего вида

Исходные фото высокого разрешения as is выложены в облако из-за ограничений GitHub на размер файлов.

Подключение промышленных камер

UberNAX поддерживает промышленные камеры напрямую через Ethernet или через внешние коммутаторы. В большинстве моделей доступны два SFP+ интерфейса 10Гбит/с, что позволяет организовать высокоскоростные транки для быстрого обмена данными.

Примеры конфигураций:

  • Камера → PoE‑коммутатор → порт 2.5 Гбит/с UberNAX (Soft Router с OpenWRT).
  • Несколько камер → управляемый коммутатор → AI‑сервер UberNAX для обработки видеопотоков.
  • Прямое подключение: камера/камеры с Ethernet-выходом → выделенный порт/порты UberNAX (изолированная VLAN).

К примеру, в режиме AI-сервера система может одновременно получать 12..16 (зависит от входного разрешения) потоков 2K@50fps и выполнять инференс (YOLOv8, ResNet) с помощью четырех ускорителей Hailo-8, освобождая при этом ресурсы процессора для выполнения различных системных задач и маршрутизации.

Архитектура для распределённых вычислений

Интеграция UberNAX в распределённые системы характеризуется низкой связанностью и высокой адаптируемостью, что достигается за счёт модульной архитектуры, стандартизированных сетевых интерфейсов и гибкости программных интерфейсов прикладного уровня.

С точки зрения подключения система поддерживает основные сетевые транспортные протоколы (TCP/IP, UDP) и прикладные протоколы взаимодействия (HTTP/REST, gRPC), что обеспечивает совместимость с широким спектром сетевых стеков и инфраструктурных решений. Для организации обмена данными предусмотрены готовые коннекторы к типовым брокерам сообщений (RabbitMQ, Kafka), а также поддержка MQTT-брокера, что критически важно для интеграции с подсистемой датчиков (сенсорные сети, устройства IoT, телеметрия). Лёгкий протокол MQTT в сочетании с возможностью работы через стандартные сокеты позволяет эффективно подключать территориально распределённые датчики с ограниченной пропускной способностью каналов.

На уровне программных функций модульность реализована в виде компонентной модели, где каждый функциональный блок (аутентификация, маршрутизация, мониторинг, обработка событий) может быть независимо подключён, заменён или расширен без остановки системы. Для разработчиков будут полезны:

  • удобная спецификация API (синхронные и асинхронные);
  • SDK для языков C++, Python, Go и Java, позволяющие вызывать сервисные функции UberNAX из прикладного кода;
  • библиотека абстракций сетевого взаимодействия, скрывающая детали транспорта и сериализации, включая поддержку MQTT-клиента для подсистемы датчиков.

Кроме того, поддерживается динамическая загрузка пользовательских модулей через интерфейс плагинов, что даёт возможность наращивать функциональность системы без модификации ядра UberNAX. В совокупности эти свойства обеспечивают быструю интеграцию, масштабируемость и высокую связность с существующими стеками разработки предприятия, включая сенсорные подсистемы на базе MQTT.

Пример системы машинного зрения:

flowchart TB
 subgraph Edge["UberNAX - AI Server"]
        AI["AI-ускорители<br>(NPU, &gt;100 TOPS)"]
  end
 subgraph Storage["UberNAX - NAS Storage"]
        NAS["RAID-0,1,5,6,10"]
  end
 subgraph s1["UberNAX - Soft Router"]
        n2["OpenWRT"]
  end
 subgraph s2["IP-camera group"]
        n4["IP камера"]
        Switch["Ethernet Router / Switch"]
        n10["IP камера"]
        n11["IP камера"]
        n12["IP камера"]
        n9["IP камера"]
        n7["IP камера"]
        n6["IP камера"]
        n5["IP камера"]
  end
 subgraph s3["Sensor Group"]
        n13["Датчики этикетки"]
  end
 subgraph s4["UberNAX - Sensor Broker"]
        n14["Digital I/O"]
  end
    Edge <== 10Гб/с ==> s1
    s1 <== 10Гб/с ==> Storage
    n11 -- 1Гб/с --> Edge
    n12 -- 1Гб/с --> Edge
    Switch == 10Гб/с ==> Edge
    n9 -- 1Гб/с --> Edge
    n7 -- 1Гб/с --> Edge
    n4 --> Switch
    n10 --> Switch
    n6 --> Switch
    n5 --> Switch
    s4 <-- 2.5Гб/с --> s1
    s3 --> s4

    n2@{ shape: rect}
    n4@{ shape: h-cyl}
    n10@{ shape: h-cyl}
    n11@{ shape: h-cyl}
    n12@{ shape: h-cyl}
    n9@{ shape: h-cyl}
    n7@{ shape: h-cyl}
    n6@{ shape: h-cyl}
    n5@{ shape: h-cyl}
    n13@{ shape: paper-tape}
    n14@{ shape: rect}
Loading

На рисунке показан пример системы машинного зрения по распознаванию различных изображений на этикетках, либо поиска определенного паттерна на поверхности. IP камеры подключаются к UberNAX AI Server напрямую, либо через 10Гб/с Ethernet коммутатор. Щелевые датчики подключены к UberNAX Sensor Broker с модулем цифрового ввода. Сетевое взаимодействие компонентов машинного зраения организовано через программный маршрутизатор - UberNAX Soft router, а сохранение обработанных данных выполнено на отдельном сетевом хранилище - UberNAX NAS Storage.

Рекомендованные компоненты:

  • Фреймворк: FastAPI + Celery (Python) или Node.js + Bull.
  • Кэш: Redis (на отдельном узле или контейнере на самом UberNAX).
  • Сервер: Nginx + uWSGI / Gunicorn.
  • Координация: Docker Compose, Kubernetes (k3s) – UberNAX может выступать как worker-нода.

Распределенная архитектура

flowchart TD
    Cameras[Промышленные IP-камеры]
    Edge[UberNAX Edge<br>AI-ускорители]
    Cache[Кэш-сервер<br>Redis, Memcached]
    Backend[Бэкенд<br>Node.js, Python/FastAPI]
    Storage[UberNAX NAS<br>OMV/TrueNAS]

    Cameras -- Ethernet --> Edge
    Edge -- gRPC / MQTT / Redis --> Cache
    Cache --> Backend
    Backend --> Storage

    Cameras@{ shape: h-cyl}
Loading

Подробное описание настройки распределённой обработки видеопотоков см. в docs/distributed_computing.md.

Пример модуля собственной разработки UberNAX – 4-портовый контроллер M.2 для промышленных ПК

NAS

Назначение

Модуль UberNAX представляет собой универсальную плату в форм-факторе 120х120 мм, которая подключается в стандартный слот M.2 через адаптер OCuLink/M.2 практически любого промышленного компьютера на базе чипсетов Intel/AMD (CWWK, Topton, и др.). Модуль преобразует обычный ПК в специализированную систему NAS, Soft Router или AI-сервер без необходимости перепроектировать основную плату.

Модуль не требует установки дополнительных радиатоов, так как спроектирован для отвода тепла с устройств М.2 непосредственно на нижнюю часть корпуса. Дополнительно может быть произведена доработка нижней части - добавлены ребра теплоотвода для жестких условий эксплуатации.

Технические характеристики

Параметр Значение
Форм-фактор 120「120 мм
Интерфейс PCIe 3.0 x2 (до 16 Гбит/с), по запросу PCIe 3.0 x8 (до 128 Гбит/с)
Питание 12 В (от слота SATA)
Потребляемая мощность до 3 Вт (без вентилятора), без учета устройств M.2
Температурный диапазон -20°C … +70°C (расширенный: -40°C … +85°C по запросу)
Охлаждение Пассивное (нижняя крышка корпуса; дополнительные рёбра по запросу)

Функциональные возможности

Для NAS

  • Контроллер 4× M.2 NVMe (через PCIe коммутатор) с поддержкой RAID 0/1/5/6/10.
  • Аппаратный мониторинг SMART температуры и счётчиков ошибок дисков.
  • Отладочный порт и светодиодная индикация состояния.

Для Soft Router

  • Установка дополнительных сетевых интерфейсов 2.5Гбит/с или 5Гбит/с – выведены на отдельные разъёмы через гибкий шлейф.
  • Аппаратный watchdog и поддержка PXE (в разработке).

Для AI-сервера

  • Разъёмы для подключения до 4 ускорителей M.2.
  • Поддержка Hailo-8, Hailo-10, Axera AX8850, Kneron KL720 и других ускорителей в формате M.2.
  • Суммарная производительность NPU: >100 TOPS (4× Hailo-8 по 26 TOPS) - зависит от ускорителей.

Установка и совместимость

  • Модуль подключается в свободный слот M.2 (M-Key) на материнской плате промышленного ПК.
  • Для использования дополнительных сетевых портов или подключения дисков/ускорителей необходимо закрепить гибкие шлейфы и кабели (входят в комплект) и подвести их к плате.
  • Совместимые ОС:
    • Linux (Ubuntu 22.04+, Debian 12+, Arch Linux)
    • Windows 10/11
    • TrueNAS Scale, OPNsense, pfSense (требуется загрузка с отдельного SATA/NVMe диска).

Техническая поддержка и доработки

  • Частичная доработка корпуса (дополнительные крепления, теплосъёмные пластины) возможна на локальном опытном производстве – запрос через Issues.
  • Все чертежи и схемы предоставлены в форматах .dwg / .pdf для самостоятельной печати или модификации.

Лицензия

Документация и чертежи распространяются под Creative Commons BY-SA 4.0.
Дистрибутивы Linux и стороннее ПО – под собственными лицензиями.

About

Start10 / UberNAX — modular industrial computer system for multi-drive NAS, Soft Router, and Edge AI computation by Startgang. Part of the UberNAS family

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors