Часть наших плат контроллеров и одноплатных компьютеров сделана под формат модуля Orange Pi CM4, такие как сборщик данных FCU-CM4 (плата с питанием, корпусом и встроенным датчиком тока) и промышленный одноплатный компьютер FCU3566 (прототип). В этой статье расскажем про ELTAY RM66, это российский модуль формата CM4 на процессоре Rockchip RK3566, полностью совместимый по разъемам и сигналам с оригинальным Orange CM4. Мы поставили RM66 в наши платы, сделали тесты и рассмотрим, как он работает в типовых для нас задачах: опрос датчиков, Modbus-шлюз, накопление данных и отображение в Grafana.

Небольшое вступление для тех, кто ранее не сталкивался с нашими публикациями. Проект NapiWorld делает промышленные контроллеры и одноплатные компьютеры линейки NAPI, а также собственный дистрибутив NapiLinux, есть веб-интерфейс управления NapiConfig: датчики, Modbus-шлюзы, SNMP, графики, все настраивается из браузера. 

Мы давно ждали новосибирский вычислительный модуль ELTAY RM66 из-за его полной совместимости с Orange  Pi CM4: во-первых, отладку можно делать на обычном CM4, во-вторых, формат модуля понятный и хорошо документирован. Пока ждали, успели сделать много чего другого, а наши платы под CM4 некоторое время лежали на полке и использовались с оригинальными CM4 для собственных нужд и для отладки модулей связи. В частности, на этой платформе мы собрали сервер Home Assistant с координатором Zigbee. 

Теперь время пришло, и ELTAY передал нам свой вычислительный модуль. Сначала общие впечатления и история его запуска. Модуль приехал в коробочке и сразу с наклеенным радиатором. Это правильно, т.к. процессор RK3566 не сгорит от перегрева, а снижает частоту, но радиатор ему все равно нужен, в этом отличие от RK3308. 

Забегая вперед, отмечу, что модуль крепкий: я вставлял и вынимал его минимум десять раз, и разъемы выдержали. Сама процедура извлечения, правда, неприятная: тянуть за весь корпус невозможно, приходится поддевать с краев, неравномерно. Но это особенность формата CM4, а не конкретного модуля.

Рис. 1. Светлый - российский модуль ELRON RM66, синий - китайский Orange Pi Compute Module 4
Рис. 1. Светлый - российский модуль ELRON RM66, синий - китайский Orange Pi Compute Module 4

Интрига была в том, что у нас была проверенная плата сборщика данных  FCU-CM4 (одноплатник без графической подсистемы, с RS485, встроенным датчиком тока и слотом для модулей связи)  и совсем свежая плата промышленного одноплатника FCU3566 (одноплатник с HDMI и NVME), для которой даже еще не сделали плату питания. Исходя из этих вводных, тесты проводились на голых платах с питанием от лабораторного источника.

Что будем тестировать?

Рис. 2. Модуль ELTAY RM66 на плате промышленного одноплатника FCU3566
Рис. 2. Модуль ELTAY RM66 на плате промышленного одноплатника FCU3566

Мы работаем в секторе промышленной автоматизации, и тестировать графику и пользовательские интерфейсы нам неинтересно. Поэтому ставим RM66 в одноплатник FCU3566, сразу подключаем Modbus-датчик ICP DAS DL-303 и выполняем нашу любимую процедуру.

Часть 1. NapiLinux, NapiConfig и первый датчик

1. Ставим NapiLinux

Для тестов мы собрали последнюю версию NapiLinux 0.3.2 на ядре 6.6 с веб-интерфейсом NapiConfig, который недавно официально вошел в реестр российского ПО.

Cправка: Веб-платформа управления Linux-устройствами и периферийным оборудованием NapiConfig официально включена в Единый реестр российских программ для электронных вычислительных машин и баз данных

Включен: 02.10.2026
Номер: 35404

Рис. 3. Скрин загрузки ОС 
Рис. 3. Скрин загрузки ОС 

2. Загружаемся

Загрузка проходит штатно, IP-адрес присвоен автоматически по DHCP, можно заходить в веб-интерфейс.

Рис. 4. Скрин присвоения IP-адреса

Рис. 4. Скрин присвоения IP-адреса

3. Добавляем датчик

В веб-интерфейсе сразу идем в раздел датчиков. DL-303 уже есть в нашем репозитории датчиков, поэтому добавляется он буквально одним касанием.

Рис. 5. Скрин добьавления датчика DL-303
Рис. 5. Скрин добьавления датчика DL-303

4. Настраиваем и опрашиваем

Датчик у нас в варианте Modbus TCP, поэтому меняем IP-адрес датчика и проводим тестовый опрос.

Рис. 6. Скрин листинга для конфигурации датчика
Рис. 6. Скрин листинга для конфигурации датчика
Рис. 7. Тест конфигурации датчика пройден (скрин)
Рис. 7. Тест конфигурации датчика пройден (скрин)

5. Смотрим проверочный график

Рис. 8. Датчик DL-303 отдает данные
Рис. 8. Датчик DL-303 отдает данные

DL-303 (включая модификации DL-303-IP65 или DL-303-WF) — это многофункциональный промышленный датчик (логгер данных) от компании ICP DAS для комплексного мониторинга микроклимата и качества воздуха в помещениях.

6. Настраиваем Grafana

Тут важно, что на этом устройстве достаточно процессора и памяти, чтобы работала связка Telegraf + InfluxDB + Grafana. По умолчанию мы Grafana не запускаем, потому что NapiLinux может работать и на более слабых вычислительных модулях NAPI-C и NAPI-P. В нашем же случае сервис Grafana просто активируем.

Рис. 8. Скрин активации Grafana
Рис. 8. Скрин активации Grafana

Теперь идем в Grafana (http://192.168.111.241:3000) и добавляем дашборд. Он тоже уже подготовлен и лежит в нашем репозитории telegraf-grafana-configs вместе с конфигами Telegraf.

Рис. 9. Скрин импорта дашборда 
Рис. 9. Скрин импорта дашборда 

Вот теперь все готово, можно работать с данными.

Надо признаться, что NapiLinux мы здесь собрали без графической подсистемы. В случае графической сборки дашборд можно выводить прямо на монитор по HDMI в режиме киоска.

Рис. 10. Скрин дашборда стенда целиком
Рис. 10. Скрин дашборда стенда целиком
Рис. 11.  Общее фото стенда в стиле творческого беспорядка
Рис. 11.  Общее фото стенда в стиле творческого беспорядка

Часть 2. Тестируем NVMe

NVMe-накопитель может быть полезен даже во встраиваемых системах: он прекрасно справляется с хранением и накоплением большого объема данных. Но мы-то знаем, что он способен нагрузить систему и процессор «по самое не могу», а нам как раз интересно проверить и экстремальные режимы. 

Короткого NVMe у нас не было, поэтому приспосабливаем длинный, для тестов подойдет. Кстати, мы думаем сделать на плате посадочные места под длинный (2280) и короткий (2232) форматы одновременно: цены на короткие накопители заметно выше. По традиции, резинка и синяя изолента решают почти все проблемы.

Запустили интенсивную запись на NVMe и… устройство вдруг перезагрузилось!

Было две версии:

  1. перегревается процессор;

  2. не хватает питания.

Победила вторая версия. Ограничение тока на лабораторном блоке стояло на 1 А, а при «раскрутке» у NVMe энергопотребление заметно подскакивает. Переключили ограничение на 2 А, перезагрузки ушли, тесты отработали нормально.

Тест: запись 2 ГБ случайных данных в файл, на RM66 и на Orange Pi CM4. Что показали прогоны:

  • скорость случайного чтения примерно 188 МБ/с, случайной записи 133–135 МБ/с; скорость ограничена шиной PCIe 2.0 x1;

  • интересный факт: при нагреве процессора тактовая частота падает до 600–816 МГц, на скорость NVME это практически не влияет;

  • перезагрузок нет ✅.

Вывод: если планируется интенсивная запись или чтение, ставьте радиаторы!
Но надо сказать, что в промышленных задачах такая нагрузка на накопитель очень нетипична, это был скорее «стресс тест».

Еще небольшая ремарка: Orange Pi CM4 предсказуемо ведет себя точно так же.

Часть 3. Сборщик со встроенным датчиком тока

Теперь переставим RM66 в одноплатный компьютер с функцией сборщика данных FCU-CM4. Его плата уже реализована с питанием, в корпусе и со встроенным датчиком тока. Это решение для мониторинга станков в цеху и вообще любой техники, подключенной к сети переменного тока.

Что сделаем?

  • Подключим токовую петлю и снимем показания со сборщика по Modbus RTU.

  • Сделаем из сборщика Modbus-шлюз и снимем показания с FCU-CM4 уже по Modbus TCP.

3.1. Подключаем датчик тока через NapiConfig

Датчик тока это модуль JSY-1003F (Single Mutual Induction Metering Module). Он тоже есть в репозитории датчиков NapiConfig: выбираем JSY1003F в варианте Modbus RTU.

Рис. 13. Подключение датчика JSY-1003F
Рис. 13. Подключение датчика JSY-1003F

Правим последовательный порт: на этой плате это /dev/ttyS7.

Рис. 14. Листинг конфигурирования датчика
Рис. 14. Листинг конфигурирования датчика

Тестируем датчик. Ура, связь есть, данные идут.

Рис. 15. Тест датчика
Рис. 15. Тест датчика

Проверяем на графике NapiConfig.

Рис. 16. Датчик откликается, данные идут
Рис. 16. Датчик откликается, данные идут

3.2. Строим шлюз

Типичная задача для сборщика - собрать данные по току и передать дальше по Modus TCP, для этого у нас реализован Modbus шлюз. 

Выключаем датчик в разделе «Датчики», чтобы он не соревновался за порт со шлюзом.

Рис. 17. Скрин конфигурирования
Рис. 17. Скрин конфигурирования

Открываем и настраиваем Modbus шлюз.

Рис. 18. Скрин настройки соединения
Рис. 18. Скрин настройки соединения

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

После этого датчик снова можно читать, но теперь его нужно настроить как JSY1003F Modbus TCP и порт localhost:502 в конфигурации уже указан!

Повторяем действия, как с датчиком DL-303: скачиваем дашборд из репозитория, импортируем и получаем результат.

В этом тесте показывается только ток: 220 В к голой плате подключать не стал, поэтому вы и читаете эту статью.

Рис. 19. Скрин измерения силы тока в амперах
Рис. 19. Скрин измерения силы тока в амперах

И финальное действие. Берем одноплатник FCU3566, вставляем в него Orange Pi CM4 (ELTAY RM66 у нас один) и подключаем датчик JSY1003F Modbus TCP, но указываем IP-адрес сборщика 192.168.111.236 (собираем данные через шлюз).

Убеждаемся, что все работает. Картинки не показываю, они точно такие же.

Сбор данных был оставлен на сутки, обрывов или внезапных перезагрузок паты не наблюдалось, также мы внезапно «уронили» электричество, после плата предсказуемо поднялась и сбор данных возобновился. Длительные тесты еще впереди. 

Выводы

  1. Вычислительный модуль ELTAY RM66 функционально совместим с Orange Pi CM4 и может применяться в платах, сделанных для форм-фактора CM4.

  2. По надежности показал себя отлично: многократный монтаж и демонтаж никак не повлияли на его работу. Кроме того, пришлось даже немного потыкать в него тестером для проверки питания.

  3. Штатный радиатор подходит для обычной работы в задачах АСУ ТП, но на больших нагрузках процессор существенно замедляется. Если нужна полная вычислительная мощность, нужен большой радиатор или активное охлаждение.

  4. Наши платы FCU-CM4 и FCU3566 выполнили свой функционал и могут применяться совместно с RM66 в промышленных решениях, требующих применения российских изделий (по 2-му уровню локализации).

Ссылки: NapiWorld, NapiLinux, NapiConfig, NapiConfig в реестре российского ПО, дашборды и конфиги Telegraf: github.com/lab240/telegraf-grafana-configs.
Информацию по железу и софту сразу даю в канале, буду рад вашей подписке (по желанию).

По вопросам вычислительных модулей и плат NAPI, NapiLinux и советов по сборке таких устройств под конкретную производственную задачу пишите на napi@nnz.ru

Комментарии (1)


  1. SysManOne
    28.10.2026 11:48

    Не видно бухт проводов. А на столе можно всякое собрать. ;-)