Умна шамандура, част 1

a.k.a. “инж.”, part deux

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

Първият draft на това е от втори януари 🙂

Ghetto-ass шамандура
“Шамандурата”, сглобена върху прототипна платка, две планки и няколко шпилки за закрепване на анемометъра, ветропоказателя, LoRa-та и GPS-а.

Ще я опиша тук, за да си припомням какви шарении съм правил преди да стана стар, циничен и (още по-) скучен. Записката излезе малко над 100 страници без задължителния пейстнат код. Освен многото приказки, има и 102 “фигури”, примери и таблици, солидна част от които си играх да рисувам.

Първоначалната идея беше следната – едно Arduino следи всички датчици и предава стойностите им безжично по LoRa радио. От другата страна да стои друг LoRa възел, който е свързан към PSoC 4 и приема данните. PSoC-ът ги предава по сериен порт към компютър, на който работи .NET-ско приложение, което ги обработва и ги тика в MS SQL баз от данни някъде. Визуализацията е с много форми, графики и т.н.

Проблемът с това е, че цялото нещо може да тръгне точно веднъж, защото има много зависимости от библиотеки, dll-и и т.н (това да се чете като “не ми се занимаваше с глупости”).

Тъй катo трябваше да напиша документацията и да направя всичко сравнително бързо, реших да не се затормозявам с излишно сложни неща и разделих работата на три части: “отдалечена станция” (a.k.a шамандура), наземна станция и уеб приложение.

Представено графично изглежда долу-горе така:

Шамандурата използва китайска имитация на Arduino Nano. Микроконтролерът е същият, но и ма малки разлики в пиновете. Когато паметта в един момент се запълни на 99%, контролерът спря да работи и да се разпознава от компютъра. Оказа се, че докато е в “bootloader” режим (или както се нарича, режимът, в който влиза, малко след като му се бутне Reset копчето), може да се програмира. Освен това се оказа, че Serial1.available() връща true, когато на серийния порт няма нищо. Дори когато RX пинът е с pull-down резистор. Благодарение на това се наложи да правя геройства като изчакване на някакви секунди време, когато си говоря с LoRa модула.

Така и не успях да подкарам GPS модула успешно, дори след като го изкарах на терасата и чаках 30 минути да търси сателити с неговия си софтуер. Хардкодването на NMEA данните, които очаквах, ми спести няколко байта и нещото заработи пак.

Тук е моментът да си призная как ме домързя да изградя LoRa мрежа само за едната дипломна работа. Добре, че модулите (RN2483) могат да работят като прости радиа. Цялата безжична комуникация се гради на две команди.
В изпращащата част:
mac pause\r\n
radio tx CAFEBABE\r\n

Където “CAFEBABE” е гениално построеният ми пакет от данни, разделени с точка и запетая, но представен като шестнадесетичните стойности на ASCII кодовете на всеки символ от низа.

Приемащата част прави това постоянно:
mac pause\r\n
radio rx 0\r\n
Втората команда отваря неограничен прозорец за приемане на данни и блокира модула, докато не дойде нещо.

Така изглежда LoRa модулът, след като го запоих с поялник, на който човката е дебела, колкото пин и половина.

Радвам се и, че нямах антени за радиата, защото иначе щеше да ми се наложи да вложа мисъл и да се боря със смущения, ако някой беше решил да предава произволни данни на 868 MHz. Вярно е, че щеше да ми е по-забавно да направя комуникацията с целия LoRa стек, но реших да не се хабя толкова. Някой ден ще си поиграя с истинското нещо, както трябва.

Като се замисля, че миналата година си играх да чертая схема на Proteus за това, ми става смешно.

В един момент мислех да сложа и LDR, за да следя видимостта и коя част от денонощието е в момента. (наблюдателните ще забележат, че някои букви имат фон, защото ме домързя да експортирам наново и трих фона, който слага Proteus, с GIMP)

Приемащата част на това беше изключително лесна – PSoC 4, който само праща команда за чакане към LoRa-та, приема, каквото дойде и го предава към компютъра. В PSoC Creator това изглежда като два UART блока и малко код за комуникация.

На компютъра работи .NET (C#, разбира се) приложение, което слуша на някой COM порт, обработва данните и ги хвърля към уеб приложението. Изглежда така:

Token-ът е md5 на “suck my dick”.

Първата версия се казваше “Shamandura Control Center” и използваше DevExpress. Имаше няколко екрана за управление на всичките данни, но не ми хареса колко много работа трябва да се свърши, за да изглежда добре и зарязах.

Най-забавната ми част от това е, че BackgroundWorker-а, който се грижи за серийната комуникация, има методи “worker_Suffer” и “worker_Whine”, съответно за DoWork и ProgressChanged. Голямата хитрост тук е, че използвам ProgressChanged метода, за да си пращам съобщения, които да вършат нещо в UI нишката. Това е, за да избегна всички красоти около делегатите и другите C# неща за достъпване на контрол от не-UI нишка.

Така нареченото уеб приложение е Symfony проект с няколко контролера, генерирани с app/console generate:doctrine:crud и един, който се грижи да приеме и обработи заявката от десктоп приложението. Бидейки почти арт директор, намерих готова bootstrap-ска тема и я орязах, докато заприлича на нещо.

След логин излиза това.

Скоро не си бях играл с Google Maps, затова след логин в системата се показва карта с всички шамандури и по тях може да се цъка. В страницата с “детайли” на шамандура има няколко графики и карта с история на местоположението.

Тук скрих sidebar-а.

Това е.

Смятам, че си заслужих шестиците. Заедно с мен шестиците си заслужиха и проекти, които работят само на хартия и такива, на които дизайнът включваше форми, подредени с <br/> и много &nbsp;, както и черен цвят на тъмнозелен фон. Всички сме инженери 🙂

От въпросите, които ми зададоха, ми беше интересен следния: “Добре, де, виждам, че сте използвали всякакви езици: C, C#, PHP, има сайт… Защо не го написахте цялото на C#?”. Това зададено с леко тъп, снизходителен тон.

Bullshit mode: ON.

Както писах, горе – мързел. Използвайки суперсилата ми за празни приказки, “мързел” се превърна в обяснение как няма смисъл да товаря компютрите на хората със зависимостите, които води със себе си сложния .NOT проект. Всички имат браузър => сайт.

Приключвам с училището след близо 18 години. Ако се пречупя, може да изкарам и PhD, но това е прекалено ниско в приоритетите ми засега.

return; return; и обратно към интересните неща.

Умна шамандура, част 0

Дойде време да пиша дипломна работа за магистратурата. Този път ще си водя бележки какво се случва.

Тъй като предната ми струваше около 1100лв. и в момента събира прах, защото така и не се научих да хвърча, реших тази да е нещо по-просто. Предложиха ми да правя “система за наблюдение на морската среда” и се съгласих. Кодовото име е “умна шамандура”, защото реално ще правя почти същото нещо, което се намира в буйовете, които се използват в момента. Почти същото, защото няма смисъл да имплементирам всичките комуникации, протоколи и красоти, които са в истинските шамандури. Не ми трябва да следя корабите, не ми трябва и да е вечно.

Планът в момента е да има това:

  • Метеорологична станция (частта за “наблюдение на морската среда”), която ще мери следните неща:
    • посока и скорост на вятъра,
    • температура на водата,
    • температура и влажност на въздуха,
    • атмосферно налягане,
    • видимост (т.е. дали има мъгла)
  • GPS, който да следи дали шамандурата не се е откачила от котвата
  • Радиовръзка до “наземна станция”. Това ще са две LoRa радиа (RN2483 на Microchip), които ще си говорят (засега еднопосочно). Най-вероятно “шамандурата” ще праща към приемащото радио, което ще е закачено по сериен порт към компютър
  • Светлинна и (може би) звукова сигнализация, което е силно вероятно да са мощен светодиод и “сирена”

За реализацията смятам да използвам един PSoC 4 и малко Arduino. Още не съм решил какво ще представлява “наземната станция”, но най-вероятно ще е PSoC-а, който взема данните от радиото и ги предава по UART към компютър с някакъв софтуер. Този някакъв софтуер най-вероятно само ще рисува карта и шамандурите върху нея с проста база от данни отзад за добавяне, редакция и т.н. на шамандури.

Към момента имам почти всичко за шамандурата готово – едно Arduino Micro Pro събира данни от всичките датчици, пакетира ги и ги праща по серийния си порт към компютъра, където си представям, че са дошли по радио.
Остава ми да направя GPS-а, да започна да чета данните за посока и скорост на вятъра и комуникацията с компютъра.

Ако не бях изгорил GPS модула, можеше и да съм готов вече. Кой да предположи, че като размениш VCC и GND платката ще замирише…

“инж.”

Завърших. От две седмици съм инженер. Остава само да ми дадат дипломата.

Темата на дипломната ми работа беше “Проектиране на микропроцесорна система за управление на безпилотен летателен апарат”. Исках да е нещо с “летателни машини” и “21-и век”, но само на мен щеше да ми е забавно. Oбикновено това не ми е проблем, но имайки предвид, че трябваше за десетина минути да убедя 5-6 души, че заслужавам да стана инженер, остана това заглавие. Не щеш ли ми се получи и ми писаха две шестици.

Накратко, идеята беше да сглобя квадрикоптер, да му проектирам и програмирам мозъка и накрая да литне без да пада много. На теория не е много сложно, но практиката се оказа малко по-пипкава.

Основната цел на контролера е според наклона и ускорението на дрона по дадена ос да изчисли скоростта на всеки мотор.
Звучи просто – четеш датчиците, смяташ, казваш на моторчетата да се въртят и толкова. Да, ама не е точно така.
Четенето на жироскопа, акселерометъра и компаса отнема време. След като се прочетат всичките състояния, трябва да се комбинират и да се разбере точното положение на обекта в пространството. Когато най-накрая се разбере колко и накъде се е накривило нещото, трябва да се реализира PID алгоритъма, от който пък ще излязат нужните стойности за контролерите на моторите (или ESC-та). Докато става всичко това, трябва да се следи какво се бута по дистанционното и да се реагира подобаващо.

Преди да се стигне до правенето на дипломната, се наложи да си купя една камара чаркове и да сглобя готовия дрон с готов контролер, за да се науча да го управлявам. Резултатът след близо два месеца чакане на доставки беше бързо сглобяване и първи опит за истински полет. След като успях да го задържа във въздуха с почти никакви настройки на PID-а, говедото реши да се преобърне с перките надолу. Не знам дали заради вятъра или гениалния пилотаж. Няма значение.

Да не се кара в некомпетентно състояние!
Да не се кара в некомпетентно състояние!
2015-04-26 16.27.32
От друг ъгъл също е прецакано, да

В последствие се оказа, че едното моторче не стартира, както се очаква от него. Едно чакане на доставка по-късно се сдобих с по-големи моторчета, нов дисплей за контролера и по-големи перки.

2015-05-18 15.43.00
Новите са малко по-бавни, но по-големите перки и по-голямата мощност на моторчетата (252W-285W!) компенсират

За да се избегнат евентуални по-лоши падания, трябваше да го сглобя по малко по-добър начин. В първата версия контролерът и платката за разпределяне на захранването (Power Distribution Board, PDB) бяха вързани със свински опашки и тиксо. Професионална работа, да. В текущата версия контролерът и PD платката са закрепени с болтове една върху друга и директно върху рамката.

Кабелаците малко преди да се изприберат
Кабелаците малко преди да се изприберат. В момента приемникът е вързан със свинска опашка, не с тиксо.
Power Distribution Board-а изглежда по-добре закрепен с болтове, отколкото вързан с тиксо.
Power Distribution Board-а изглежда по-добре закрепен с болтове, отколкото вързан с тиксо.
От по-близо. С бонус - косъм.
От по-близо. С бонус – косъм.

След многото падания и счупен крак на рамката май успях да докарам настройките на PID-а до приемливи за летене нива. Далеч е от перфектно, но вече поне се задържа повече във въздуха.

За контролера за дипломната работа първо мислех да използвам Arduino, но ми се стори скучно, затова скочих на PSoC 4. Цялата работа се оказа прекалено лесна. Използвах готови модули за комуникацията с акселерометъра и жироскопа (MPU-6050). Общо взето ми се наложи да сглобя елементарна комуникация и да си напиша супер прост PID контролер. PSoC 4 Pioneer Kit-а, който използвах, поддържа Arduino shield-ове, затова си начертах платка, върху която да сложа IMU-то и хедърите за ESC-тата и радиото. Добре че имаше кой да ми каже колко е тъпа платката и да я оправи преди да я ецне.
Накрая нещото не литна както исках. IMU-то се оказа с прецакан чип – отчетите от жироскопа подскачат от единия край на скалата до другия. Мислех си, че е заради инициализацията, но като го вързах за Arduino-тата, пак го имаше. Без значение от настройките и библиотеката. Ефектът е, че моторчетата не поддържат постоянни обороти, а имат пикове. Ако не ме домързи, ще пренапиша изцяло контролера, защото в момента не става. Докато ме мързи, ще си играя с готовия и може би ще сглобя gimbal-а.

2012-10-21

Пак няма време за нищо. В момента съм във влака за Варна и се възползвам, че не мога да работя от телефона та да драсна нещо тук.

В последните седмици се занимавам основно с работа и учене. Между всичките странични глупости успях да се замъкна на два концерта – рокфеста на университета в началото на месеца и един Metallica tribute миналата седмица.

Нещото на университета беше прилично – съвсем като истински концерт. Като изключим детската градина в началото, всичко беше на ниво.
Отидохме основно за Silver и CSP, но и другите групи си заслужаваха. Бяхме най-отпред и през повечето време си гледах косата как се мята на видеостените. Някъде отзад се опитаха да се блъскат, но май не им се получи. Имаше и пияни типове и типки, които се опитваха да изкъртят оградата. Охраната не им даде.
Като цяло си струваше и не съжалявам за петте часа, през които бях там. Догодина пак.

Metallica tribute-а беше много по-добре. Повечето песни звучаха по-добре от оригиналите. Даже имаше малко Slayer.
Това е най-културният концерт, на който съм бил – нямаше кървящи хора и никой не се приземи по лице от втория етаж.
По едно време се заформи нещо подобно на пого, което пак не можа да ме стигне. Въпреки че клубът е малък и беше пълен, след свиренето излязох все така чист и несмърдящ на цигари/стомашни сокове.
Беше много добре. Чакам да повторят.

******

Към обиколките насам-натам се очертава и състезание по компютърна математика в Габрово, което ще ми коства три загубени дни работа и упражнения плюс нещо по-хубаво. Както и да е, тази математика е лесна, няма да се изложим (много).

Да видим сега дали в нищото ще има достатъчно интернети, за да се прати това…

2012-04-27

Снощи имаше празник на факултета.

Основната част беше в чалготеката в двора на университета. Имаше шведска маса, която изчезна за по-малко от 10 минути и пиене. Музиката, разбира се, беше гадна (еднообразни неща, малоумни песни, etc), но това не е важно. Важното е, че в другата част на сградата свириха две групи – Студена спойка (aka Cold Solder Project, aka CSP, не мога да им издиря нищо официално, затова – видео)  и Неврон.
Невроните свириха много добре и все интересни неща, версията на The Godfather на Slash също се получи добре. А Спойката направо размазаха – всичко им беше яко – и свиренето и поведението на сцената. Звукът беше доста приличен, въпреки малката зала и смотаната акустика. От Enter Sandman ме боли врата. Замалко да стане и “погото”, но някакъв тип реши да ни пръска със спрайт, стана хлъзгаво и работата се развали.

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

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

2011-12-27

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

Първо – преди около две седмици в университета имаше “Ден на Роботиката” (не писах тогава заради стандартните причини).
Имаше няколко лекции. Първата беше за роботите, помагащи на стари хора. Не знаех, че в БАН се разработва такова чудо.
Не ми харесва цялата работа. От тези роботи (не само българския) се очаква да помагат. Чудно ми е как ще е полезна играчка за $200,000, която се движи страшно бавно, тежи повече от 100кг и не може да се качва по стъпала. Колко е полезно, ако 90-годишната баба може да стане и да си вземе водата и хапчетата по-бързо от робота 🙂
Вярно, че става въпрос за сложни математически изчисления, алгоритми, ала-бала, но все пак…
Както и да е, направили са нещо много добро с не толкова много пари. Има напредък от последния път, когато гледах такова.

Човекът от БАН изнесе още една лекция освен тази – за роботите РОБКО. Тя беше по-интересна. Разказа как са подкарали старите играчки под windows/Linux и че са направили нова серия (май беше Феникс). Все интересни неща.
Спомена ѝ ROS, което изглежда интересно.

Следващата лекция беше на един леко неподготвен човечец и беше с основна цел реклама.

Последната, която гледах, беше на човек от нещо, свързано с National Instruments, не помня точно. Май бяха metrisys, но може и да се бъркам. Няма значение.
Показа много интересни неща – FPGA матрици, разни малки процесори, програма за графично програмиране на FPGA, която обръща нещата директно във VHDL. Все забавни шаренийки.
Добре, че не казаха кое колко струва 🙂

Извън конферентната зала имаше наредени всевъзможни играчки – от “прости” line tracer-и с Arduino до огромни line tracer-и и ходещи “паяци” с ARM-не-помня-какъв.
РОБКО-то също беше пич.
По едно време на земята пуснаха една гадинка, която с ултразвук търси най-дългото разстояние и тръгва по него. Шашнахме я.
Хората от NI имаха як софтуер с изкуствен интелект за контрол на качеството. С професионална камера работеше добре. Ще ми се да го видя с нормална 🙂
Не можах да стоя целия ден, но това, което видях, ми стигна.
След като си тръгнах е имало състезания с роботите – следене на линия, “футбол” и ориентиране в лабиринт. Догодина може да се задържа повече.

***

С това C в университета взех да забравям Java-та (“забравям” като “не си играя толкова често”). Но пък от друга страна C/C++ level-а ми се вдигна. Вече нещата в stl_algo.h (например) не ми изглеждат толкова страшни, че даже и са разбираеми. Взех да се заглеждам и кое как изглежда в Assembler.
Оказа се, че домашните, които имаме, на други места ги получават за курсови 🙂
Още чакам нещо трудно.

***

Вчера пак се заиграх с Qt и успях да си преведа геодезическата програма за нула време. Ще му отделя повече внимание по-нататък.

***

Прави ми се нещо Open Source. Имам няколко интересни идеи и трябва да видя дали има нещо в университета. Ако няма, ще правя. След сесията, разбира се. Бррр…

 

8 декември

Накратко, че бързам ме мързи.
Мина първият ми осми декември и беше доста добре.
Първо объркахме посоката на автобуса и се озовахме в Почивка (това от “Гошо от Почивка”).
Хотелът беше доста добре. Стаята имаше хубава гледка.
Вечерта мина интересно. Малко повече от час нямахме ток и бяхме на свещи.
Като изключим повтарящата се чалга и еднообразните “хаус” неща, музиката беше търпима. По едно време пуснаха thunderstruck 🙂
Бях от малкото трезвени.
Заформя ми се една теория, че българските “диджеи” имат едни и същи песни. Без значение какво е събирането, винаги се върти едно и също – нещо подобно на house, чалга, много чалга, една нечалга песен (“Speed” (досада) или “It’s my life”), нещо от времето комунизъма и пак чалга до края. От време на време се спира за някой request. Както и да е, това е за друго писание…

Доволен съм. Догодина пак.

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:) Замълчах си.

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

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

ТУ Варна, част втора

Накратко: записах се след чакане, обикаляне и глупости.

Първо трябваше да чакам да отвори касата да си платя таксата. От там ме върнаха да си купя документи, после ги попълвах половин час, след като се върнах в МФ за дипломата.
Лелката ме връща на няколко пъти. Беше доста passive-agressive, но не можа да ме ядоса. Все пак, разбирам я – цял ден да търпи заблудени първокурсници(като мен) и да обяснява едно и също на всеки…

Свърших там, видях си студентската книжка и лелката я прибра. След това се връщах за ISIC карта (връщанията включват подземния коридор между МФ и ЕФ). Това от 8 до към 11.

От там директно към общежитията, където работата ми беше за секунди. Човекът удари един печат, написа един номер и ми каза чао.

След това беше нормалното разтикване из града.

Съвет: ако ядете в Nemo (близо до ЖП гарата), не яжте салата “Немо”. Иначе ресторантът е готин, дадоха ми да си включа лаптопа да се зарежда без да мрънкат:)

Това е.
Сега остава да чакам.

ТУ Варна, част първа

Накратко: след като не успях с математиката в СУ, ме приеха АИУТ в ТУ Варна.
В сряда бях в университета да потвърдя, че искам да участвам във второто класиране заради КСТ. Вчера излезе и съм приет:)

Варна ще ми хареса – не е много голяма и като изключим нахалните карачи на колела, хората май не са зле. Забелязах и, че хората в града кихат много странно и смешно.
До там стигнахме с влака. От 04:15 до осем без нещо. Същия влак идва от София, тръгнал в 23:30. Не ги знам как издържат.

Работата ми в университета беше за два-три подписа и едно име. Доста задушно беше, но пък във фоайето имаше едни яки нещица.

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

Интересното идва във влака на връщане.
Понеже според лелката на гишето в Горна “Няма смисъл да вземате първа класа, щото може да няма места”. Ми, добре.
Да го кажем така: ако във влака имаше 100 места, от бедежето бяха продали 350 билета и, разбира се, всички места бяха запазени. За 57-мо имаше 3-4 човека. Имаше един пиян, който каза, че бил някакъв диспечер главен.
След час и нещо стърчане в коридора и досадни работи в купето започна интересното.
Първо – когато влакът намалява или спира, се размирисва на нещо подобно на шлаката при заваряване или рязане. Нормално – триене, а и от дъжда бяха заръждясали релсите.
Изведнъж нещо изтрака и замириса на споменатото. След малко от по-задните купета (бяхме в последния вагон) взеха да излизат хора, евакуирали се били, щото влакът май се бил запалил. Е, не беше. След като им се посмяхме и ми свърши батерията на лаптопа, пак започна да се трака, този път по-силно, нещо изчатка и от влака хвръкна нещо подобно на шайба. Изхвърча назад и поне на 20м от встрани от влака. Другото го забравих.

И след като ме приеха точно това, което исках, остава да отида да се запиша и да си намеря квартира/общежитие.

Me out.

*<!−−hint−−>