Разработка для Linux | Embedded, ML, IoT
272 subscribers
46 photos
1 video
2 files
132 links
Канал с анонсами образовательных мероприятий от ЦПР РТСофт - экспертов в области Embedded Linux, разработки промышленного CПО и систем искусственного интеллекта

Наши тренинги: https://linuxcourses.rtsoft.ru
Портфолио проектов: https://outsource.rtsoft.ru
Download Telegram
А мы продолжаем серию вебинаров по машинному зрению - голосуйте за интересную тему в комментариях!
👍3
Коллеги, делимся новыми датами тренингов на апрель и май 2025:

➡️Основы разработки встраиваемых систем на базе Embedded Linux - 16-17 апреля 2025

➡️Разработка драйверов Linux - 19-23 мая 2025

➡️Углубленный тренинг по загрузчику - 27-28 мая 2025

Для регистрации необходимо заполнить и отправить форму на сайте: https://linuxcourses.rtsoft.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Открываем регистрацию на новый вебинар!

➡️4 апреля в 11.00 состоится новый вебинар от ЦПР РТСофт “Особенности CI/CD в Embedded проектах

Ссылка для регистрации: https://rtsoft-swdc.timepad.ru/event/3306677/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👌1🤝1
Зачем нужен CI/CD в embedded проектах?

➡️ Сокращает время вывода продукта на рынок - автоматизация позволяет выводить на прод изменения по мере их готовности

➡️ Позволяет осуществлять контроль версий для всех артефактов - не только исходного кода, но и конфигураций среды, БД, документации

➡️ Улучшает качество продукта при помощи непрырывного тестирования - каждое изменение автоматически проверяется и, при необходимости, вносятся исправления

🔖 - сохраняйте, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Напоминаем:

➡️17 апреля в 11.00 состоится новый вебинар от ЦПР РТСофт “Особенности CI/CD в Embedded проектах

Ссылка для регистрации: https://rtsoft-swdc.timepad.ru/event/3306677/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
ML для embedded: запуск CV-пайплайнов на платах

Машинное обучение всё чаще уезжает с серверов в сторону edge AI - то есть туда, откуда происходят исходные данные: камеры, сенсоры.
Переход на edge ML активно происходит при решении, к примеру, задач видеонаблюдения, промышленности.

Перед запуском нейросети на edge-устройстве важно провести профилирование - то есть процесс анализа производительности. на устройствах с RockChip NPU (нейропроцессорным блоком).

➡️ Для этого используется RKNN Toolkit Profiler — он показывает:
– Время на каждый слой
– Нагрузку на NPU / CPU
– FPS, задержки и узкие места

Зачем это нужно?
– Понять, стоит ли оптимизировать архитектуру
– Найти слабые места до продакшена
– Ускорить вывод фреймов и реакцию системы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1👀1
Если вы работаете с нейросетями на устройствах Rockchip, то знакомы с SDK RKNN-Toolkit и RKNN-Toolkit2. Сегодня поговорим о различиях этих двух инструментов.

➡️RKNN-Toolkit и RKNN-Toolkit2 ориентированы на разные поколения чипов и задачи: RKNN-Toolkit - для более старых чипов, таких как RK3399Pro, RK1808, а RKNN-Toolkit2 предназначен для более новых (RK3566, RK3568, RK3588)

Также RKNN-Toolkit2 отличает переписанный и улучшенный, более гибкий пайплайн. При этом он не совместим со старыми устройствами.

Что касается RKNN-Toolkit, то его развитие остановилось и он более не поддерживается, в то время как вторая версия обновляется до сих пор.

#embedded_ML@rtsoftcourses
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
ML для обнаружения объектов и сопоставления с каталогом: что нужно знать

Задача часто может звучать так: найти объекты на изображениях и сопоставить их с каталогом. Рассмотрим краткие особенности решения.

В качестве baseline можно использовать foundation-модели Segment Anything и DINOv2: сначала на изображении автоматически генерируются сегментационные предложения, затем каждое из них сопоставляется с заранее отрендеренными CAD-шаблонами, используя сравнение cls-токенов DINOv2.

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

#ML@rtsoftcourses
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Открываем регистрацию на новый бесплатный вебинар “Обнаружение объектов и сопоставление с базой при помощи ML”!

Программа вебинара:

1. Постановка задачи
- поиск объектов
- сопоставление с каталогом

2. Бэйзлайн системы

3. Обнаружение объектов
- детектор на реальных данных
- детектор на синтетике
- сегментация на смешанных данных

4. Стадия поиска объектов
- категории сегментации
- метрики сети

5. Классификация объектов из католога

6. Масштабируемость ситемы

7. Метрики системы

8. Потенциальные способы повышения точности

➡️Когда: 15 мая в 11.00

Ссылка для регистрации: https://rtsoft-swdc.timepad.ru/event/3359507/

#ML@rtsoftcourses #вебинар
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
🔥Обновили расписание тренингов!

Делимся новыми датами проведения потоков:

➡️ Основы разработки встраиваемых систем на базе Embedded Linux: 18-19 июня 2025, 29-30 июля 2025

➡️ Разработка драйверов Linux: 7-11 июля 2025

➡️ Углубленный тренинг по загрузчику: 23-24 июля 2025

➡️ Углубленный тренинг по CI/CD и разработке системных компонент: 25-26 июня 2025

➡️ Тренинг по 4diac: 16-17 июля 2025

Ознакомиться с программой и подать заявку на обучение можно по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Нужен ли вам real-time Linux?

Многие путают real-time с высокой скоростью. Но на самом деле real-time не гарантирует скорость, но гарантирует предсказумость: он позволяет сделать так, чтобы операция закончилась тогда, когда должна, а не просто как можно быстрее.

Несколько вопросов, которые помогут понять, а нужна ли вам real-time система:

🔵Есть ли среди требований необходимость соблюдения сроков? Если система будет давать результаты с задержкой по времени, будут ли эти результаты по-прежнему ценны/полезны для решения поставленной задачи? Например, будут ли такие задержки влиять на чью-либо безопасность или понижать качество предоставляемой бизнесом услуги.

🔵Устанавливает ли какое-либо внешнее устройство, взаимодействующее с прикладным ПО, какие-либо временные требования к обработке своих сообщений?

🔵Могут ли некоторые из прикладных задач иметь более высокий приоритет в вашем проекте, чем, например, собственный сетевой код Linux или службы файловой системы? Важно помнить, что Linux запускает множество фоновых потоков вместе с пользовательскими приложениями, и что это может помешать работе вашего приложения.

🔵Нужна ли точная временная детализация для отражения задержек и тайм-аутов?

Итак, если вы ответили утвердительно на один или несколько вопросов, то вам следует рассмотреть возможность использования ядра Linux с поддержкой реального времени.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥1
Media is too big
VIEW IN TELEGRAM
Публикуем запись вебинара “Обнаружение объектов и сопоставление с базой при помощи ML”!
👍61🔥1
Real-time вычисления: каким индустриям они необходимы?

Технология real-time вычислений в последнее время применяется все активнее, поэтому в этом посте мы разберем основные сферы, в которых без вычислений в режиме реального времени практически невозможно обойтись.

➡️ Контрольно-измерительное оборудование. Системы в этой сфере должны быстро обрабатывать данные с физических датчиков и управлять оборудованием - например, промышленными роботами. Задержка в обработке может привести к рассинхронизации и сбоям.

➡️ Аэрокосмическая отрасль. Типичный пример использования технологий реального времени в этой сфере - системы моделирования с подключением реального оборудования, подход, известный как моделирование по принципу HIL (hardware-in-the-loop). Здесь real-time вычисления необходимы, поскольку ПО взаимодействует с физическим миром. Такая возможность тестировать реальные устройства в виртуальной среде позволяет конструкторам прогнозировать, будет ли вся авиасистема соответствовать заданным характеристикам.

➡️ Финтех. Real-time вычисления полезны, например, при подключении торговых систем к мировым фондовым биржам, когда каждую минуту происходит множество сделок, а задержка в обработке торговых возможностей всего на несколько секунд может привести к серьёзным потерям.
Именно поэтому торговые системы всё больше зависят от быстрого отклика. Хотя такие приложения и работают в масштабе миллисекунд, а не микросекунд.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎1
Event trace - инструмент для отладки real-time приложений в Linux

Опция Event trace - одна из самых полезных для разработчиков real-time систем. Она позволяет отслеживать задержки системных вызовов и других событий, если включены соответствующие опции.

При активации создаются ключевые файлы в /proc/sys/kernel/, например:

⭕️/proc/sys/kernel/trace_enabled
⭕️/proc/sys/kernel/trace_user_triggered
⭕️/proc/sys/kernel/trace_freerunning
⭕️/proc/sys/kernel/trace_print_on_crash
⭕️/proc/sys/kernel/trace_verbose
⭕️/proc/sys/kernel/mcount_enabled
⭕️/proc/sys/kernel/preempt_max_latency
⭕️/proc/sys/kernel/preempt_thresh
⭕️proc/sys/kernel/preempt_mark_thresh

Управление возможно с помощью стандартных команд:

# cat /proc/sys/kernel/preempt_mark_thresh
100
# echo 200 > /proc/sys/kernel/preempt_mark_thresh

Или через sysctl:

# sysctl kernel.preempt_mark_thresh=100
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
3 совета, как использовать ИИ при разработке embedded решений

Возможно, вы скажете: ИИ не место в разработке встраиваемых систем - уж очень мы ограничены в ресурсах. Но мы попробуем посмотреть на это иначе, а именно - как на очень мощный инструмент, если его правильно применять.

Совет №1
Перед использованием ИИ все рабочие процессы должны быть задокументированы
ИИ - это что-то вроде джуна, которого нужно обучать. Поэтому важно:
➡️ Выбрать процесс, который хотите автоматизировать или улучшить
➡️ Ясно задокументировать его этапы: входные данные, шаги, результаты

Совет №2
Использование ИИ для тестирования и отладки
В среднем, разработчики тратят на отладку 20-40% своего времени. А это, между прочим, 2.5-5 месяцев в году.
Приведем пример: перегружен CPU, сроки срываются. Разработчик, который должен был найти и устранить проблему, оказался новым члеовеком на проекте - ознакомление с базовым кодом заняло бы очень много времени. С помощью ИИ была найдена и переписана функция, которая снизила нагрузку до 65% - всего за несколько секунд.

Совет №3
Использование ИИ для генерации и оптимизации кода
Одно из самых распространенных (и пугающих - нас всех заменит ИИ!) применений - это генерация кода. Важно отметить, что нужно обязательно проверять финальный код, а не слепо копировать и вставлять все подряд.

Примеры применения:

➡️Создание драйверов по API-спецификации
➡️Прототипирование алгоритмов под аппаратные ограничения
➡️Оптимизация "тяжёлых" участков кода
➡️Создание интерфейсов с учётом вашей архитектуры

Делитесь в комментариях, используете ли ИИ в разработке?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👌1
Стандарт IEC 61499: что это такое и зачем нужен

IEC 61499 - это международный стандарт для распределенных систем управления и автоматизации. Применение среды исполнения стандарта IEC 61499 облегчает построение распределенных систем, отвечающих архитектурным требованиям современных приложений Industry 4.0. В соответствии со стандартом IEC 61499 применяется платформа с открытым исходным кодом для разработки измерительных и управляющих систем.

Глобально использование IEC 61499 позволяет: 

🔵создавать распределенные приложения для систем контроля и управления; 
🔵быстрее выполнять разработку за счет использования высокоуровневых конструкций языка FBD IEC 61499; 
🔵использовать стандартные для систем управления языковые конструкции языков IEC 61131; 
🔵получать эффективные, производительные приложения с малым временем отклика; 
🔵использовать типовые функциональные блоки для взаимодействия по популярным IIoT- и АСУТП-протоколам.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🤝2👍1
Метод чтения кадров с видеокамер на языках стандарта IEC 61499

Использование языков, специфицированных в стандарте IEC 61499 является перспективным подходом к построению распределенных систем управления.

Стандарт IEC 61499 предлагает строить программу из функциональных блоков, используя событийную модель для определения порядка их выполнения. Программа представляет из себя ориентированный граф функциональных блоков, которые могут обмениваться данными и событиями. Функциональные блоки имеют информационные и событийные входы и выходы. В процессе конфигурирования программы функциональные блоки могут назначаться разработчиком на устройства, входящие в состав модели устройств системы, и загружаться на них.

Существуют коммерческие и OpenSource инструментальные средства для разработки на языках IEC 61499. Примерами коммерческих инструментов разработки, поддерживающих IEC61499 являются IsaGrag и продукты компании nxtControl. Наиболее известными OpenSourceрешениями являются FBDK и среда разработки 4diac совместно со средой исполнения Eclipseforte.

Читать полную статью по ссылке
👍2