Каждому любопытному сотруднику IT рано или поздно становится интересно узнать чем занимаются коллеги по цеху, обменяться опытом и посмотреть на новые технологии, появляющиеся на рынке. Для этих целей, как правило, представители крупных компаний организуют различного рода конференции, семинары и прочие митапы. Из-за специфики своей деятельности далее речь пойдет о собраниях, посвященных хардверным продуктам или технологиям, а в частности о форматах проведения такого рода встреч. Хочу поделиться с вами, дорогие хабровчане, новостями и опытом посещения трех таких мероприятый за прошедшую неделю. Обзор по свежим следам.
25.09.2019 в Санкт-Петербурге проводился семинар посвященный микропроцессорам серии i.MX6, где рассказывалось о данном и некоторых других семействах микропроцессоров NXP, в том числе была анонсирована новая линейка — i.MX8 M pico. Кроме того рассматривались особенности перехода с микроконтроллерных систем на микропроцесссорные. Хочется отметить, что бОльшая часть времени семинара была отведена практической части — работе с демонстрационной платой на базе i.MX6 ULL под управлением embedded Linux. Данный KIT представляет из себя следующее:
— SOM модуль VisionSOM-6ULL, выполненный по стандарту SODIMM200, на котором расположен микропроцессор, RAM и ROM (NAND \ eMMC \ uSD);
— Материнская плата с интерфейсными разъемами (Ethernet 10\100, USB OTG, USB Host, UART-USB консоль)
Демонстрационная плата VisionCB-6ULL-STD
Вроде бы кажется, что ничего особенного, но сам факт того, что все это выдается в рамках конференции, проводится занятие с участниками по старту работы с данным оборудованием (загрузка образа ОС на microSD карту, старт Linux системы, работа с GPIO, настройки сетевого интерфейса и dchp сервера) и демонстрация различного функционала (пример работы с модулем гироскопа, реализация простенького WEB-сервера, работа с NFC модулем) – лично у меня вызывало неподдельное уважение. Такой подход вдохновляет. Более того, все выданные демонстрационные платы были подарены участникам компанией-организатором с целью дальнейшего изучения. Из недостатков стоит отметить разве что основное выступление представителя NXP и практические занятия проходили на английском языке, о чем организаторы встречи нигде не упоминали ранее. Для меня это не составило никакие проблем однако присутствовали и явно недовольные слушатели.В общем, на этой конференции-семинаре присутствовать было очень интересно — как будто в институт на лабы сходил. Организаторам и представителям компании большое спасибо.
Далее в моем календаре было отмечено посещение вебинара 27.08.2019, проводящегося компанией-партнером STM — Doulos, посвященный внедрению нейросетей в микроконтроллеры STM32. Я далек от машинного обучения и нейронных сетей, но наблюдать за этими штуками крайне интересно и познавательно. Так вот оказывается, помимо привычных уже CPU и GPU для запуска нейросетей начинают (а может где-то уже и активно используют) применять MCU и FPGA. В отличие от известных облачных расчетов, у встраиваемых решений помимо очевидных недостатков памяти и мощностей, есть свои преимущества — малые задержки принятия решений, стоимость и энергопотребление. Идея состоит в том, что ресурсотребовательная стадия обучения нейросети производится на хост-машине или в облаке, а уже обученная и настроенная сеть затем собирается и прошивается в микроконтроллер. Вебинар демонстрировал пример работы тулчейна Keras (высокоуровневый python-фреймворк для создания нейросетей) + STM32Cube.AI (пакет расширения для STM32CubeMX для встраивания нейронных сетей в микроконтроллеры STM32). Демонстрация закончилась на моменте генерации некоего С-кода в виде огромного массива выделяемого в памяти МК и run-time библиотеки. Мой вопрос в чатике «Как из прошивки общаться с получившейся нейросетью?», к сожалению, проигнорировали и даже почему-то забанили. Но, тем не менее, тема интересная и в любом случае лучше о таком доступном инструментарии знать, чем не знать.
Структурная схема приложения с использованием встроенной нейросети
Генерация кода для МК STM32 из модели нейросети, полученной с помощью Keras
Ну вот и настали выходные и можно смело отправляться на первую для Яндекс.Железо конференцию для hardware разработчиков. Основными освещаемыми темами данного мероприятия были: внедрение Алисы в свой умный дом, алгоритмы и аппаратная начинка беспилотного автомобиля и, конечно же, обед. Яндекс активно продвигает своего голосового помощника в том числе и в сфере умного дома и прекрасно понимает, что поддерживать абсолютно все устройства, начиная от бытовой техники, заканчивая кастомными девайсами кормушек для котов и тому подобное — невозможно. Поэтому сейчас они предлагают Алису в качестве интерфейса, API которого производители бытовой техники смогли бы внедрять в свои устройства и поддерживать. Кроме того, они анонсировали, на мой взгляд, крайне удачное решение, как для крупных производителей техники, так и для DIY-разработчиков — Aliceduino. Фото самой платы, к сожалению, мне сделать не удалось, однако функциональными схемами модулей и кратким описанием поделиться могу.
Анонс Aliceduino — платы расширения с поддержкой Алисы (Картинка платы не соответствует действительности)
Это модуль, имеющий WiFi, вход подключения микрофонов и выход в виде обычного 5V UART'а и позволяющий в реальном времени обрабатывать голосовые команды. На момент анонса имелось два режима работы:
1. Распознавание речи (в UART попадают слова в виде строк, распознанные после слова «Алиса»)
2. Распознавание смысла (в UART приходят не слова, а команды*)
*нужно взаимодействовать с инструментами Яндекс
Микрофонная плата предоставляется в нескольких конфигурациях в зависимости от задачи и области применения приложения
Варианты микрофонной платы для Aliceduino. 2, 4, 7 — микрофонное исполнение
Сам модуль представляет собой System on module (SOM) + плату расширения с аудиоподсистемой (аудиокодек и усилитель для вывода звука на внешний динамик)
Функциональная схема SOM — «мозг Алисы»
Функциональная схема плата расширения с аудиоподсистемой и выводами UART
В итоге мы получаем интеграцию Алисы в свои приложения по средствам 4 проводов:
RX, TX, +5V, GND. Примерную стоимость озвучить не смогли, т.к. тираж еще не выпущен. Выпуск в продажу, как упомянули, планируется к Новому году.
Доклады получились крайне насыщенными и интересными. Честно говоря, не ожидал что буду уходить с мероприятия в таком восторге. Опять же хочется выразить огромную благодарность организаторам.
Подводя итоги, хочу отметить насколько разнообразными и увлекательными стали конференции именно по железкам. Если раньше, кроме рекламы электронных компонентов и маленьких стендов с платами мне увидеть ничего не удавалось, то в этот раз, такой интерактивный и живой подход к демонстрации продукции меня сильно порадовал. В этом хочется участвовать и всячески продвигать. Спасибо.
P.S. Приношу извинения за качество фото. Ссылки на упомянутые технологии можно найти ниже.
1. somlabs.com/news-room/visionsom-6ull-new-som-imx6-ull
2. www.tensorflow.org/guide/keras?hl=ru
3. www.st.com/content/st_com/en/stm32-ann.html
25.09.2019 в Санкт-Петербурге проводился семинар посвященный микропроцессорам серии i.MX6, где рассказывалось о данном и некоторых других семействах микропроцессоров NXP, в том числе была анонсирована новая линейка — i.MX8 M pico. Кроме того рассматривались особенности перехода с микроконтроллерных систем на микропроцесссорные. Хочется отметить, что бОльшая часть времени семинара была отведена практической части — работе с демонстрационной платой на базе i.MX6 ULL под управлением embedded Linux. Данный KIT представляет из себя следующее:
— SOM модуль VisionSOM-6ULL, выполненный по стандарту SODIMM200, на котором расположен микропроцессор, RAM и ROM (NAND \ eMMC \ uSD);
— Материнская плата с интерфейсными разъемами (Ethernet 10\100, USB OTG, USB Host, UART-USB консоль)
Демонстрационная плата VisionCB-6ULL-STD
Особенность SOM модуля
Данный SOM модуль ко всему прочему может быть интересен в приложениях, требующих соблюдения повышенных требований к безопасности, связанных с работой в ГИС, информационных системах работы с персональными данными (ИСПДн) и в объектах критической информационной инфраструктуры (КИИ) т.к. для него существует и поставляется доверенный загрузчик TMS. (https://www.aladdin-rd.ru/catalog/tsm).
Вроде бы кажется, что ничего особенного, но сам факт того, что все это выдается в рамках конференции, проводится занятие с участниками по старту работы с данным оборудованием (загрузка образа ОС на microSD карту, старт Linux системы, работа с GPIO, настройки сетевого интерфейса и dchp сервера) и демонстрация различного функционала (пример работы с модулем гироскопа, реализация простенького WEB-сервера, работа с NFC модулем) – лично у меня вызывало неподдельное уважение. Такой подход вдохновляет. Более того, все выданные демонстрационные платы были подарены участникам компанией-организатором с целью дальнейшего изучения. Из недостатков стоит отметить разве что основное выступление представителя NXP и практические занятия проходили на английском языке, о чем организаторы встречи нигде не упоминали ранее. Для меня это не составило никакие проблем однако присутствовали и явно недовольные слушатели.В общем, на этой конференции-семинаре присутствовать было очень интересно — как будто в институт на лабы сходил. Организаторам и представителям компании большое спасибо.
Далее в моем календаре было отмечено посещение вебинара 27.08.2019, проводящегося компанией-партнером STM — Doulos, посвященный внедрению нейросетей в микроконтроллеры STM32. Я далек от машинного обучения и нейронных сетей, но наблюдать за этими штуками крайне интересно и познавательно. Так вот оказывается, помимо привычных уже CPU и GPU для запуска нейросетей начинают (а может где-то уже и активно используют) применять MCU и FPGA. В отличие от известных облачных расчетов, у встраиваемых решений помимо очевидных недостатков памяти и мощностей, есть свои преимущества — малые задержки принятия решений, стоимость и энергопотребление. Идея состоит в том, что ресурсотребовательная стадия обучения нейросети производится на хост-машине или в облаке, а уже обученная и настроенная сеть затем собирается и прошивается в микроконтроллер. Вебинар демонстрировал пример работы тулчейна Keras (высокоуровневый python-фреймворк для создания нейросетей) + STM32Cube.AI (пакет расширения для STM32CubeMX для встраивания нейронных сетей в микроконтроллеры STM32). Демонстрация закончилась на моменте генерации некоего С-кода в виде огромного массива выделяемого в памяти МК и run-time библиотеки. Мой вопрос в чатике «Как из прошивки общаться с получившейся нейросетью?», к сожалению, проигнорировали и даже почему-то забанили. Но, тем не менее, тема интересная и в любом случае лучше о таком доступном инструментарии знать, чем не знать.
Структурная схема приложения с использованием встроенной нейросети
Генерация кода для МК STM32 из модели нейросети, полученной с помощью Keras
Ну вот и настали выходные и можно смело отправляться на первую для Яндекс.Железо конференцию для hardware разработчиков. Основными освещаемыми темами данного мероприятия были: внедрение Алисы в свой умный дом, алгоритмы и аппаратная начинка беспилотного автомобиля и, конечно же, обед. Яндекс активно продвигает своего голосового помощника в том числе и в сфере умного дома и прекрасно понимает, что поддерживать абсолютно все устройства, начиная от бытовой техники, заканчивая кастомными девайсами кормушек для котов и тому подобное — невозможно. Поэтому сейчас они предлагают Алису в качестве интерфейса, API которого производители бытовой техники смогли бы внедрять в свои устройства и поддерживать. Кроме того, они анонсировали, на мой взгляд, крайне удачное решение, как для крупных производителей техники, так и для DIY-разработчиков — Aliceduino. Фото самой платы, к сожалению, мне сделать не удалось, однако функциональными схемами модулей и кратким описанием поделиться могу.
Анонс Aliceduino — платы расширения с поддержкой Алисы (Картинка платы не соответствует действительности)
Это модуль, имеющий WiFi, вход подключения микрофонов и выход в виде обычного 5V UART'а и позволяющий в реальном времени обрабатывать голосовые команды. На момент анонса имелось два режима работы:
1. Распознавание речи (в UART попадают слова в виде строк, распознанные после слова «Алиса»)
2. Распознавание смысла (в UART приходят не слова, а команды*)
*нужно взаимодействовать с инструментами Яндекс
Микрофонная плата предоставляется в нескольких конфигурациях в зависимости от задачи и области применения приложения
Варианты микрофонной платы для Aliceduino. 2, 4, 7 — микрофонное исполнение
Сам модуль представляет собой System on module (SOM) + плату расширения с аудиоподсистемой (аудиокодек и усилитель для вывода звука на внешний динамик)
Функциональная схема SOM — «мозг Алисы»
Функциональная схема плата расширения с аудиоподсистемой и выводами UART
В итоге мы получаем интеграцию Алисы в свои приложения по средствам 4 проводов:
RX, TX, +5V, GND. Примерную стоимость озвучить не смогли, т.к. тираж еще не выпущен. Выпуск в продажу, как упомянули, планируется к Новому году.
Доклады получились крайне насыщенными и интересными. Честно говоря, не ожидал что буду уходить с мероприятия в таком восторге. Опять же хочется выразить огромную благодарность организаторам.
Немножко фоточек беспилотного автомобиля
Показания с лидаров автомобиля
Как автомобиль ориентируется в пространстве по лидарам
Показания с лидаров автомобиля
Как автомобиль ориентируется в пространстве по лидарам
Подводя итоги, хочу отметить насколько разнообразными и увлекательными стали конференции именно по железкам. Если раньше, кроме рекламы электронных компонентов и маленьких стендов с платами мне увидеть ничего не удавалось, то в этот раз, такой интерактивный и живой подход к демонстрации продукции меня сильно порадовал. В этом хочется участвовать и всячески продвигать. Спасибо.
P.S. Приношу извинения за качество фото. Ссылки на упомянутые технологии можно найти ниже.
1. somlabs.com/news-room/visionsom-6ull-new-som-imx6-ull
2. www.tensorflow.org/guide/keras?hl=ru
3. www.st.com/content/st_com/en/stm32-ann.html