
Когда речь идет о промышленном сборе данных, даже компьютер-одноплатник иногда избыточен по габаритам. Если устройство встраивается в щиток, в корпус датчика или в готовый прибор стороннего производителя, каждый лишний сантиметр платы — это переделка корпуса. Для таких случаев мы разработали миниатюрный модуль — NAPI Slot, и еще несколько решений на его основе (мини-компьютер, коммутатор, мини-мрашрутизатор, шлюз). А сторонние разработчики могут сконструировать нужную плату с таким SOM под свои задачи.
Кратко про SOM
SOM (System on Module) — это модуль, на котором собраны процессор, оперативная память, флеш-память и обвязка вокруг них, но без разъемов под конкретную периферию. Такой модуль устанавливается на несущую плату (baseboard, ее еще называют carrier board), где уже разведены конкретные интерфейсы — Ethernet, USB, GPIO, слоты под SIM и так далее.
Есть стандарты модулей, такие как SMARC, также есть известный формат SO-DIMM, RaspberryPI Computer Module, Orange PI CM4\CM5. Но для процессора RK3308 мы можем позволить себе меньший размер и не беспокоится за большой радиатор. Поэтому мы придумали “половинчика” с разъемом PIC-E. Притом этот формат появился не “сверху” как копия западного решения, а внутри команды как инициативная разработка, как попытка максимально уменьшить размер, но оставить полнофункциональный модуль.

Идея миниатюрного SOM в том, что сам вычислительный модуль можно переиспользовать в разных устройствах, вставлять в проектные платы, не сильно их изменяя. Например, вы делаете сложное радиорелейное оборудование, но вам нужен чип, который собирает телеметрию, дает веб интерфейс, статистику, обрабатывает внештатные ситуации. Napi-Slot не займет много места на плате, не потребует отдельного теплоотвода и будет выполнять все перечисленные функции и даже больше.
Теперь почему задумались о NAPI Slot как о миниатурном SOM. Одноплатные компьютеры NAPI-C и NAPI-P с самого начала проектировались как самостоятельные устройства — с сетевыми интерфейсами, USB-разъемами, по сути они сразу готовы к работе при подаче питания в разъем Type-C.
SOM-компьютер NAPI Slot устроен иначе. Этот System-on-Module имеет свое вычислительное ядро: процессор RK3308, 4 ядра ARM Cortex-A35, оперативную память, eMMC. И это собрано как отдельный модуль где вся периферия собрана на одном двустороннем разъеме PCI-E. Сам модуль вставляется в несущую плату, которая уже берет на себя питание, защиту, , датчики и остальную обвязку под конкретный проект.
Конфигурация модуля — 4-ядерный процессор Rockchip RK3308, 512 Мб ОЗУ и до 32 Гб eMMC в зависимости от исполнения. Этого хватает под Linux с Веб-сервером, Telegraf-комбайном, MQTT-брокером, Modbus-шлюзом или Zigbee-координатором — т.е. задачи, для которых микроконтроллер уже мал, а полноценный 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:
RK3308 processor (Cortex- A35 quad core)
Armbian Linux / NAPI Linux
Современное Linux ядро (kernel 6.1)
512 Мб ОЗУ
16/32 Гб ПЗУ (eMMC)
1 × Ethernet 100 Мбит
2 × USB 2.0
Питание +5 В
3 × UART
SPI
2 × I2C
Плата разработчика для быстрого прототипирования
Чтобы прошить и погонять NAPI Slot до того, как заказывать несущую плату под серийное изделие, мы сделали компактную плату разработчика (DevBoard). Модуль защелкивается в разъем без пайки, а питание платы приходит через обычный USB-C - отдельный блок питания искать не нужно.

На плате выведены все базовые интерфейсы модуля — UART, I2C, SPI, Ethernet, USB и слот microSD. Этого достаточно, чтобы поднять Linux, прошить eMMC и погонять GPIO с Modbus прежде, чем городить собственную разводку под конкретный проект.
Устройства на основе NAPI-Slot — полет фантазии
Идея NAPI Slot оправдалась, на нем удобно собирать компактные платы под сбор данных, преобразование интерфейсов или шифрование трафика — вычислительной мощности и памяти модуля хватает на большинство таких задач, а Linux на борту позволяет разворачивать готовый софт вместо написания прошивки с нуля.
Собственный пример — мы сделали вариант промышленного компьютера «Сборщик‑универсал линейки FCU», где мы поставили NAPI Slot вместо NAPI-C и получили больше возможностей — второй Ethernet и встроенную консоль (ниже будет раздел о сборщике подробнее).
Пример1. Готовый сборщик данных с 2-мя Ethernet и RS485
Как первый полноценный рабочий продукт мы сделали FCCM3308 (Сборщик-компакт) — промышленный компьютер, ориентированный на роль шлюза и сборщика данных. Основные характеристики включают крепление на DIN-рейку, работу без активного охлаждения, доступ по SSH и через веб. На этой платформе реализовано несколько ПАК-ов: modbus шлюз, snmp-шлюз, сбор метрологии и датчиков с хранением.

Ключевое отличие от базовой модели FCC3308 — два порта Ethernet вместо одного, консоль, дополнительное питание type-c На практике это устройство появилось из требования разделения сетей. Как это может быть в производственной практике: один интерфейс смотрит в цеховой сетевой сегмент с датчиками и Modbus-линией (промышленная сеть), второй — в корпоративную сеть или во внешний канал связи.
Разделение снимает с сети обширный трафик датчиков и закрывает цеховой сегмент от остальной инфраструктуры фаерволом на самом сборщике, а не на отдельном маршрутизаторе.

Также два Ethernet-порта в промышленности используются для резервирования линков (как на уровне Ethernet, так и на уровне IP).
Пример 2. Маршрутизатор (router) с 6-ю интерфейсами
Еще один пример того, что можно собрать на NAPI-Slot — демонстрационная плата, которую назвали NapiRouter. Идея такова — взять один модуль и вывести из него максимум сетевых интерфейсов, ничего не коммутируя аппаратно.
На плате распаяно шесть портов Ethernet — пять на 100 Мбит/с и один на 10 Мбит/с, плюс классический RS-485 для Modbus. Питание приходит через клеммник на изолированный DC/DC-преобразователь (9-36 В на входе, 5 В на выходе) — это стандартная практика для промышленных плат, когда напряжение в электрощитке нестабильно или в сети возможны просадки. Есть батарейка RTC для часов реального времени — полезно, когда устройство не всегда в сети и нужны корректные метки времени в логах даже после перезагрузки без NTP.
Ключевой момент — это именно маршрутизатор, а не свитч вопреки названию на плате. На ней нет отдельного коммутирующего чипа с аппаратной switching-фабрикой, как в обычном сетевом свитче. Каждый порт подключен к своему физическому трансиверу и в Linux виден как самостоятельный netdev - eth0, eth1, eth2 и так далее, каждый со своим IP, своей таблицей маршрутизации и своими правилами firewall. По сути NAPI-Slot здесь работает как маршрутизатор на шесть плечей, а не как коммутатор на шесть портов — разница принципиальная, если нужно развести независимые сегменты сети или изолировать друг от друга группы устройств.
На фото видно, как проверяли именно эту логику — последовательно пингуя разные подсети через разные порты (10.11.3.254, 10.22.2.254, 10.33.4.254, 10.44.3.254) и записывая результат от руки. Каждый порт действительно отвечает как отдельный интерфейс со своим адресом, а не как один свитч с общим broadcast-доменом.

Скоростей 100 Мбит/с и 10 Мбит/с здесь хватает — в промышленных сетях с Modbus и похожими протоколами, трафик редко превышает несколько килобайт в секунду на устройство, и упираться в пропускную способность канала на такой задаче практически невозможно.
Устройство собрано как демонстрация возможностей разнообразия плат и интерфейсов на NAPI-Slot, а не как готовый коммерческий продукт — но схему и подход можно взять за основу и адаптировать под свою задачу, если нужен многопортовый маршрутизатор компактных размеров и промышленные интерфейсы в одном устройстве. Я готов поделиться схемами и разводкой такой платы.
Пример 3. Коммутатор (switch) с 7-ю интерфейсами

На фото: коммутатор- база под Napi-Slot

Разнообразие компактных устройств на NAPI-Slot может быть больше, чем кажется на первый взгляд — один и тот же модуль идет в основу и простого маршрутизатора, и полноценного управляемого коммутатора, в зависимости от того, что стоит на плате вокруг него.
Пример устройства №3 интересен с инженерной точки зрения. Здесь на плату добавлена отдельная микросхема управляемого гигабитного свитча 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 |
Компактный линукс для Embedded с настройками через ssh и браузер и функциями backup / restore. |
NapiWRT (OpenWrt) |
Компактный дистрибутив для маршрутизаторов. дополненный Modbus-пакетами |
ROSA-Linux |
Официальная российская сборка с сертификатом ФСТЭК. |
Все варианты готовых прошивок: https://napiworld.ru/downloads/images/
Репоитории по самостоятельной сборки: https://napiworld.ru/downloads/github/
Добавлю немного про NapiWRT. Сборка сделана поверх ванильного дерева OpenWrt — самого компактного дистрибутива Linux под встраиваемые устройства, в первую очередь роутеры и прочий сетевой hardware. Несмотря на комактность, система включает пакетный менеджер (opkg) и веб-интерфейс LuCI для управления через браузер.
Что стоит учитывать при конструировании устройств на SOM по типу NAPI Slot
● 512 Мб ОЗУ — достаточно для большинства задач, но надо быть осторожными с тяжелыми пакетами, такими как Grafana и InfluxDB.
● Совместимость с NAPI-C -это совместимость софта, архитектуры и процессора, а не платы. В Napi-Slot меньше GPIO и нужно внимательно смотреть, чтобы не задействовать «несуществующие» пины.
Поведем итоги
SOM "NAPI Slot" закрывает нишу между микроконтроллером и полноразмерным одноплатником там, где под компьютер имеются очень ограниченные габариты, а пример сборщика данных FCCM3308 показывает, как этот модуль превращается в законченный промышленный шлюз — с DIN-рейкой, двумя Ethernet-портами и выбором из трех программных платформ под конкретную роль устройства.
Весь стек снизу доверху,— Linux, OpenWrt, Zigbee2MQTT, Mosquitto, mbusd, Telegraf, InfluxDB — открытый (open source), и ни один из компонентов не завязан на закрытый стандарт производителя. Документация по модулю и устройствам доступна на napiworld.ru/docs, инструкция по сборке NapiWRT и патчи — в ленте знаний.
Если будут вопросы, дополнения — пишите мне на почту (предпочтительно) или в ЛС Хабра.