A13-OLinuXino-MICRO

A13-microМиналия месец спечелих Free Board Giveaway играта (цели два пъти!) на Olimex и наградата ми беше тяхното A13-OLinuXino-MICRO, което освен че е супер яко, е и open source hardware.

Подкарването се оказа голям зор, защото, както обикновено, при мен нищо не тръгва от първия път.
Първо си купих минималните неща, нужни за подкарването – карта с image, захранване и USB LAN карта. Поръчах си нещата в сряда, в петък вече бяха при мен. Дотук добре. Днес отидох да си купя останалите неща за подкарването – VGA кабел, клавиатура и USB хъб, защото платката има само един USB порт (ако не броим OTG-то), а искам да ѝ вкарам доста неща 🙂
Та, прибирам се щастлив, че няма да спя заради нещата, които ще причиня на платката, връзвам всичко (като параноично гледам да не съм статично зареден) и… нищо!  Проблемът е, че не очаквах да boot-ва толкова време. Стори ми се “толкова време”, защото не се виждаха съобщенията, докато се пускаше ядрото. Важното е, че се пусна и видях login екрана. От тук започна забавата – бях вързал клавиатурата и LAN картата през хъба, но не светваха. Пробвах и през нормалното USB, но пак нищо. На login prompt-а не можех да пиша нищо. Long story short – след ровене по форуми и обикаляне по разни магазини клавиатурата тръгна през USB-OTG порта. Оттам нататък всичко беше лесно – build-essential, automake, ssh, nginx, python, etc, etc.

В момента се намира на http://sexy.chilyashev.com (screenshot, да не забравя как изглежда, ако я счупя утре), а от тук може да се види дали е пусната. Не знам дали ще продължа да си пиша TODO-то там или ще напиша/инсталирам по-яко нещо да следя какво мисля да правя. Засега остава това. Досега не бях цитирал себе си.

Днес подкарах само най-елементарния пример за GPIO, но мисля да си купя 40-пинов кабел и да започна да си играя по-сериозно с GPIO-то. Като за начало ще видя дали могат да се четат аналогови данни и ако не може, ще сложа АЦП на входа. След това – серво моторчета, интелекти, механика и завладяване на света щракащи релета. Като се наиграя с мигащите диоди и щракащи релета, ще разгледам UEXT нещата. Някъде по средата на това ще си поиграя с UART-а.

Ако всичките периферни играчки тръгнат както искам, ще взема някой от touch screen дисплеите, ще нарисувам някакъв интерфейс и цялото нещо отива в колата, откъдето идват още по-яките периферии – датчици за обороти, температура, скорост, връзка с телефоните, камери отпред и отзад и всякакви яки неща 🙂
С това изникват други интересни проблеми:

  • как ще предпазя устройствата от рязкия спад на напрежението, когато паля, ще бъде ли включено изобщо нещото преди да съм запалил?
  • Колко умен ще е датчикът, който проверява дали съм запалил – “от генератора идва ток => колата е запалена” или нещо по-хитро?
  • Къде ще навра нещото – ще изрежа цялата централна част или ще мисля грозна стойка? Или пък ще разкарам таблото?
  • Колко ще е голям дисплея? 10″, 7″, 4.3″? Portrait/Landscape?
  • Ще вържа ли 1KW усилвател за него?
  • Ако сложа камери, върху какво ще записват?
  • Ще може ли тази малка платка да понесе всичките неща?

Ако не бях предозирал с ко̀лата, нямаше да се занимавам с глупости по това време.

Отивам да спя.

2013-04-24

В блок 18 на общежитията на ТУ-то има (имитация на) интернет, за който са нужни име и парола да се ползва. Дотук добре, обаче… Маймуните, които са го настройвали, са решили да ограничат достъпа на хората до някои неща (торенти например) и са сложили някакви правила на MikroTik-а, който пуска интернета. Пак добре, обаче тези правила не работят за хора с windows, т.е. те могат да си теглят и виждат всичко. И като реша аз да се закача, интернета веднага пада (i.e. “разлогва” се), защото умните настройки решават, че Linux-ът ми е нещо, което тегли торенти (или прави каквото там е забранено). Нямам торенти и не правя нищо, което би трябвало да е забранено в нормалния свят.
Long story short, написах си това и вече почти мога да ползвам интернет.
Почти, защото някои сайтове изобщо не се зареждат, а на други мога да видя само html-а. Ако имам късмет и са ми останали кеширани стиловете и скриптовете, почти мога да ползвам дадените сайтове.

Хубаво е, че не живея тук. Нямаше да имат секунда спокойствие, докато не го оправят.

Четене на SMS-ите от джажите за интернет на Vivacom

От известно време на лаптопа имам само мобилен интернет, за който ползвам USB модем от vivacom.
Джаджата е Huawei и под windows идва с шарена програма, от която може да се следи трафика, да се гледат SMS-ите и разни други неща. На картата в модема се праща SMS, когато свършат “бързите мегабайти” и когато излезе сметката.

Вчера ми се прищя да си чета SMS-ите без да минавам на windows и след като се поразрових малко, намерих разни неща за устройството. Не беше никак трудно да намеря как става номера. Оказа се много просто – пращам команди, чета резултата, обработвам го и – готово.

От джаджата към компютъра постоянно летят статистики за изпратени/получени данни, скорост и др., които изглеждат долу-горе така:


^DSFLOWRPT:00000454,00000D36,00000092,00000000001912E8,000000000017E69A,00004000,00004000

^DSFLOWRPT:00000456,0000001A,0000004E,000000000019131C,000000000017E736,00004000,00004000
[...]

Нещото приема AT+C команди и за да върне SMS-ите, трябва да му се каже това:

AT+CMGF=1
АT+CSCS="UTF8"
AT+CMGL="ALL"

Първо го направих на python, но след това видях, че вече е правенo реших да го пренапиша на C++. По-голямата част си е чисто C, но заради работата с низовете се прежалих да ползвам и C++.
Long story short – нещото го има в github – https://github.com/chilyashev/smsread

Пробвано е с Huawei E173 и не е давало дефекти. Само веднъж се случи да хвърли SIGSEGV, малко след като вкарах устройството в USB-то, но това е нормално, все пак не беше инициализирано.
Ако се докопам до други джаджи, ще пробвам и с тях.

Ако в близките дни имам повече свободно време, ще му напиша GUI на pygtk или друго човешко нещо. Ще си чертая графики на статистиките, да ми е удобно. Мда.

Клавиатура

Миналата седмица (сряда вечерта) си залях клавиатуата на лаптопа и се оказа, че не е текилоустойчива. Веднага го изключих и го обърнах да се изтече. Извадих късмет, че беше в края на клавиатурата и не беше много. И въпреки това изобщо не я отчиташе. В петък си взех USB клавиатура временно, докато не оправя тази и още докато го пуснах с нея, другата тръгна. Отначало NumPad-а изобщо не работеше, но в последствие се оправи. В момента си работи идеално с малки изключения – стрелките надолу и надясно, F11-F12 и Insert-Delete се натискат едновременно. Ако до още няколко дни не се оправи сама, може да я извадя и да опитам да ги почистя. Не ми се ще, защото вероятността да дооакам нещата е доста голяма, но ще видим.

Около нещата с клавиатурата намерих полезен инструмент за тестване на X събития – xev. Изплюва един тон текст с интересни неща. Много удобно.

It has been written.

2011-10-22

Нямам време да си играя с блога от студентстване…
Затова казвам набързо няколко неща.

Запознах се с тонове нови хора и т.н.
И излиза, че от групата само аз съм се занимавал с програмиране на повече от 3 езика извън училище. Май имаше един php човек. Не помня.
Жалкото е, че има и много хора без никакво чувство за хумор. Ще го преживея

Успях да се освободя от уеб дизайн. Добре, че асистентката е разбрана. Не че ми пречи да стоя от 5 до 7 всеки вторник(!!!), ама да уча болд, фреймове(!) или пък map (някой ползвал ли е изобщо map след 1999?), няма да стане. Чувствах се сякаш ме учат на азбуката отново. Мисля да започна да ходя като започнат JavaScript. А асистентката каза, че php ще учим в четвърти курс 😀

Така като гледам, математиката и електротехниката ще са ми зор, другите неща са HTML и C/C++.
Или пък английски. Имам английски.

Лекциите по някои неща са доста интересни – лекторите са забавни и говорят глупости или пък разказват вицове. Засега няма “гадни” асистенти/професори/там-както-им-се-вика.

Като казах C++…
Първите часове по ПИК бяха много забавни. Асистентката написа 10-11 езика на дъската, от които не бях писал само Fortran и Assembler (това нещо досега съм го казал сигурно 100 пъти). Да видим как ще е нататък.

Имаше хора, невиждали Linux. Доста дискриминативна е програмата. Почти всичко е windows-базирано. Май ще се наложи да си слагам бозица за GUI-писането в по-горните курсове.
Вече няколко пъти ме питаха “С каква тема ти е windows-а?”. А колко странно ме гледат като им кажа, че не е windows…

Пуснах молба за някакъв акаунт в M$, откъдето ще мога да си свалям легално и безплатно windows и visual studio. Това стана в стая пълна с Microsoft неща. Бях с тениска с Debian-ското лого. Много забавно ми беше.

Вчера във влака някакъв тип се хвалеше, че веднъж цяла седмица ходил на дискотека всяка вечер и не можал да издържи. Аз не съм лягал преди 3, откакто съм тук и всяка сутрин ставам в 8:) Замълчах си.

Общо взето засега студенстстването е доста добре – намирам за какво да се смея, не ми е прекалено скучно, почти няма идиоти и има много интересни неща. Да видим как ще е като дойдат изпитите 🙂

Щях да пиша малко и пак се олях…

Спиране на вградените говорители на лаптопа под Linux

Преди няколко седмици ми отказа единия канал на изхода за външен усилвател на лаптопа и ми се наложи да тествам, преди да го хвърля на хората в сервиза. За това ми се наложи да спра вградените говорители на лаптопа.
Под Windows това става автоматично, но за Linux трябваше малко ровене.
Преобладаващите съвети са да се правят някакви глупости по ALSA-та, да се бута ядрото и т.н.
Случайно обаче попаднах на hda-verb. Компилира се без нищо странично и си върши работата идеално.

Говорителите се спират със следната команда
[code=”bash””]hda-verb /dev/snd/hwC0D1 0x1f 0x701 1[/code]
където /dev/snd/hwC0D1 са говорителите, а единицата накрая е за спирането. Пускат се със същия ред, но с нула накрая.

При мен (Lenovo G560, някаква Conexant аудио карта) устройството в /dev/ е това, за други може да е различно.

hda-verb изглежда яко и сигурно, ако някой може да го използва (щото аз само това мога :)), ще е доста полезно 🙂

Debian 6.0

Сутринта видях, че е излязла новата версия на Debian – Squeeze. Веднага свалих DVD-то и го изпекох (нямах cd).
Има тонове нови неща. Сменили са splash-а, инсталацията е с приятно синьо и в пъти по-бърза, има нови опции, поддръжка на нови файлови системи. Много неща!
Инсталацията мина много бързо. За сравнение – когато инсталирах Lenny, избирах по около 800 пакета и му трябваха 10-15 минути да ги изкара от диска. При squeeze за 10-15 минути избира и инсталира 1100 пакета:)
По време на инсталацията изпищя, че не може да се свърже с repository-то. Излиза, че, докато се е настройвал apt, инсталаторът е натикал “deb ://volatile.debian…” вместо “deb http://volatile…”
Все още не мога да оправя драйверите на видеото. Дано поне на лаптопа да тръгнат както трябва.
Нямам време да се занимавам сега.

P.S. Линк към статията в debian.org: цък.

2010-10-03

Тъй.

Първо: Преди около месец си набодох “новото” Ubuntu, защото се изнервих на старите пакети на Debian-а. Хубаво е, че е стабилно, ама старо. Оказа се, че заради новия GNOME, nagios-а пищи, че не може да чете ~/.gvfs и някакви други дребни неща. Както и да е, поръчках го, оправих ги и сега се търпи. Ще го махна, когато излезе новия Debian.

Вчера към 02:30 ми се приигра Spyro the Dragon (игра за PS1). Пускам си ePSXe-то с wine, всичко тръгва, зачита джойстика, играта тртгва, даже уиндоуските сейфове видя. Обаче. Започва играта и не мога да ходя надясно или назад. Накратко: всичко без надолу и надясно на джойстика не работи. Разглобих го 3-4 пъти, чистих платката, мерих – всичко беше както трябва. Зарязах това и пуснах NES емулатора – всичко OK.
С малко зор подкарах pSX (оказа се, че трябва всеки път да убивам pulseaudio, за да тръгне). Важното е, че мога да си цъкам плейстейшънски игри спокойно.

В петък ми беше практическия изпит по кормуване. Взех го. Малко не съм съгласен с 3 от петте грешки, които ми постави изпитващия, но няма смисъл да мърморя при свършен факт:)
Видях прословутите камери. Нищо особено, само дето говореше. Интересно беше, че като някой угаси колата (не съм я гасил аз) и после запали, камерата пак казва “Recording will begin” Съмнявам се, че заради запалването (стартер, свещи, etc) токът пада и камерата запича, но разбира се, може и да говоря глупости. Нищо. Взех го и утре отивам в КАТ да подам документите. Трябва да помъкна някоя книга с мен, да не умра от скука, докато чакам.

In other news, сезонът, който започна изглежда доста обещаващ, но няма да се впускам в разни описания, че няма да мога да млъкна до утре (което е след 6 минути:D).

`GLIBCXX_3.4.11′ not found

Онзи ден се опитах да подкарам Common Music/Grace, но нещо не се получи. Гърмеше ми с “/usr/lib/libstdc++.so.6: version “`GLIBCXX_3.4.11′ not found” (required by ./Grace)
След малко ровене из форуми го зарязах, все пак не е кой знае какво някаква ненужна програма да не ми върви. Тази сутрин обаче исках да пробвам Game Editor, да поубия малко време. Е, той ми гръмна със същата грешка. След около час ровене из google и произволни форуми успях да скрепя нещо. Излиза, че гореспоменатите са компилирани с различни версии на gcc от моята (или нещо подобно). Най-накрая успях да го оправя:

Първо добавих tesing в sources.list (deb http://ftp.debian.org/debian testing main contrib)
След това инсталирах g++-4.4-multilib (apt-get install g++-4.4-multilib)
Един apt-get check за всеки случай.
След това всичко си тръгна както трябва. Вече ще си пиша недодялани 2D игри без проблем 🙂

(това го пиша основно за себе си, защото имам навика да забравям как съм оправил разни неща и ми се налага да ровя наново)

2009-12-23

Нещо предпразнично.

От доста време си мисля да пиша някакви неща, но разбира се, благодарение на мързел и липса на време, повечето ги забравих, както обикновено.

Първо и най-важно – взех си нови струни. Yamaha са. Свирят идеално (като всички нови струни). Досега бях вземал Yamaha само за кухата. Оказаха се доста стабилни. Все още никоя не се е износила чувствително. Да видим как ще се държат на електрическата. Освен струните си взех и две пера с физиономията на Хендрикс. Много ме радват. Чак не искам да ги изтъркам.

Преди доста време писах (жалка) имитация на Notepad – padnote. Качих я в sourceforge и вече има 140+ сваляния! Представям си ако ставаше за нещо какво щеще да става.

Загуибих информация от един 80GB диск. Как стана цялата работа? Имах един хард, целия на NTFS, вързан на домашния сървър. Само го бях mount-вал няколко пъти, без да пиша по него. В един светъл ден (тази събота) се реши, че този хард трябва да отиде на машина с XP. Дотук всичко беше ok. Като включих компютъра, с всичката си гениалност windows-а ми каза, че хардът е празен, неформатиран и общо взето за нищо не става. След доста умуване и местене от един компютър на друг се предадох и пуснах някаква измислена програма под windows – testdisk с надеждата да ми оправи файловата система, защото очевидн MBR-а беше омазан. Разбира се, нищо не стана. Но! О, чудо в архива на testdisk имаше някакво photorec, с което после ~6 часа възстановявах файлове. Толкова добре ми ги възстанови, че има да си играя 2 месеца да преименувам, подреждам и търся разни работи.

От днес съм у дома чак до 3-ти Януари 2010. Имам запланувани толкова много неща, че не знам как ще свърша и едно от тях.

Това беше за сега. По-нататък ще има повече. Ще празнувам.