Lego Mindstorm EV3

Main Block

Вот и я приобщился к такой недетской игрушке как Lego Mindstorm. Обратил я внимание на ее анонс еще в начале 2013 года, заинтересовался ... Везти из-за бугра с ебэя было дорого (набор тяжелый - доставка дорогая). Летом появился в продаже и в рашке, ну думаю к новому году можно будет брать. И вот на новогодние каникулы было чем заняться ;-))

Теперь поподробнее (эта статья будет обзорной и в первую очередь призвана собрать в себя всевозможные линки по разным аспектам EV3).

И так.

Первым базовым набором Mindstorm EV3 стал #45544 (именно его и анонсировали в начале года), также как его расширение позиционируется ресурсный набор #45560 (только детали, без электроники). Сейчас же вовсю продвигается набор #31313 - и позиционируется его использование без #45560, видимо маркетологи смекнули, что цены для детей совсем не децкие и постарались сделать из двух наборов один, да еще и дешевле чем первый базовый. Понятно, семь шапок из овцы не сотворишь, но поддержку набору #31313 развернули не хилую: русскоязычный раздел сайта лего весь посвящен исключительно ему. Складывается впечатление, что про пару #45544 + #45560 вовсе забыли, причем не заслужено!

http://robotsquare.com/2013/11/25/difference-between-ev3-home-edition-and-education-ev3/ - сравнение двух наборов EV3 (#45544 и #31313)

В продаже также до сих пор есть предшествующее поколение Мидсторма - NXT - про его отличие от современного EV3 можно прочитать тут:

http://botbench.com/blog/2013/01/08/comparing-the-nxt-and-ev3-bricks/ - сравнение EV3 с его предшественником - NXT

... а от себя могу добавить, что с точки зрения конечного пользователя факт использования в блоке линукса в качестве операционки несомненно делает необходимым применение более мощной платформы. Операционке NXT вполне хватает мощностей ее железа, и большего не нужно. Просто время движется вперед, железо дешевеет, миниатюризируется -  а квалификация программистов падает совместно с растущей ленью. Вот и создают элементарные вещи на базе вычислительных мощностей, которым лет 10 - 15 назад могли позавидовать не только рабочие станции, но и сервера. Но такова реальность. Как бы то ни было, покупать NXT сейчас уже не целесообразно (хотябы по причине отсутствия поддержки, да и цены на него не сказать чтобы снизились).

Блок EV3 имеет порт micro-USB, для подключения в компу, а также интегрированный bluetooth (которым можно, в том числе, и к компу подключаться вместо кабеля, но не только). Есть еще слот для micro-SD карточки (актуальность для штатного применения сомнительная) и USB-хост порт, к которому со штатной прошивкой можно подключать или "гирлянду" до 4-х блоков EV3 - с целью увеличения количества портов в одном проекте, или рекомендуемый WiFi-адаптер - опять-таки для связи с компьютером (и не только, об этом позже).

Опенсорсную часть встроеного софта можно свободно скачать:

https://github.com/mindboards/ev3sources - иcходники базовой операционки
http://botbench.com/blog/2013/07/31/lego-mindstorms-ev3-source-code-available/ - вкратце о сборке прошивки
https://education.lego.com/ru-ru/support/mindstorms-ev3/firmware-update - официальная иструкция по обновлению прошивки (даже на русском)
https://education.lego.com/en-us/support/mindstorms-ev3/developer-kits - официальные ссылки на контент и прошивки

Где купить

С удовольствием посоветую место где покупал я и очень остался доволен и ценами и сервисом - BabyBrick

Альтернативные операционки для блока EV3

leJOS

http://sourceforge.net/p/lejos/wiki/Home/ - вики-мануал
http://sourceforge.net/projects/lejos/files/?source=navbar - скачать

Debian Wheezy (ev3dev)

http://botbench.com/blog/2013/10/28/breathtaking-debian-wheezy-on-the-ev3/ - общая инфа
https://github.com/mindboards/ev3dev/releases - скачать
https://github.com/mindboards/ev3dev/wiki/Add-An-Unsupported-wifi-Dongle - интеграция wifi-драйвера

Вход в режим загрузчика (для записи прошивки штатным лоадером)

BrickPi - Малина в качестве блока Lego EV3

http://botbench.com/blog/2013/04/29/dexter-industries-brickpi/ - краткий обзор
http://www.dexterindustries.com/BrickPi/ - чуть подробнее, плюс ссылки
http://www.dexterindustries.com/BrickPi.html - купить сие чудо

Консольный порт EV3

Сразу оговорюсь, что со стоковой прошивкой практического толку от него нет. Да, можно наблюдать процесс загрузки операционки (а не созерцать статическую картинку на жк-экране), но после автозапуска "виртуальной машины" (того штатного пользовательского интерфейса, что интерпретирует блоксхемы и т.п.) - консоль отваливается. Тут виделось бы разумным решение, чтобы виртуалка не использовала один из 4-х (нижних) портов ... но это нужно патчить прошивку. Кстати, неплохо бы из штатной прошивки собрать образ и грузить его с флеш-карточки - тут и модифицировать его было бы и проще и менее рисковано. Но пока что есть.

http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/ - архи-неразумная затея покупать конвертер USB<->COM за впятеро завышенную цену, даже если бы и была в нем практическая необходимость
http://botbench.com/blog/2013/08/15/ev3-creating-console-cable/ - тут общая мысля как сделать такой кабель самому, но там все слишком мудрено изложено. Постараюсь рассказать доступно и на русском.

Покупаем любой конвертер USB<->COM с 3.3-вольтовыми линиями ТТЛ, например на базе FTDI232 - мне посчитал эргономичным решение, где сам преобразователь спрятан в вилке разъема USB - вот такой (и заодно его распайка):

Как подключиться к разъему самого блока - каждый решает сам. Я не стал варварски резать провода (стоят они не дешево и в комплекте их мало) - в качестве ответной части к стандартному кабелю использовал розетку RJ45, из которой выкинул два лишних (мешающих) и припаял к ним штырьки, на которые уже легко можно коннектиться дальше. А коннектимся (к блоку ev3) следующим способом: используем контакты 1,2 и 4 - соответственно голубой-TX, желтый-RX, красный-GND. Подключаем сей переходник к порту 1. Конечно можно купить ответную часть к кабелю (со смещенной защелкой), но только не тут, а например здесь. Подключаемся через терминалку putty на ком-порт со скоростью 115200 8N1 без контроля потока, кодировка Latin-1.

Аппаратная составляющая

http://lego56.ru/nxt-ext-capter3/ - описание сущности реализации датчиков (на пример прошлой серии Мидстрома - NXT, да это не столь важно)
https://github.com/mindboards/ev3sources/blob/master/lms2012/d_analog/Linuxmod_AM1808/d_analog.c - к вопросу о распиновке портов EV3, на одном из форумов привели этот линк на один из фалов-исходников, а ведь дей1ствительно, лучше не перескажешь!
http://www.ti.com/product/am1808 - и еще ближе к железу: ядром EV3 является камень от Ti - AM1808 (архитектура ARM9)

Моделирование

http://ldd.lego.com/ru-ru/ - у кого нет возможности позаниматься лего "аппаратным" (реальным), могут повозиться с 3D-моделями лего. Также данный пакет программ может оказаться полезным для документирования придуманных и созданных моделей (в том числе для построения инструкций по сборке). Правда работа с ним весьма трудоемкая, неужели действительно у кого-то хватает на это терпения, ведь с реальными кубиками куда интереснее возиться.

http://nnxt.blogspot.ru/2013/10/lego-digital-designer-ev3.html#more - обзор LEGO Digital Designer (софтина из пункта выше)

http://www.proghouse.ru/component/tags/tag/178-ldraw - Описание создания пошаговых инструкций сборки моделей лего
http://www.proghouse.ru/component/tags/tag/211-lego-mindstorms-ev3-instructions - Альтернативные варианты поделок из Мидсторма

ЗЫ. Материал планируется добавлять и расширять

Первая редакция: январь 2014
Последняя редакция: 2018

(С) MiGeRA

Заглавная » Lego Mindstorm EV3