Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017) — различия между версиями

Материал из 0x1.tv

(Batch edit: replace PCRE (\n\n)+(\n) with \2)
revid: 186062\ntimestamp: '2021-09-04T12:20:21Z'\ncontentmodel: wikitext\n---\n== Аннотация ==
\n;Докладчик: {{Speaker|Евгений Синельников}}
\n<blockquote>
Современные\nСовременные робототехнические конструкторы требуют специальные средства разработки.

Подобные\n\nПодобные средства разработки позволяют снизить порог вхождения при программировании автономных робототехнических устройств, оснащённых датчиками и
исполнительными\nисполнительными механизмами, то есть роботов. На текущий момент возможности свободного программного обеспечения в
области\nобласти образовательной робототехники ограничены, а их разработка имеет свою актуальную проблематику. 

В\n\nВ данном докладе представлен анализ возможностей и ограничений средств разработки для программирования роботов на примере подготовки
олимпиадных\nолимпиадных задач и участия в олимпиадах по робототехнике.

\n\n* [https://github.com/centrit/AXRobot Arduino templates for Robots]
\n</blockquote>

\n\n== Видео ==
\n{{vimeoembed|201654588|800|450}}
\n{{youtubelink|kED4pmWRw9E}}{{letscomment}}
\n== Слайды ==
\n[[File:Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf|left|page=-|256px]]

\n\n== Тезисы ==
<latex>
\section{\n\n=== Задачи образовательной робототехники}
Ответ ===\nОтвет на вопрос: «Что такое робот?», — с  точки зрения содержания и методики преподавания, можно свести к двум
 вариантам:

\begin{itemize}
\item\n\n* Робот — это автономное, программируемое, программно-аппа\-рат\-ноеаппаратное решение с набором датчиков и исполнительных
 механизмов;
\itemn* Робот — это управляемый набор программно-аппаратных компонент, осуществляющий различные производственные и иные
 операции.
\end{itemize}

В\n\nВ первом случае, основной упор делается на разработку и программирование автономной робототехнической модели, например,
 для решения олимпиадных задач, во втором — на подробное изучение функциональных возможностей отдельных
 программно-аппаратных компонент, представленное в иностранных образовательных заведениях, как  STEM-направление
\cite{<ref name="sin-8}.

\section{">U.S. Department of Education, ''Science, Technology, Engineering and Math}: Education for Global Leadership'', 2015, \url{[https://www.ed.gov/stem ed.gov]</ref>.\n\n=== Программно-аппаратные средства}
Данный ===\nДанный доклад посвящён разбору возможностей и ограничений средств разработки для программирования роботов в рамках
 первого подхода. При этом, одну из важнейших функций играет поддержка средой разработки возможности программирования
 той или иной робототехнической платформы через различные проводные и беспроводные интерфейсы. Стандартом \nСтандартом де-факто, в
 качестве такой платформы в задачах олимпиадного, робототехнического программирования, на текущий момент, является
 конструктор Lego Mindstorms EV3 \cite{<ref name="sin-1}. В">''Л.\, Ю.\, Овсяницкая, Д.\, Н.\, Овсяницкий, А.\, Д.\,Овсяницкий},  Овсяницкий'', ''Курс программирования робота EV3 в среде Lego Mindstorms EV3'' / М.: Издательство <<«Перо», 2016.</ref>.  \nВ качестве свободной, недорогой альтернативы ему представлены
 различные решения на базе платформы Arduino \cite{<ref name="sin-3}">Arduino, ''Getting Started with Arduino and Genuino products'', 2016, \url{[https://www.arduino.cc/en/Guide/HomePage arduino.cc]</ref>, которая включает в себя открытую аппаратную платформу для
 различных типов микроконтроллеров и среду разработки, позволяющую выполнять прошивку этих микроконтроллеров через
 стандартный USB-интерфейс.

В\n\nВ силу открытости платформы Arduino крупные компании самостоятельно реализуют для неё поддержку своих отладочных плат —
 Edisson \cite{<ref name="sin-6}">''Stephanie Moyerman}Moyerman'', ''Getting Started with Intel Edison Sensors, Actuators, Bluetooth, and Wi-Fi on the Tiny Atom-Powered Linux Module'' / Maker Media, Inc, 2015.</ref> от Intel, LaunchPad \cite{<ref name="sin-7} ">Texas Instruments}, ''Getting Started with Energia'', 2016, \url{[http://energia.nu/guide/ energia.nu]</ref> от Texas Instruments, ESP8266 \cite{<ref name="sin-4}">''Neil Kolban}Kolban'', ''Kolban's Book on the ESP32 \& ESP8266'' / Leanpub, 2016.</ref> от Espressif и
 др. Кроме \nКроме того, для большинства недорогих датчиков и исполнительных механизмов, как правило, доступно множество
 примеров исходного кода.\n\nТаким 

Таким образом, одной из основныйх свободных альтернатив, в качестве аппаратной базы для образовательной робототехники,
 является именно платформа Arduino. Тем \nТем не менее, реальное применение Arduino, в качестве замены для весьма
 дорогостоящих Lego Mindstorms, в задачах образовательной и олимпиадной робототехники до сих пор не осуществленао, в силу
 следующих причин:

\begin{itemize}
\item\n\n* основной язык программирования для Arduino --- С C++;
\itemn* целостная сборка готового решения на базе доступных примеров, зачастую, требует реализации элементов операционной
 системы реального времени;
\itemn* различные аппаратные средства требуют подключения и монтажа электронных компонент через различные аппаратные
 интерфейсы (I2C, UART, SPI), а также реализацию протоколов для проводных и беспроводных интерфейсов (Ethernet, Wifi,
 Bluetooth и др.);
\item Отсутствуютn* отсутствуют и требуют дополнительного программирования кнопки управления, модуль визуального отображения и вывода
 звука;
\item Требуетсяn* требуется отдельное подключение исполнительных механизмов через специальные силовые драйверы с повышенным
 напряжением, а также подключение и программирование энкодеров.
\end{itemize}

С\n\nС одной стороны, такой минимализм позволяет максимально подробно изучить дополнительные модули, аппаратные интерфейсы и
 спецификации на протоколы, а также низкоуровневое программирование с использованием портов ввода-вывода, прерываний,
 аналого-цифровых преобразователей и таймеров. Но \nНо это актуально, скорее, в рамках демонстрации выполнения операций
, осуществляемых роботом. Готовое, \nГотовое автономное решение для олимпиадного соревнования в обозримые сроки, силами школьников
 подготовить таким образом довольно сложно.

\section{\n\n=== Средства разработки}
Тем ===\nТем не менее, в качестве базовой, свободной среды разработки для доступных по стоимости робототехнических решений
 являются средства платформы Arduino.

При\n\nПри этом, например, в Mindstorm, где все аппаратные модули заранее реализованы, за программную часть управления
 аппаратными средствами отвечает операционная система на базе Linux, базовая прошивка, включающая специализированную
 виртуальную машину и генератор байткода для этой виртуальной машины, реализованный в рамках проприетарной графической
 среды разработки, работающей под MacOS и Windows (есть вариант запустить с помощью wWine).

%\begin{figure}[h!]
%\centering
%\ncludegraphics[width=0.6\textwidth]{robots_arch1}
%\caption{}
%\label{img1}
%\end{figure}

В\n\nВ качестве альтернативы для программирования Mindstorm существует ряд дополнительных свободных проектов, загружаемых с
 внешней SD-карты…

%\begin{figure}[h!]
%\centering
%\ncludegraphics[width=0.6\textwidth]{robots_arch2}
%\caption{}
%\label{img1}
%\end{figure}

\begin{itemize}
\item\n\n* EV3Dev\cite{<ref name="sin-5} ">''Ralph Hempel and David Lechner}Lechner'', ''Getting Started with ev3dev, 2016, \url{ ev3dev'', 2016, [http://www.ev3dev.org/docs/getting-started/ ev3dev.org]</ref>  сборка на базе Debian (не имеет среды разработки, позволяет использовать любые языки
 программирования, доступные в прошивке, при подключении через SSH — shell, python, C/C++, NodeJS и др.);
\itemn* LejOS  на базе Java (имеет плагин для среды Eclipse);
\itemn* MonoBrick  на базе .Net/Mono (имеет плагин для среды Xamarin Studio);
\end{itemize}

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

Подобное\n\nПодобное решение представлено в свободной, кроссплатформенной, графической среде разработки TrikStudio (первичное
 название qreal). Данная \nДанная среда поддерживает, как собственную платформу TRIK, так и платформу Mindstorm. При \nПри этом
 поддержка платформы Arduino отсутствует, но имеется встроенная, двухмерная среда{}-эмулятор для отладки программ.

Одним\n\nОдним из перспективных вариантов реализации универсальной, графической среды разработки является следующее поколение
 программной платформы ScratchX (или Scratch 2.0), выполненное на базе web-технологий (также доступная в offline -режиме
 через технологию Adobe Air). В \nВ этой программной платформе поддержка различных аппаратных платформ реализована в виде
 плагинов для браузера Chrome. К \nК сожалению, на текущий момент, поддержка Linux в этом решении отсутствует.

При\n\nПри этом, для платформы Arduino имеется имеется брошенный, не развивающийся, но пока работоспособный, проект
 графического расширения Ardublock, выполненный в виде jJava-плагина, реализованныйого на базе OpenBlocks в виде таких же
 блоков, как в проекте Scratch. На \nНа текущий момент, это наиболее простое, доступное средство графического
 программирования для Arduino.

Кроме\n\nКроме десктопных решений, для платформы Arduino реализован ряд web-эмуляторов с поддержкой различного оборудования.
Наиболее  \nНаиболее популярным среди них является набор 123D/circuits.io от Autodesk. С \nС недавнего времени, в рамках проекта
 Arduino, реализовано собственное web-решение Arduino Create \cite{<ref name="sin-2} ">''Alice Pintus}Pintus'', ''Sneak peek on the new, web-based Arduino Create'', 2015, \url{[https://blog.arduino.cc/2015/05/05/sneak-peak-arduino-create/ blog.arduino.cc]</ref> с возможностью прошивки контроллеров через
 плагин для браузера.

\section[Возможности и ограничения в олимпиадных задачах]{Возможности и ограничения в олимпиадных задачах}
Практика\n\n=== Возможности и ограничения в олимпиадных задачах ===\nПрактика подготовки к решению олимпиадных задач по робототехнике даёт ряд противоречивых ограничений — сложность
 освоения среды разработки (включая язык программирования) и необходимость реализации не тривиальных алгоритмов (включая
 работу со структурами данных). В \nВ первом случае графическая среда разработки помогает снизить порог вхождения, во втором
 — существенно замедляет или, вообще, вовсе не позволяет достаточно выразительно реализовывать алгоритмы.

Создание\n\nСоздание цепочки функций со входными и выходными параметрами, работа с массивами, списками, стековыми структурами, а
 также строчные операции в графических средах зачастую выглядят громоздко и «нечитабельно».

В\n\nВ связи с этим возможности платформы Arduino выглядят достаточно перспективно в случае генерации настроек и базового
 кода на основе шаблонов. Особенно \nОсобенно для средств разработки и симуляции, доступных в виде web-решений. Тем \nТем не менее,
 актуальность генерации кода на основе визуальных шаблонов, диаграмм и блок-схем сохраняется для олимпиадных и
 образовательных задач по робототехнике. Отсутствие \nОтсутствие же таких средств, резко снижает возможности платформы Arduino по
 сравнению с платформой Mindstorm.

На\n\nНа текущий момент существует целый ряд возможностей и вариантов реализовать двухступенчатую схему программирования (как
 в графическом, так и в текстовом виде) в рамках платформы Arduino. Возможно \nВозможно, реализацию такого решения имеет смысл
 выполнить в виде web-приложения.

\begin{thebibliography}{9}
\bibitem{sin-1} \emph{>>, 2016
\bibitem{sin-2} \emph{}
\bibitem{sin-3}  Arduino, }
\bibitem{sin-4} \emph{
\bibitem{sin-5}  \emph{}
\bibitem{sin-6} \emph{
\bibitem{sin-7}  \emph{}
\bibitem{sin-8}  \emph{\n\n}
\end{thebibliography}
</latex>

{{----}}

\n\n== Примечания и отзывы ==
\n<!-- <blockquote>[©]</blockquote> -->

\n\n{{fblink|1850546901864989}}                                          
\n{{vklink|432}}                                          
\n<references/>
\n[[File:{{#setmainimage:Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017)!.jpg}}|center|640px]]
\n<!-- topub -->
\n{{stats|disqus_comments=0|refresh_time=2021-08-31T16:48:06.302411|vimeo_comments=0|vimeo_plays=35|youtube_comments=0|youtube_plays=9}}

\n\n[[Категория:OSEDUCONF-2017]]
\n[[Категория:СПО в образовании]]
\n[[Категория:Робототехника]]
\n[[Категория:Arduino]]

Версия 13:59, 18 октября 2025

revid: 186062\ntimestamp: '2021-09-04T12:20:21Z'\ncontentmodel: wikitext\n---\n== Аннотация ==\n;Докладчик:
Евгений Синельников.jpg
Евгений Синельников\n
\nСовременные робототехнические конструкторы требуют специальные средства разработки.\n\nПодобные средства разработки позволяют снизить порог вхождения при программировании автономных робототехнических устройств, оснащённых датчиками и\nисполнительными механизмами, то есть роботов. На текущий момент возможности свободного программного обеспечения в\nобласти образовательной робототехники ограничены, а их разработка имеет свою актуальную проблематику. \n\nВ данном докладе представлен анализ возможностей и ограничений средств разработки для программирования роботов на примере подготовки\nолимпиадных задач и участия в олимпиадах по робототехнике.\n\n* Arduino templates for Robots\n
\n\n== Видео ==\n

\non youtube

Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.

\n== Слайды ==\n
Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017).pdf
\n\n== Тезисы ==\n\n=== Задачи образовательной робототехники ===\nОтвет на вопрос: «Что такое робот?» — с точки зрения содержания и методики преподавания, можно свести к двум вариантам:\n\n* Робот — это автономное, программируемое, программно-аппаратное решение с набором датчиков и исполнительных механизмов;\n* Робот — это управляемый набор программно-аппаратных компонент, осуществляющий различные производственные и иные операции.\n\nВ первом случае основной упор делается на разработку и программирование автономной робототехнической модели, например, для решения олимпиадных задач, во втором — на подробное изучение функциональных возможностей отдельных программно-аппаратных компонент, представленное в иностранных образовательных заведениях, как STEM-направление[1].\n\n=== Программно-аппаратные средства ===\nДанный доклад посвящён разбору возможностей и ограничений средств разработки для программирования роботов в рамках первого подхода. При этом одну из важнейших функций играет поддержка средой разработки возможности программирования той или иной робототехнической платформы через различные проводные и беспроводные интерфейсы. \nСтандартом де-факто, в качестве такой платформы в задачах олимпиадного робототехнического программирования, на текущий момент является конструктор Lego Mindstorms EV3[2]. \nВ качестве свободной, недорогой альтернативы ему представлены различные решения на базе платформы Arduino[3], которая включает в себя открытую аппаратную платформу для различных типов микроконтроллеров и среду разработки, позволяющую выполнять прошивку этих микроконтроллеров через стандартный USB-интерфейс.\n\nВ силу открытости платформы Arduino крупные компании самостоятельно реализуют для неё поддержку своих отладочных плат — Edisson[4] от Intel, LaunchPad[5] от Texas Instruments, ESP8266[6] от Espressif и др. \nКроме того, для большинства недорогих датчиков и исполнительных механизмов, как правило, доступно множество примеров исходного кода.\n\nТаким образом, одной из основных свободных альтернатив, в качестве аппаратной базы для образовательной робототехники, является именно платформа Arduino. \nТем не менее, реальное применение Arduino, в качестве замены для весьма дорогостоящих Lego Mindstorms, в задачах образовательной и олимпиадной робототехники до сих пор не осуществлено, в силу следующих причин:\n\n* основной язык программирования для Arduino — C++;\n* целостная сборка готового решения на базе доступных примеров зачастую требует реализации элементов операционной системы реального времени;\n* различные аппаратные средства требуют подключения и монтажа электронных компонент через различные аппаратные интерфейсы (I2C, UART, SPI), а также реализацию протоколов для проводных и беспроводных интерфейсов (Ethernet, Wifi, Bluetooth и др.);\n* отсутствуют и требуют дополнительного программирования кнопки управления, модуль визуального отображения и вывода звука;\n* требуется отдельное подключение исполнительных механизмов через специальные силовые драйверы с повышенным напряжением, а также подключение и программирование энкодеров.\n\nС одной стороны, такой минимализм позволяет максимально подробно изучить дополнительные модули, аппаратные интерфейсы и спецификации на протоколы, а также низкоуровневое программирование с использованием портов ввода-вывода, прерываний, аналого-цифровых преобразователей и таймеров. \nНо это актуально, скорее, в рамках демонстрации выполнения операций, осуществляемых роботом. \nГотовое автономное решение для олимпиадного соревнования в обозримые сроки силами школьников подготовить таким образом довольно сложно.\n\n=== Средства разработки ===\nТем не менее, в качестве базовой свободной среды разработки для доступных по стоимости робототехнических решений являются средства платформы Arduino.\n\nПри этом, например, в Mindstorm, где все аппаратные модули заранее реализованы, за программную часть управления аппаратными средствами отвечает операционная система на базе Linux, базовая прошивка, включающая специализированную виртуальную машину и генератор байткода для этой виртуальной машины, реализованный в рамках проприетарной графической среды разработки, работающей под MacOS и Windows (есть вариант запустить с помощью Wine).\n\nВ качестве альтернативы для программирования Mindstorm существует ряд дополнительных свободных проектов, загружаемых с внешней SD-карты…\n\n* EV3Dev[7] — сборка на базе Debian (не имеет среды разработки, позволяет использовать любые языки программирования, доступные в прошивке, при подключении через SSH — shell, python, C/C++, NodeJS и др.);\n* LejOS — на базе Java (имеет плагин для среды Eclipse);\n* MonoBrick — на базе .Net/Mono (имеет плагин для среды Xamarin Studio);\n\nКроме несовместимых с базовой прошивкой свободных альтернатив существует проприетарный набор продуктов RobotC, который самостоятельно генерирует байткод для виртуальной машины из базовой прошивки, поддерживает дополнительные платформы, в частности Arduino, а также предоставляет трёхмерную среду-эмулятор для отладки программ.\n\nПодобное решение представлено в свободной, кроссплатформенной, графической среде разработки TrikStudio (первичное название qreal). \nДанная среда поддерживает как собственную платформу TRIK, так и платформу Mindstorm. \nПри этом поддержка платформы Arduino отсутствует, но имеется встроенная двухмерная среда-эмулятор для отладки программ.\n\nОдним из перспективных вариантов реализации универсальной графической среды разработки является следующее поколение программной платформы ScratchX (или Scratch 2.0), выполненное на базе web-технологий (также доступная в offline-режиме через технологию Adobe Air). \nВ этой программной платформе поддержка различных аппаратных платформ реализована в виде плагинов для браузера Chrome. \nК сожалению, на текущий момент поддержка Linux в этом решении отсутствует.\n\nПри этом для платформы Arduino имеется брошенный, не развивающийся, но пока работоспособный проект графического расширения Ardublock, выполненный в виде Java-плагина, реализованного на базе OpenBlocks в виде таких же блоков, как в проекте Scratch. \nНа текущий момент это наиболее простое доступное средство графического программирования для Arduino.\n\nКроме десктопных решений для платформы Arduino реализован ряд web-эмуляторов с поддержкой различного оборудования. \nНаиболее популярным среди них является набор 123D/circuits.io от Autodesk. \nС недавнего времени в рамках проекта Arduino реализовано собственное web-решение Arduino Create[8] с возможностью прошивки контроллеров через плагин для браузера.\n\n=== Возможности и ограничения в олимпиадных задачах ===\nПрактика подготовки к решению олимпиадных задач по робототехнике даёт ряд противоречивых ограничений — сложность освоения среды разработки (включая язык программирования) и необходимость реализации нетривиальных алгоритмов (включая работу со структурами данных). \nВ первом случае графическая среда разработки помогает снизить порог вхождения, во втором — существенно замедляет или вовсе не позволяет достаточно выразительно реализовывать алгоритмы.\n\nСоздание цепочки функций со входными и выходными параметрами, работа с массивами, списками, стековыми структурами, а также строчные операции в графических средах зачастую выглядят громоздко и «нечитабельно».\n\nВ связи с этим возможности платформы Arduino выглядят достаточно перспективно в случае генерации настроек и базового кода на основе шаблонов. \nОсобенно для средств разработки и симуляции, доступных в виде web-решений. \nТем не менее, актуальность генерации кода на основе визуальных шаблонов, диаграмм и блок-схем сохраняется для олимпиадных и образовательных задач по робототехнике. \nОтсутствие же таких средств резко снижает возможности платформы Arduino по сравнению с платформой Mindstorm.\n\nНа текущий момент существует целый ряд возможностей и вариантов реализовать двухступенчатую схему программирования (как в графическом, так и в текстовом виде) в рамках платформы Arduino. \nВозможно, реализацию такого решения имеет смысл выполнить в виде web-приложения.\n\n
\n\n== Примечания и отзывы ==\n\n\n* Discuss on Facebook \n* Discuss on VK \n
  1. U.S. Department of Education, Science, Technology, Engineering and Math: Education for Global Leadership, 2015, ed.gov
  2. Л. Ю. Овсяницкая, Д. Н. Овсяницкий, А. Д. Овсяницкий, Курс программирования робота EV3 в среде Lego Mindstorms EV3 / М.: Издательство «Перо», 2016.
  3. Arduino, Getting Started with Arduino and Genuino products, 2016, arduino.cc
  4. Stephanie Moyerman, Getting Started with Intel Edison Sensors, Actuators, Bluetooth, and Wi-Fi on the Tiny Atom-Powered Linux Module / Maker Media, Inc, 2015.
  5. Texas Instruments, Getting Started with Energia, 2016, energia.nu
  6. Neil Kolban, Kolban's Book on the ESP32 & ESP8266 / Leanpub, 2016.
  7. Ralph Hempel and David Lechner, Getting Started with ev3dev, 2016, ev3dev.org
  8. Alice Pintus, Sneak peek on the new, web-based Arduino Create, 2015, blog.arduino.cc
\n
Анализ свободных средств разработки для образовательной робототехники (Евгений Синельников, OSEDUCONF-2017)!.jpg
\n\n

Plays:44   Comments:0 \n\n\n\n\n