Разработка для 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
#computervision #кейс #компьютерноезрение

Как автоматизировать производственные процессы в вашей компании при помощи внедрения технологий компьютерного зрения (computer vision)?

Мы в ЦПР РТСофт решили поделиться своим опытом выполнения заказа по оптимизации производственных процессов на основе компьютерного зрения и AI.

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

Читайте полный кейс в нашем блоге: https://outsource.rtsoft.ru/blog/computer-vision-in-manufacturing
👍3
#тренинги

🔥Публикуем программу Углубленного тренинга по загрузчику (Uboot):

Тема 1. Структура исходного кода Uboot
Тема 2. Архитектура u-boot
Тема 3. Обзор first-stage бутлоадеров (SPL, TEE (TF-A))
Тема 4. Процесс загрузки u-boot на ARM платформе
Тема 5. Особенности портирования u-boot на новую аппаратную платформу
Практические задания:
• Сборка uboot
• u-boot environments setting & boot args
• Добавление новой команды
• Пример драйвера в uboot
Тема 6. Этапы загрузки Linux
Тема 7. Обзор Image booting, Falcon Mode, Secure Boot
Тема 8. U-Boot features:
• device tree
• device overlays
• driver model
• DFU
Тема 9. Обзор U-Boot API
Тема 10. Особенности загрузки с различных источников (emmc, sd, net, ...)
Тема 11. Особенности отладки и тестирования Uboot
Тема 12. Взаимодействие rauc и u-boot в процессе A/B обновлений

📍Ближайший поток - 30-31 июля 2024

Для записи необходимо подать заявку через наш сайт: https://linuxcourses.rtsoft.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
ℹ️Коллеги, наблюдаем рост заявок на наш курс “Углубленный тренинг по загрузчику” - успейте забронировать место!

Для записи необходимо подать заявку через наш сайт: https://linuxcourses.rtsoft.ru/

Перед прохождением обучения рекомендуем также изучить наш вебинар по Uboot: https://www.youtube.com/watch?v=PF4Dq45Zb70

Ждем вас на нашем курсе!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#кейс

ℹ️Сегодня делимся одним из наших самых интересных кейсов по реализации ОС для мультимедийных приложений на основе Orange PI 5 на ARM процессоре Rockchip RK3588

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

Особенность задачи в том, что программные приложения заказчика предъявляют высокие требования к аппаратным средствам (мультипоточный видеострим, видео Full HD, 3D-графика и т.д.), что вызывает необходимость использования GPU. Еще одной особенностью проекта является то, что видеоконтроллеры относятся к классу необслуживаемой техники, а, следовательно, обновление системного ПО должно происходить на них автоматически.

Читайте полный кейс на нашем сайте: https://outsource.rtsoft.ru/blog/rockchip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Коллеги, наступило время опубликовать предварительное расписание тренингов на август и сентябрь! 🔥

⭐️ 5-9 августа 2024 - Разработка драйверов Linux

⭐️ 13-14 августа 2024 - Тренинг по ML для Embedded

⭐️ 27-28 августа 2024 - Основы разработки встраиваемых систем на базе Embedded Linux (ОНЛАЙН)

⭐️ 10-11 сентября 2024 - Тренинг по 4diac

⭐️ 24-25 сентября 2024 - Углубленный тренинг по загрузчику

Подать заявку на интересующий вас тренинг можно через наш сайт: https://linuxcourses.rtsoft.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Как мы уже анонсировали ранее, 27-28 августа 2024* состоится наш первый ОНЛАЙН тренинг 🔥

Тема: Основы разработки для Embedded Linux

Программа тренинга:

Тема 1. Linux Kernel
Принципы разработки ядра:
•Жизненный цикл Linux Kernel
•Подготовка патчей к публикации
•Best practices работы с Linux Kernel Community
•Опционально: модуль ядра + LAB: пример сборки

Тема 2. Исходный код
Работа с исходным кодом мобильных и встраиваемых ОС
•Системы сборки (Ninja, Autotools, CMake)
•Структура хранения сборников в ОС:
• Yocto: LAB: Пример сборки образов, добавления рецепта для пользовательского приложения (с Makefile и CMake), рецепта для модуля ядра
• Buildroot
• AOSP

Тема 3. Kernel Configuration
Сборка ядра, окружение, адаптация под платформу
•Работа с kconfig & defconfig
•Типы образов ядра
•LAB: добавление своего модуля с запуском в qemu
•Работа с cmdline: все варианты генерации, основные параметры

Тема 4. Загрузка ОС
Брингап платформы
•Типы запуска и загрузки, nfs, tftpboot; LAB: сборка uboot и загрузка в qemu, по сети
•Передача управления в userspace, initd, system; LAB: добавление systemd сервиса
•LAB: основы отладки kgdb, earlyprintk, dynamic debugfs

Тема 5. Безопасность и уязвимости
Необходимые условия для аттестации ОС
•Основные типы уязвимостей
•Источники данных о CVE
•Верификация, SBOM
•Поиск и исправление уязвимостей. LAB: Сканер уязвимостей

Продолжительность: 2 дня

* - даты могут меняться
Заявки на обучение можно оставить через наш сайт: https://linuxcourses.rtsoft.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
ℹ️Образовательные траектории - что это и почему они выгоднее?

Мы в ЦПР РТСофт проводим обучение разработке для Linux в небольших группах в оффлайн и онлайн форматах. Основное преимущество таких тренингов-интенсивов - максимальная концентрация знаний за короткий промежуток времени (2-3 дня).

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


Кому подойдет:
- быстрорастущим компаниям, которые хотят ускорить процесс онбординга и роста компетенций новых сотрудников
- распределенным командам, которые планируют обучение для повышения квалификации

В чем плюс образовательной траектории?
- интенсивное погружение в обучение: за 5-7 рабочих дней специалисты смогут приобрести знания, соответсвующие 3-4 месяцам самостоятельного изучения
- практические задания, результаты выполнения которых можно сразу же использовать в работе

👉Подайте заявку на составление образовательной траектории через наш сайт: https://linuxcourses.rtsoft.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
Делимся подборкой кейсов по решению задач компьютерного зрения (CV)

Собрали для вас несколько ярких кейсов из своей практики:

1️⃣Компьютерное зрение на производстве: система контроля качества продукции предприятия - https://outsource.rtsoft.ru/blog/computer-vision-in-manufacturing

2️⃣ Оптическое распознавание символов и автоматизация бизнеса- https://outsource.rtsoft.ru/blog/ocr

3️⃣ Система компьютерного зрения для распознавания пассажиропотока в транспорте - https://outsource.rtsoft.ru/blog/underground-passengers-monitoring

4️⃣ AI тренировки на смартфоне - https://outsource.rtsoft.ru/blog/ai-movement-recognition
Продолжаем рассказывать про наши кейсы и собственные продукты в серии постов #кейсы ⭐️

Сегодня речь пойдет про решение RITMS UP2DATE, узнать подробнее о котором можно по ссылке

Система обновлений IoT RITMS UP2DATE — решение для беспроводного обновления, с помощью которого осуществляется управление обновлениями системного ПО и приложений на встроенных устройствах Интернета вещей (IoT).


Преимущества использования RITMS UP2DATE:

• RITMS UP2DATE спроектировано так, чтобы предотвратить сбои бизнес-процессов. Например, если обновление прервано, устройство автоматически вернется к предыдущей рабочей версии рабочего программного обеспечения.
• все коммуникации между компонентами RITMS UP2DATE всегда шифруются с помощью сертификатов и могут масштабироваться до миллионов устройств.
• с помощью пакетных обновлений по расписанию есть возможность определить собственные сценарии обновлений устройств. Например, обновлять устройство только тогда, когда оно находится в режиме ожидания.
• развертывается в любом месте и обслуживается в корпоративных серверах/закрытых ЦОД (on-premise) или в общедоступных облаках. Поскольку RITMS UP2DATE основано на технологиях с открытым исходным кодом, пользователь может сам выбрать партнера для его поддержки и сопровождения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Есть программные задачи, требующие нетиповых решений?

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

Если ваша задача относится к профилю ЦПР РТСофт, мы с радостью поможем вам советом. Присылайте свои запросы, и наши техлиды подумают над вашими проблемными вопросами, чтобы предложить нужное решение.

📍 Прислать вопрос для обсуждения можно по ссылке: https://forms.yandex.ru/u/666ff69284227c5e4dd72643/
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝1
Во вторник мы уже рассказывали о том, что собираем ваши вопросы для консультаций. Время рассказать об одном из интересных кейсов-вопросов, который мы получали ранее 🏆

Задача:
Основная задача - помочь спроектировать систему, которая будет осуществлять подсчет пассажиров и оценивать интенсивность пассажиропотока в метро. Цель - оптимизация загруженности посадочной платформы и избежание очередей.

Решение:
У ЦПР РТСофт имеется богатый опыт в создании AI + IoT приложений при помощи интеграции технологий машинного зрения, дополненной реальности, а также аналитики данных. В рамках данного проекта был задействован наш опыт с такими платформами, как Intel Movidius, Nvidia Jetson, Google Coral, а также ML-фреймворками: Openvino, TensorRT, TFLite.

Технологические особенности:
- сервер размещен у заказчика
- предложено использование решение на основе нашего собственного AI/ML продукта - RTSoft OMGE
- для организации своевременного обновления парка устройств “по воздуху” использован модуль RTSoft IoT Rollouts (https://up2date.ritms.online/ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Подборки каких материалов по теме Embedded Linux вам наиболее интересны?
Anonymous Poll
64%
Видео (вебинары, обучающие)
48%
Книги
21%
Новостные статьи
48%
Практические кейсы
👍1
Публикуем вторую часть подборок с обучающими материалами!

(Сохраняйте, чтобы не потерять — видео могут быть полезны при подготовке к нашим тренингам)

0/ Я.Железо: Embedded Linux для чайников и умных колонок: https://rutube.ru/video/0f705e7e4b86fb7b1f8cbce2cae1db27/?r=wd

1/ Работа с файловыми системами на Linux, системы /proc/sys: https://rutube.ru/video/c45e3b32c0aec335fe56a9ae8c4c6409/

2/ (ENG) Introduction to Embedded Linux Part 1 - Buildroot | Digi-Key Electronics: https://rutube.ru/video/7964acd8735c996afd171672815ba4ed/

3/ (ENG) Embedded Linux on RISC-V with BeagleV, Yocto and OpenEmbedded: https://rutube.ru/video/def7ac44f0ff72ecd0832b1ca20440d8/?r=wd

4/ (ENG) Kernel and Device Driver Development - part 1 | Embedded Linux Tutorial | Embedded Engineer | Uplat: https://rutube.ru/video/084895e9ce388d364f9415e81e756df4/?r=wd
👍3
Подборка полезных материалов по Embedded Linux. Часть 3: статьи

В этой части подборки — статьи, которые помогут разобраться с драйверами и безопасностью, а также взглянуть на Embedded Linux с разных сторон. Сохраняйте, чтобы не потерять!

1️⃣ Многообразный мир embedded systems и место Embox в нем

2️⃣ Ускорение процесса разработки под Embedded Linux

3️⃣ Написание драйвера для LCD дисплея под embedded linux

4️⃣ Безопасность встраиваемых систем Linux

5️⃣ Embedded Linux в двух словах
👍4
#вопросответ

Сегодня публикуем ответы на некоторые самые частые вопросы по обучению, которые мы получаем - и которые могут возникнуть у вас

Тренинг 2. Разработка драйверов Linux

Вопрос 1. Какая система сборки используется на курсе?

В курсе дается общий обзор Buildroot, но детально ни Buildroot, ни Yocto не используются (про Yocto и Buildroot рассказывается детально в курсе по Embedded Linux). Рассмотрение Docker тоже в значительной степени вне рамок разработки драйверов.

Вопрос 2. Какие темы рекомендуется повторить или изучить перед прохождением курса?

Необходимы знания Linux в пользовательском пространстве. Умение программировать на С (в частности, работа с указателями на функции). Желательно понимание работы с вводом-выводом в POSIX (open, close, read, write, ioctl, mmap), потоков, методов синхронизации и IPC в пользовательском пространстве. Понимание структуры Makefile.

Зарегистрироваться для участия в тренинге можно по ссылке: https://linuxcourses.rtsoft.ru/
Ресурсы для подготовки к тренингам по Embedded Linux

Сегодня делимся ссылками на полезные материалы, которые помогут вам подготовиться к успешному прохождения обучения на наших тренингах

1️⃣ Buildroot — часть 1. Общие сведения, сборка минимальной системы, настройка через меню

2️⃣ Сборка Embedded Linux от Yocto для QEMU x86 и первое приложение к нему

3️⃣ Справочник по Yocto Project

4️⃣ Makefile для самых маленьких

5️⃣ Git за полчаса: руководство для начинающих


Сохраняйте, чтобы не потерять! 🔖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
ℹ️Рады сообщить о том, что в ЦПР РТСофт открыта запись на тренинг "Основы разработки встраиваемых систем на базе Embedded Linux", который пройдет 3-4 октября 2024 года в офисе нашей компании, оффлайн.

Программа тренинга:

Тема 1. Linux Kernel
Принципы разработки ядра:
•Жизненный цикл Linux Kernel
•Подготовка патчей к публикации
•Best practices работы с Linux Kernel Community
•Опционально: модуль ядра + LAB: пример сборки

Тема 2. Исходный код
Работа с исходным кодом мобильных и встраиваемых ОС
•Системы сборки (Ninja, Autotools, CMake)
•Структура хранения сборников в ОС:
• Yocto: LAB: Пример сборки образов, добавления рецепта для пользовательского приложения (с Makefile и CMake), рецепта для модуля ядра
• Buildroot
• AOSP

Тема 3. Kernel Configuration
Сборка ядра, окружение, адаптация под платформу
•Работа с kconfig & defconfig
•Типы образов ядра
•LAB: добавление своего модуля с запуском в qemu
•Работа с cmdline: все варианты генерации, основные параметры

Тема 4. Загрузка ОС
Брингап платформы
•Типы запуска и загрузки, nfs, tftpboot; LAB: сборка uboot и загрузка в qemu, по сети
•Передача управления в userspace, initd, system; LAB: добавление systemd сервиса
•LAB: основы отладки kgdb, earlyprintk, dynamic debugfs

Тема 5. Безопасность и уязвимости
Необходимые условия для аттестации ОС
•Основные типы уязвимостей
•Источники данных о CVE
•Верификация, SBOM
•Поиск и исправление уязвимостей. LAB: Сканер уязвимостей

Продолжительность: 2 дня

Заявки на обучение можно оставить через наш сайт: https://linuxcourses.rtsoft.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Сетевые команды для Uboot

Сохраняйте, чтобы не потерять!

bootp [loadAddress] [bootFilename] — Загружает образ через сеть с использованием протокола BootP/TFTP. Если аргументы не указаны, используются значения переменных окружения loadaddr и bootfile.

dhcp — Запрашивает IP-адрес у DHCP-сервера. Если переменная autoload установлена на yes, файл из bootfile загружается в память по адресу loadaddr через TFTP.

ping <pingAddress> — Проверяет доступность IP-адреса. Если ответ получен, вы увидите сообщение: "host <pingAddress> is alive".

tftpboot [loadAddress] [bootfilename] — Передает образ файла через TFTP в RAM по адресу loadAddress.

nfs [loadAddress] [host ip addr:bootfilename] — Загружает образ через NFS в память.

• rarpboot [loadAddress] [bootfilename] — Загружает образ через RARP/TFTP в память.

sntp — Получает дату и время с NTP-сервера, указанного в переменной ntpserverip.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3
Команды для работы с USB для Uboot

Сохраняйте, чтобы не потерять!

usb reset — Сбрасывает (пересканирует) контроллер USB.

usb stop [f] — Останавливает USB; [f] — принудительная остановка.

usb tree — Показывает дерево USB-устройств.

usb info [dev] — Отображает доступные USB-устройства.

usb storage — Показывает информацию о USB-накопителях.

usb dev [dev] — Показывает или устанавливает текущее USB-устройство.

usb part [dev] — Печатает таблицу разделов одного или всех USB-накопителей.

usb read addr blk# cnt — Читает блоки, начиная с блока blk#, в адрес оперативной памяти addr.

fatload usb <dev[:part]> <addr> <filename> — Загружает образ файла filename с FAT-раздела part USB-устройства dev в оперативную память по адресу addr. Если раздел не указан, предполагается раздел 1.

ext2load usb <dev[:part]> <addr> <filename> — Загружает образ файла filename с раздела EXT2/3 USB-устройства dev в оперативную память по адресу addr. Если раздел не указан, используется раздел 1.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2