Разработка для 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