HackFMI6

В края на миналата седмица се проведе HackFMI6. Първоначално щях да участвам с The Rare Pepes, но бях поканен да бъда ментор, след като от Роботев подкрепихме хакатона с отстъпка за магазина и малко хардуер. В крайна сметка се озовах и в журито, та сега споделям каквото си спомням от проектите на отборите и техните представяния.

Hexapod

Проектът им представляваше паяк, задвижван от прилично количества сервота. Бяха си поръчали специално да им изрежат краката и корпуса на лазер. Не бяха проучили как се движат истинските паяци, а движеха краката по синусоидален закон. Нещото ходеше сравнително стабилно, но се хлъзгаше доста и това му пречеше. Казаха, че се справя с препятствия до около 5 сантиметра, въпреки което на демонстрацията не можаха да прекрачат лаптоп (заради хлъзгането). Забавното беше, че в някакъв момент прозвуча имперският марш, който се върза доста добре с крийпващото напред животно :) Като цяло интересен проект, бих искал да го видя в по-завършено състояние.

Kappa

Явно бяха големи фенове на Yu-Gi-Oh!, защото проектът им беше доста подобен на дековете за карти от детското предаване. Използваха RFID карти за чудовищата и с ESP8266 изпращаха информация до сървър, който управляваше играта. Имаха и уеб интерфейс, на който се виждаха какви карти са поставили на полето и колко точки живот са им останали. За демонстрацията си закрепиха хардуера на едно парче картон, което се придържаше към ръката на презентиращия с някаква кожена гривна (за отбелязване е, че издържа до края). Не беше особено смислено, но за сметка на това забавно и по-различно от другите идеи.

Toronto

Нямаха много хардуер - само едно Raspberry Pi 2 с камера към него. Искаха да правят нещо, свързано с разпознаване на изображения, но не стана ясно какво точно. Твърдяха, че за алгоритъма, който са избрали, нямало готови библиотеки (с което hackman не беше съгласен) и се опитаха да си го напишат сами. На презентацията си признаха, че са се провалили, но го направиха с добро чувство за хумор и достойнство. Жалко, смятам, че имат потенциал.

RingRing

Проектът им представляваше домофон с ESP8266, който изпраща notification на смартфон, когато някой позвъни. Първоначално се опитаха да накарат ESP-то да семплира сигнал от микрофон и да го изпраща като 8-битов PCM (на принципа на цифровата телефония) до сървъра, но не му стигаха силите. Изровиха стар GSM отнякъде, запоиха му кабели директно за клавиатурата и набираха по този начин :) Не знам доколко е оригинална идеята, но имплементацията ми се стори добра и реално приложима (с Wi-Fi чип, поддържащ адекватен SSL…)

TeamTUES

Количка с управление от Android телефон през Bluetooth. Имат и ултразвуков сензор, който автоматично спира количката при наличието на препятствие пред нея. Управлението изглеждаше доста гладко, като освен с ръчкане по тъч скрийна, можеше да се случва и с акселерометъра на телефона. С изключение на липсата на баланс (предницата беше много тежка), се бяха справили добре.

Отбор Ж

Информационна система за студентите от ФМИ - киоска, на която с международната студентска карта (ISIC) се чекираш (с RFID) и си виждаш програмата за деня. Не е нещо революционно, но работеше и ми се струва, че бих го ползвал периодично, ако имахме нещо подобно в ТУ. За киоската използваха RPi 1 (поради което не вървеше много гладко), а за RFID четец - Arduino със съответния shield и USB връзка към Raspberry-то.

The Rare Pepes

Хардуерен мениджър за пароли на база Pololu A-Star Micro (с Atmega 32u4). Имаха доста проблеми с платката (които се проявяват и при мен на работа, може и да не е съвпадение) и заедно правихме отчаяни опити за съживяване в 2-3 сутринта в неделя. Идеята беше интеграцията с браузър да става посредством Chromium extension (Firefox скоро ще използва същото API, та ще е multi-browser), но “случи се javascript” и на демото пишеха на ръка в серийния терминал. Все пак бяха успели да подкарат HID-а на атмегата, която въвеждаше юзъра и паролата след натискането на един голям мигащ червен бутон :)

Пазеха паролите криптирани с AES-256 във външна памет. Ключът се деривираше с PBKDF2, но имаше сериозни слабости - правеха едва 100-на итерации на SHA-256 заради бавния процесор и salt-ът им не беше случайна стойност за всяка парола, а хардкоднат. Атмегата е твърде слаба (8 бита, 16MHz), за да направи повече итерации за някакво приемливо време, а и няма хардуерен RNG.

Counter Productive Unit

Правеха количка, управлявана през wifi. Искали са по някакъв начин да я използват за игра, но идеята не ми стана ясна. На количката имаше и NFC приемник, като нещо трябваше да се слува, когато засече таг, но не сработи. Управляваха я с текстови команди през SSH, тъй като не са могли да подкарат друго управление. Проектът беше силно незавършен.

Егаси Тока

Измерваха консумацията на електроуреди с цел да забележат вредни pattern-и. Направили са си собствен индуктивен датчик за ток, но не са имали с какво да го калибрират и са го сравнявали със захранванията на лаптопите. Изпращаха данните за консумацията чрез ESP8266 и имаха някакъв уеб фронтенд, но не можаха да демонстрират на живо, понеже всичко се счупи в последния момент. Голям плюс беше наличието на вградена отварачка за бира в разклонителя със сензорите :)

Darth Vader

Бяха направили количка, която автономно достига предварително зададени координати. На демонстрацията трябваше да заобиколи някакво препятствие, но едва третият опит беше сравнително успешен. Имаха и дистанционно управление oт смартфон.

Центрофуга

Бяха домъкнали 80-килограмова руска пералня на 32 години с неработещ програматор. Вкараха в нея RPi2 и с 8 релета успяха да завъртят барабана и даже да пуснат центрофугата. Имаха и уеб интерфейс (с въртящи се doge-та по време на пране) за настройка на отделните eтапи и запаметяване на програми. За презентацията не бяха подкарали тази функционалност, а просто пускаха пералнята с един bash скрипт.

Hello

Направиха гривна, отчитаща здрависване и обменяща контактна информация с другия човек (ако и той носи такава) посредством онлайн услуга. Не ми хареса, че решението между кои две регистрации да се обмени информацията се правеше на база приблизително съвпадение на времената. Трябва да се комбинира с геолокация или по-добре - гривните да си обменят ID-та и независимо да правят заявки за информация от другата.

We Love C++

Правиха хранилка за котки с управление по интернет и таймер (като любител на котките веднага одобрих идеята, въпреки че не е първият такъв дивайс). Хареса ми, че сами си правеха механичната част (ако си мислите, че да режете дървени талпи във ФМИ е вандалщина, продължавайте да четете). В крайна сметка слагаха храната в една тръба с вратичка накрая, която вдигаха със серво мотор. Използваха и някакъв сензор за близост (не съм сигурен какъв), който трябва да се монтира вътре в купичката, за да засича кога в нея има неизядена храна и в такъв случай да не пуска още.

HackNPMG

Първоначалното идеята им беше да направят ръка, изстрелваща хартиени самолетчета или нещо подобно. Няколко часа преди крайния срок обаче им изгоряха сервотата и решиха да се позабавляват. Презентацията им представляваше гавра с някакъв учител по география от НПМГ (явно доста известен), като уж беше и демонстрация на дивайс за преписване. Устройството получаваше отговорите по Wi-Fi (Tiny-Circuits Arduino) и ги показваше по някаква странна схема с няколко светодиода. Многократно ми благодариха, че съм им помогнал да подкарат wireless-а, въпреки че просто следвах инструкциите на производителя…

Beer

Количка с ремарке, която се придвижва автономно по някакъв маршрут. Запомних ги с това, че имаха управление от компютър, смартфон и умен часовник, останалото ми се губи…

Random

Идеята им беше да управляват парно през уеб интерфейс като задават гранични температури. Реално не можаха да демонстрират нищо (освен грозен сайт). Бяха си купили неподходящ клапан - работеше само при наличието на налягане от едната страна и не можаха да демонстрират нищо. Управлението на парно изобщо не се прави по този начин - има си специални кранове с актуатори за тази цел.

NullPointerException

Започнаха презентацията с доста приказки за джедаи, явно Star Wars хайпът им беше оказал влияние :) Показаха умен часовник, който засича движенията на ръката и ги използва за управляване на компютър с Linux - навигация в графична среда и контрол на медия плейър. Нямаха функция за научаване на нови жестове. Демото работеше почти безупречно, но аз все още не съм убеден, че това е удобен начин за работа с компютър.

Last Hope

Управляваха Zumo робот с гласови команди посредством Android телефон (и гугълското API за voice recognition). Демонстрацията им беше затруднена от бавния нет и шума в залата, но въпреки всичко успяха да запаметят поредица от команди и да накарат роботчето да я изпълни.

SmartDoor

Онлайн отваряне на врата - нищо интересно. Разчитаха на някакъв cloud service и липсата на интернет им попречи да демонстрират (което не ги убеди, че е лошо да разчитат на външна услуга…). Имаха и мобилно приложение, написано на Xamarin (би трябвало да върви и на трите големи платформи).

#Бекон

триизмерен скенер. Също така проектът с най-много импровизации на квадратен сантиметър :) Едно серво (закрепено върху гъба за дъска, обираща вибрациите) въртеше чаша за кафе, която сканираха с лазер (за формата) и уебкамера (за цветовете). Работеше доста добре. Бюджетът на проекта (без електрониката) бил под 10 лв, а най-скъпата част - кутия ореховки, от която ключов елемент беше хартийката.

ElRomantico

Един от по-интересните проекти на хакатона. Бяха направили стиропорена ръка с пръсти, задвижвани от сервота. Следяха движението на истинска ръка с няколко акселерометъра и сензора за огъване. Имаше леко трептене на пръстите (от шума в показанията на акселерометрите), но въпреки това повтаряше движенията сравнително добре.

Mythos

Ето това бяха най-големите вандали на хакатона… В 3 сутринта взели един стол, нарязали го с флекса и сглобили нещо като екзоскелет, който поддържа едната ръка. В рамката на гърба бяха закрепили един винтоверт със забита в него отвертка, навиваща въже върху макара. Цялото нещо работеше без един-единствен ред код и изглеждаше брутално.

Далеци

Взеха трето място със система за охрана на колела. Подходът им беше интересен - заключването на колелото става с кабел, който има специфичен импеданс. При прекъсване или окъсяване импедансът се променя, включва се аларма и се прави снимка на крадеца. Имаха и уеб интерфейс, показващ свободните места за велосипеди, както и служещ за регистрация. Снимката на крадеца се изпраща на имейла на собственика на колелото. Физически чекирането ставаше с RFID карта.

BeerOverlods

Една от забавните идеи на хакатона - робот, който ти отваря бира, само ако е достатъчно студена. В противен случай ти подава отварачка, защото трябва да се замислиш дали си заслужава да пиеш топла бира :)

Vse1

Правеха цветомузика, като идеята им беше основната част да се събира в обикновена фасонка, но не го бяха докарали дотам. Нещото имаше два режима. В първия извличаха амплитудите на различните честоти посредством трансформация на Хартли (и ефектът беше добър), докато във втория разчитаха само на силата на звука (с доста по-лош резултат).

Backlight

Идеята не беше оригинална (на практика - Philips Ambilight), но изпълнението беше много добро. Правеха анализ на изображението с Processing и пращаха данни на едно Arduino, което управляваше светодиодна лента с индивидуално адресируеми LED-ове. Разделяха екрана на няколко зони. Ако гледах филми по-често бих се замислил за нещо такова вкъщи :) Като недостатък може да се посочи, че е нужно сигналът да идва от компютър (заради Processing-а).

HeartCore

Електронен пулсомер с публикуване на данните онлайн. Идеята им беше да може лекар да наблюдава пациентите си дистанционно. Имаха и цветен екран за визуализации, но сензорът им се повреди и не можаха да го демонстрират.

#ПодайМонстъраТам

Имаха 2 64x32 RGB LED матрици, всяко от които представляваше отделна планета със собствена раса от цветни точки. Расите обикаляха, събираха храна и се размножаваха. Освен това някаква част от обитателите на едната планета можеха да се прехвърлят на другата, където да водят битки. Имаха и желание да го доразвият в нещо като MMO. Беше забавно и изглеждаше доста готино.

PhotoBooth

Управляваха един DSLR с помощта на ESP8266, сървър на Ruby и libgphoto2. Замисълът беше да се снимат хората по сватби и други такива събития, като снимките автоматично се качват в социалните мрежи. На демонстрацията имаше проблем с този фийчър, като не стана ясно дали се дължи на бавния интернет или на проблем при тях. Не беше особено интересно, а и аз като цяло не харесвам толкова “социални” неща :)

lunatic_pwnees

Гривна за управление на компютър с жестовете. Връзката ставаше през Wi-Fi, като компютърът обработваше информацията за движенията. Имаше възможност и за научаване на нови движения. Повтарям се, но това не го виждам като удобен начин за работа с машината… За съжаление не можаха и да демонстрират, тъй като акселерометърът им беше изгорял.