
В задачах промышленного сбора данных одноплатный компьютер часто оказывается избыточным по габаритам. Когда устройство встраивается в щиток, корпус датчика или готовый прибор стороннего производителя, каждый лишний сантиметр платы ведет к переделке корпуса. Для таких сценариев был разработан миниатюрный модуль NAPI Slot - System-on-Module, на базе которого создаются компактные вычислители, коммутаторы, маршрутизаторы и шлюзы.
SOM (System on Module) - это модуль, объединяющий процессор, оперативную память, флеш-память и необходимую обвязку, но без разъёмов под конкретную периферию. Модуль устанавливается на несущую плату (baseboard или carrier board), где разведены нужные интерфейсы: Ethernet, USB, GPIO, слоты под SIM и другие.
Существуют стандартные форматы SOM - SMARC, SO-DIMM, Raspberry Pi Compute Module, Orange Pi CM4/CM5. Однако для процессора RK3308 удалось реализовать меньший размер без необходимости в крупном радиаторе. Так появился формат «половинчика» с разъёмом PCI-E. Важно отметить: этот формат не копирует западные решения, а возник внутри команды как инициативная разработка с целью максимально уменьшить габариты, сохранив полнофункциональность.

Идея миниатюрного SOM заключается в переиспользовании вычислительного ядра в разных устройствах. Например, в сложном радиорелейном оборудовании требуется чип, который собирает телеметрию, предоставляет веб-интерфейс и статистику, обрабатывает внештатные ситуации. NAPI Slot занимает минимум места, не требует отдельного теплоотвода и справляется с этими задачами.
В отличие от одноплатных компьютеров NAPI-C и NAPI-P, которые проектировались как самостоятельные устройства с сетевыми интерфейсами и USB-разъёмами, NAPI Slot устроен иначе. Это вычислительное ядро на процессоре RK3308 (4 ядра ARM Cortex-A35) с оперативной памятью и eMMC, собранное в отдельный модуль. Вся периферия выведена на один двусторонний разъём PCI-E. Модуль вставляется в несущую плату, которая берёт на себя питание, защиту, датчики и остальную обвязку под конкретный проект.
Конфигурация модуля:
Этого достаточно для задач, где микроконтроллер уже мал, а полноценный Industrial PC избыточен. С NapiLinux или OpenWrt устройство получает полноценный Linux и веб-интерфейс управления.
Совместимость NAPI Slot с NAPI-C реализована на уровне архитектуры, интерфейсов и программного стека. В обоих устройствах доступны Ethernet, USB, UART, I2C, SPI. Софт, отлаженный для NAPI-C, заработает и на NAPI Slot. Пока инженеры проектируют плату под NAPI Slot, можно заранее установить Armbian, NapiLinux или OpenWrt и отладить программную часть. Нюанс: физических выводов на NAPI Slot меньше, чем на NAPI-C, поэтому необходимо сверять карту GPIO. С точки зрения цифровых интерфейсов устройства идентичны, но распиновка и механическое крепление у NAPI Slot собственные.
Спецификация NAPI Slot:
Для прошивки и тестирования NAPI Slot до заказа несущей платы под серийное изделие предусмотрена компактная плата разработчика (DevBoard). Модуль защелкивается в разъём без пайки, питание подаётся через USB-C. На плате выведены все базовые интерфейсы модуля: UART, I2C, SPI, Ethernet, USB и слот microSD. Этого достаточно, чтобы поднять Linux, прошить eMMC и проверить GPIO с Modbus перед проектированием собственной разводки.
Модуль хорошо подходит для компактных плат сбора данных, преобразования интерфейсов или шифрования трафика: вычислительной мощности и памяти хватает на большинство таких задач, а Linux позволяет разворачивать готовый софт вместо написания прошивки с нуля.
Первый полноценный рабочий продукт на базе NAPI Slot - FCCM3308 (Сборщик-компакт), промышленный компьютер, предназначенный для сбора данных и работы в качестве промышленного шлюза. Основные характеристики: крепление на DIN-рейку, работа без активного охлаждения, доступ по SSH и через веб. На платформе реализованы несколько ПАК: Modbus-шлюз, SNMP-шлюз, сбор метрологии и датчиков с хранением.
Ключевое отличие от базовой модели FCC3308 - два порта Ethernet вместо одного, консоль и дополнительное питание Type-C. Устройство появилось из требования разделения сетей: один интерфейс смотрит в цеховой сегмент с датчиками и Modbus-линией, второй — в корпоративную сеть или внешний канал связи. Разделение снимает с сети обширный трафик датчиков и закрывает цеховой сегмент фаерволом на самом сборщике. Два Ethernet-порта также используются для резервирования линков на уровне Ethernet и IP.

Демонстрационная плата NapiRouter выводит из одного модуля максимум сетевых интерфейсов без аппаратной коммутации. На плате распаяно шесть портов Ethernet — пять на 100 Мбит/с и один на 10 Мбит/с, плюс RS-485 для Modbus. Питание подаётся через клеммник на изолированный DC/DC-преобразователь (9–36 В на входе, 5 В на выходе) - стандартная практика для промышленных плат с нестабильным напряжением. Предусмотрена батарейка RTC для корректных меток времени в логах после перезагрузки без NTP.
Это именно маршрутизатор, а не свитч, несмотря на название на плате. Здесь нет отдельного коммутирующего чипа с аппаратной switching-фабрикой. Каждый порт подключен к своему физическому трансиверу и в Linux виден как самостоятельный netdev — eth0, eth1, eth2 и так далее, каждый со своим IP, таблицей маршрутизации и правилами firewall. NAPI Slot работает как маршрутизатор на шесть плечей, а не как коммутатор на шесть портов. Это принципиально, если нужно развести независимые сегменты сети или изолировать группы устройств.
Скоростей 100 Мбит/с и 10 Мбит/с достаточно: в промышленных сетях с Modbus трафик редко превышает несколько килобайт в секунду на устройство. Устройство собрано как демонстрация возможностей, а не как готовый коммерческий продукт, но схему и подход можно адаптировать под свою задачу. Автор готов поделиться схемами и разводкой.

Третий пример интересен с инженерной точки зрения. На плату добавлена отдельная микросхема управляемого гигабитного свитча Microchip из линейки KSZ98xx с несколькими гигабитными портами и CPU-портом. Получился полноценный промышленный коммутатор на шесть гигабитных портов с аппаратной коммутацией, а NAPI Slot через 100-мегабитный аплинк выполняет функцию управления и маршрутизации поверх switch-фабрики.
Асик Microchip KSZ9567S хорошо поддерживается ядром Linux, что позволяет использовать и мощь асика, и функции ядра, а также сделать веб-интерфейс управления привычными для Linux средствами. Разница с маршрутизатором из Примера 2: там каждый порт независим и трафик между портами идёт через CPU, здесь коммутация между шестью портами происходит на уровне отдельной микросхемы без нагрузки на процессор. NAPI Slot включается только для маршрутизации наружу, перенастройки портов, резервирования линков или функций точного времени.
Ещё один вариант сейчас в тестах - концентратор RS-485/RS-232 в Ethernet, расширение идеи Modbus-шлюза на FCCM3308, но для работы с несколькими последовательными линиями одновременно.
Все три примера объединяет скорость разработки и компактность. Периферия NAPI Slot (I2C, USB, UART) позволяет создать поверх модуля практически любую функциональность - от дополнительного порта до готового датчика или модема, не переделывая вычислительное ядро. Программный стек остаётся тем же, что и на других устройствах линейки NAPI,- меняется только обвязка вокруг модуля.

Для всех устройств линейки NAPI доступны несколько программных платформ:
| Прошивка | Что внутри и для чего |
| Armbian | Полноценный Debian-совместимый дистрибутив с большим комьюнити |
| Debian | Классический Debian с пакетным менеджером |
| NapiLinux + NapiConfig | Компактный Linux для Embedded с настройками через SSH и браузер, функции backup/restore |
| NapiWRT (OpenWrt) | Компактный дистрибутив для маршрутизаторов, дополненный Modbus-пакетами |
| ROSA-Linux | Официальная российская сборка с сертификатом ФСТЭК, пакетный менеджер в стиле RedHat |
Готовые прошивки доступны на napiworld.ru/downloads/images, репозитории для самостоятельной сборки — на napiworld.ru/downloads/github.
NapiWRT собрана поверх ванильного дерева OpenWrt — самого компактного дистрибутива Linux для встраиваемых устройств. Несмотря на компактность, система включает пакетный менеджер opkg и веб-интерфейс LuCI для управления через браузер.
SOM NAPI Slot закрывает нишу между микроконтроллером и полноразмерным одноплатным компьютером там, где под компьютер отведено очень ограниченное пространство. Пример сборщика данных FCCM3308 показывает, как модуль превращается в законченный промышленный шлюз с DIN-рейкой, двумя Ethernet-портами и выбором из трех программных платформ под конкретную роль устройства.
Весь стек снизу доверху - Linux, OpenWrt, Zigbee2MQTT, Mosquitto, mbusd, Telegraf, InfluxDB - открытый (open source), и ни один из компонентов не завязан на закрытый стандарт производителя. Документация по модулю и устройствам доступна на napiworld.ru/docs, инструкция по сборке NapiWRT и патчи - в ленте знаний.
Оригинал статьи читайте на Хабре.