[Из песочницы] Intel IoT Roadshow, второй «блин» Edison

В ноябре 2014 года в Москве прошел первый хакатон Intel из серии IoT Roadshow, целью которого является продвижение платформы Edison в массы. Мы к нему готовились и выступили весьма достойно, заняв второе место. Для проекта использовали плату Галилео и среду программирования Ардуино с модулями на Python. Наша команда состояла из четырех человек.

Про второй хакатон в Петербурге узнал случайно, буквально за две недели. Готовится было некогда, поэтому проект придумал простой — AMP (Autonomous Mobile Platform — Автономная Мобильная Платформа), несколько в стороне от IoT Intel, но в тематике мобильных роботов, которую знаю очень хорошо.

image

Цель проекта: Разработка ПО управления мобильным роботом, которое независимо от аппаратного шасси.
Планы: Привезти на мероприятие пару своих платформ из других проектов. На хакатоне переключить управление на Edison и написать управляющий софт.

Жизнь: Так сложилось, что из Москвы уехал только с клеевым пистолетом в рюкзаке, из команды никто поехать тоже не смог.

Хакатон Тайминг (время плюс минус):

08:50 — Встал в очередь. Все как обычно: Intel нагнетает атмосферу, заявляя, что комплекты разработчиков только первым пришедшим.

09:20 — Получил пакет и удивился содержимому: блокнот, ручка и БП для Edison! А где же плата?!

10:30 — Начались презентации. Введение в Edison, Intel IoT Cloud Analytics, IoT и Microsoft Azure.
Тут прогресс проявился в полной мере — презентацию Майкрософт спикер вел по скайпу! Начали работать представители компании iGo3D с 2 мя 3D принтерами, предлагая участникам печать любых stl-файлов.

image

13:00 — Объявили обед и начали раздавать платы и датчики. На входе их не выдавали, вероятно потому, чтобы те, кто пришел за халявой, сначала тоже послушали презентации, обогатились, так сказать, знаниями. Как только платы раздали, часть столов освободилась и особо голодные ели по второму ланч боксу.

image

13:30 — Серия питч-сессий. Смысл такой сессии состоит в том, что за одну минуту вам нужно презентовать проект и обозначить, кто вам нужен в команду. Мне в команду нужны были два человека: специалист по node.js и тот, кто занялся бы подготовкой презентации. И они нашлись, спасибо ребятам Алексею и Олегу за помощь! В основном, команды-участники были уже скомплектованные, и это является хорошим показателем, который говорит о том, что народ готовился.

14:00 — Распаковали платы и начали запускать Edison и ставить XDK. И тут интернет умер…
Неудивительно — более сотни участников — это более сотни комплектов «ноутбук+телефон/планшет+Edison», а сетка на пространстве класса С всего на 254 адреса.

14:30 — Составил список дополнительных деталей, для получения которых опять пришлось постоять в очереди. Порадовали участники, которые пытались выяснить у девочки, которая вела учет выданных деталей, что бы им такого взять для своего проекта. Итак, получил: контроллер моторов, моторы, делитель напряжения и PIR. Понятно, что из этого мобильного робота не соберешь. Нужна платформа и питание. А интернет все лежал…

15:00 — Переключились на мобильный интернет. Алексей продолжил качать IoT Kit, а я метнулся по магазинам и купил 2S LiPo 1000ma, ответную клемму, зарядку к LiPo, изоленту, провод, ардуино разъем питания, колеса и деревянные линейки.

17:00 — Вернулся на хакатон. Алексей, тем временем, поставил XDK и разбирался с делителем напряжения. Я по скайпу попросил у командного конструктора проекты 2х-детали для печати, хаб-переходник моторов на колеса и подруливающую третью точку. Он буквально за 10 минут сделал и прислал, спасибо, Паша! Отдал stl-файлы ребятам из iGo3D в печать и начал сборку робота.

18:00 — Организаторы развернули еще несколько точек WiFi. Народ начал потихоньку расходиться и интернет ожил.

19:00 — Опять неплохо покормили.

19:30 — Сборку закончил, за исключением печатных деталей. Сделал трехточечное шасси из линеек, термо-клея и синей изоленты. Платы и датчики зафиксировал на клей, моторы — на клей и изоленту. Пытаемся с Алексеем завести драйвер двигателей –, а он никак.

20:00 — Привлекли на помощь консультантов Intel, те посоветовали обновить библиотеки, и драйвер завелся. Алексей уехал домой спать.

21:00 — Напечатали детали. Сборку закончил, зафиксировав и эти детали на клей.
Робот есть! Теперь дело за софтом. Так как несколько кусочков уже готово, напряжение с батареи снимается и моторы крутятся, то остается еще немного для того, чтобы выполнить программу минимум — запись в облако, управление через web и сведение всего этого в одну программу.

Начал с облака, нашел 6 примеров и стал разбираться.

fb8e67398b46478cb3e0783a5c6907df.jpg

00:00 — Пицца и пиво. Спасибо, это было вовремя! Мозг уже кипел. Людей становилось все меньше и меньше, но те, кто оставался, упорно трудились.

04:00 — Все примеры отрабатывали без ошибок, но в облако не писали. В районе четырех часов утра, уже в каматозе, слепил свой вариант и запись пошла.

04:35 — Протянул ноги. Лег спать, на пуфике, на сцене. Как же хорошо! Проблем с пуфиками не было, желающие занимали по два. Самые упорные продолжали трудиться.

08:30 — Встал. Умылся.

09:00 — Проснулся. Позавтракал. И снова за код. Теперь за систему управления.

11:00 — Народ постепенно подтягивается и интернет опять начинает лагать.
Алексей говорит, что не приедет и дает советы по скайпу.

12:30 — Обед. Помимо участников, начинают подтягиваться зрители и судьи.

13:00 — Интернет умер. Умер весь. Переключение по точкам ничего не давало.
Версия готова, но проверить ее без интернета никак! Тяжело, тяжело разрабатывать интернет-вещи без интернета. Сижу в скайпе по мобильному, ругаюсь на интернет, а меня спрашивают, как я в скайпе без интернета?

14:00 — Олег присылает презентацию из 9 слайдов, начинаю переделывать. Получается 11, из которых 6 взято из оригинала.

15:00 — Начинают собирать презентации. Сдаю в числе первых. Уже хочется побыстрее выступить.
Те, кто сделал проект, выключаются. Те, кто не сделал, частично уходят. Организаторы просят отключить интернет всем, кто не использует. И в этот момент удается достучаться до платы и проверить код. У нас ВСЕ работает!

16:00 — Начало презентаций. Много, очень много всего — умные дома, расширенная реальность, универсальные штуки, нейро-интерфейсы. Жуть, как интересно!

Мое выступление прошло неплохо, презентацию показал всю, а вот работу продемонстрировать не удалось — презентационная камера не хотела перестраиваться на свет. Так что ни экрана ноутбука с графиками из облака, ни кнопок управления, на которые тыцкал, видно не было.

Уже по возвращению домой снял небольшое «интервью» с сыном, который у меня главный испытатель роботов.

20:00 — Награждение.
1-ое место — Детектор теплового излучения — заслуженно, решение гениальное, успехов ребятам!
2-ое место — проект SensoDrive — ребята приехали с хорошими домашними заготовками и качественно себя показали.
3- е место — проект Maestro — меня не впечатлил. Качественная и красивая домашняя заготовка из видеоролика, сайта и презентации, и убогий нелепый прототип. По демонстрации прототипа осталось непонятно, заработал он в итоге, или нет.

А после всего этого был розыгрыш призов за всякие активности — селфи, твитты, заполненные анкеты и описание проекта. Призы, в основном, разыгрывали рандом генератором, и мне повезло стать счастливым обладателем часиков BASIS.

Резюме: В общем, хакатоном я остался доволен. Он мне самому показал, что я могу с нуля на незнакомом железе и в незнакомой среде программирования собрать мобильного робота и заставить его работать. Очень жаль времени и нервов, потраченных на борьбу с интернетом, возможно, без этого результат был бы более значительный.

Немного ссылок


Первый хакатон Intel IoT Roadshow
Отчет Intel по первому хакатону
Второй хакатон Intel IoT Roadshow
Отчет Intel по второму хакатону

© Habrahabr.ru