Archive for the ‘tech’ Category

Бюджетно GPS решение

Monday, May 31st, 2010

0. Какво очакваме от такова решение.
Не очаквам рутиране. Трябва да може да ми показва къде съм, гледка от птичи поглед. Да може да пази маршрути и тракове. Да ме насочва към контролни точки (waypoints). Трябва цялата система да е компактна и да се събира в джоб. Трябва да работи с телефона, който в момента имам (Sony Ericsson K800i), т.е. софтуера да е Java. Естествено, трябва да има карти (включително импорт от картинка) и възможност сам да си ги правя лесно.

1. Телефон (Java/Symbian)
Трябва ви какъвто и да е телефон с поддръжка на MIDP-2.0 и CLDC-1.1. Телефона ви трябва да има поне 500KB оперативана памет и доста повече за карти. В момента карта на регион с размери 3 на 3 км (Пловдив) с приближение от 11 до 18 заема 16МВ на телефона ми. Карта на цяла България с приближение от 8 до 13 заема 55МВ.

2. GPS приемник
Всякакъв приемник, който се свързва по Bluetooth е подходящ. Доста разпространен и евтин модел е Holux M-1000. Нов струва около 80лв, а моя го взех от Ebay за 20. Малък е (като кибритена кутия), събира се във всякакви джобове. Батерията му държи към 10+ часа (из нета пишат за 20+ часа) и приемането му е добро, дори когато сте в кола, влак и т.н. MTK чипсет. В комплекта има зарядно за кола и USB кабел, който може да се използва пак само за зареждане на батерията. Батерията е Nokia-съвместима, така че за под 10 лв може да си вземете втора от руския пазар. Скоростта не се дава много коректно – разлика от до 5 km/h е допустима във кола. Във влак, където няма неравномерни ускорения като че ли е малко по-точно. За пешеходци текущата скорост варира между 0-10 km/h и не може да се гледа. Но ако правите трак накрая може да видите средна аритметична скорост.
3. Софтуер
- MapNav – http://mapnav.spb.ru/site/download.php?list.3 – изисква регистрация (става бързо и безплатно) – това се инсталира на телефона ви.
- mobile map creator – http://mapnav.spb.ru/site/download.php?list.4 – също – това се инсталира на компютъра ви (дори работи с Wine)
- Ozi Explorer – http://www.oziexplorer.com/ – програмата струва $95, но който държи да си пиратства – има я из торентите. Програмата служи за калибриране на растерни карти и не е необходима, ако не мислите да правите това. Също се инсталира на компютъра (и пак работи с Wine)

MapNav
1. Features
- език на интерфейса – руски, английски, български и др.
- 18 нива на приближение, като на най-високото разделителната способност е около метър на пиксел.
- правене на трак, като слага точките по изминато разстояние, минало време или при промяна на посоката. Без проблеми прави трекове с 3000+ точки, като има опция за олекотяване да показва само последните 100 точки. Дава профили на на пътя по височина и по скорост. Траковете могат да се експортват/импортват в GPX, KML или Ozi формат.
- компас, който показва посоките релативно на посоката на движение.
- водене по маршрут или контролни точки – waypoints.
- заключване на клавиатурата
- затъмняване на екрана – върши добра работа за пестене на батерия
- смяна на картите по време на работа.
- използване на ваши карти (в MNO формат – правят се с mobile map creator, виж по-долу) или онлайн такива (ако имате мобилен интернет).
- спортен режим на засичане на обиколки – не съм го пробвал.
- в основния екран се показват картата, текущата позиция на нея, координати, скорост, надморска височина и др.
- слагане на измерителна скала върху картата
- ръчно задаване на път
- слагане на белязки, които после може да ползвате за waypoints или Points Of Interest
- импорт и експорт на трaкове, waypoints, маршрути и др. Поддържа GPX формат и няколко други.
- настройки за всичко, което можете да се сетите.
- правене на скрийншот
- описание на mapnav на английски – http://mapnav.spb.ru/site/page.php?15 и на руски – http://mapnav.spb.ru/site/page.php?10

Карти
1. Калибриране с Ozi
1.1. В Ozi Explorer (бих пуснал снимки, ако притежавах програмата)
File -> Load and Calibrate Map Image
Избиране на растерната карта.
Избиране Point 1 -> клик в единия ъгъл на картата; в дясно на Degrees & mins се попълват координатите на точката
Избиране Point 2 -> клик в друг ъгъл на картата; попълват се новите координати
Point 3 – по същия начин
Save -> избирате къде да бъде запазен .MAP файла – това е информацията за калибровката на картата и ще се използва в следващата стъпка.
1.2. В Mobile Map Creator
Горе трябва да е избран таба Convertor.
Кликате на първата иконка (текста на нея е нещо като Select map to convert).
mobilemapcreator-1
В нея зареждате .MAP файла, който имате от Ozi-то. Внимание: ако сте свалили МАР файл от нета, отворете го и оправете пътя до растерното изображение да сочи правилно към изображението което имате (C:\Ozi\superdupermap.map при един ще е D:\Documents And Settings\usr\My Documents\plovdiv.map при друг). Пътя до изображението е на третия ред във МАР файла, който се отваря като текстов с Notepad. Ако сам сте си направил МАР файла, няма нужда от подобна манипулация.
Зареждате МАР файла и избирате къде да запазите крайните карти. Ще получите два файла с разширения MNM и MNO. Този с разширението MNМ се използва като вътрешна карта, която може да вградите в самата програма MapNav, но авторите й препоръчват да не се прави така. Използвайте MNO файла и си работете с външна карта.
2. Сваляне на уеб карти (Virtual Earth)
Горе трябва да е избран таба Map.
mobilemapcreator-2
Първия плъзгач е за zoom level-a на избраната карта. Картата източник се избира от падащото меню. В момента са налични VirtualEarth, Google, OSM и др. Могат да се добавят още с директно редактиране на maps.ini. В прозореца с картата можете да влачите докато намерите областта, която ви интересува. Кликате на Set to map и избирате с мишката района. Трябва да се появи с инвертиран цвят. Под този бутон се намира Map Zoom – стойността вътре показва какво приближение ще имате в получената карта накрая. С бутона “+” добавяте селекцията в компилацията. Внимание: изберете всичките приближения, които искате да имате после в MapNav-a! Примерно ако искате да имате от ниво 11 до ниво 13, задавате ниво 11, кликате “+”, задавате ниво 12, кликате “+”, задавате ниво 13, кликате “+”.
mobilemapcreator-3
Цифрите ви показват колко плочки (tiles) ще се свалят от нета. Това е и горе долу показател за размера на картата накрая. Когато сте доволни от селекцията, кликате Compile Map и избирате къде да се запазят двете карти MNO и MNM.

Инструменти за визуализиране на трекове
1. Онлайн
http://www.everytrail.com/
- може да ъплоудвате тракове в GPX формат – public (всеки може да гледа трака) и private (само вие можете да го гледате) режими
- дава профил на терена по скорост и по височина
- ъплоудване на снимки и геотагване
- пътепис
- търсене и браузване на тракове
2. Десктоп
- Google Earth – да се провери какво става там. Вероятно трябва да работи с KML.

Geekbench – интересен бенчмарк

Sunday, September 6th, 2009

Попаднах на един интересен бенчмарк – Geekbench. Това което тества е производителност на процесор и памет. Детайлно описание можете да намерите на страницата им. Интересните моменти в него са:

  • върви на Windows, Linux и Mac OS
  • пуска се с 1 клик и дава бърз резултат
  • резултатите са разделени на няколко секции: целочислени операции, операции с плаваща запетая, памет и цялостен резултат. Точките са линейно пропорционални – ако компютър А има 500 точки, компютър Б има 1000 точки, а компютър В има 2000 точки, то Б е два пъти по-бърз от А, В е два пъти по-бърз от Б и четири пъти по-бърз от А.
  • бенчмаркът е написан така че да се възползва от произволен брой ядра на процесора, с или без Hyperthreading
  • може да изпратите резултата си до онлайн базата с данни, която и без това е доста богата

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

1) Celeron 500MHz (66MHz FSB), i440zx, 128+64MB PC100 SDRAM – overall performance 230
2) Pentium Dual Core T2390 (1.8Ghz, 533Mhz FSB), GS965, 2*1GB DDR2 667MHz – overall performance 2030
3) Pentium 4 Prescott (3GHz, 800MHz FSB), i945, 512+512+1 DDR2 667MHz – overall performance 1740
4) C2D T2400 (1.8Ghz, 667Mhz FSB), GM945, 2GB DDR2 667Mhz – overall performance 2135 (governor – ondemand)

Като се прибера в Пловдив ще го пусна и на виртуалната машина :) (Ъпдейт: излезе много близко до реалния пеформанс – около 1500)

Компютрите на космическите совалки

Wednesday, May 6th, 2009

Ако някой си мисли че горе хвърчи нещо от рода на двуядрени процесори и терабайтови хардове – жестоко се лъже :) Совалките на НАСА са технология от преди 30 години (и по последни данни ще бъдат бракувани за скрап до 2010та година) и авиониката им е на съответното равнище.

The IBM AP-101 computers originally had about 424 kilobytes of magnetic core memory each. The CPU could process about 400,000 instructions per second. They have no hard disk drive, and load software from magnetic tape cartridges.

Процесора има 16 броя 32-битови регистри, а наборът му от инструкции се състои от 154 инструкции, които могат да се променят чрез смяна на микрокода. Интересното е че целия процесор е в TTL изпълнение (!!!) и има скромните размери от 15/25/45 см. Тежи 25 кг.
През 1990 г. компютърът е бил ъпгрейднат с новата версия – AP-101S. Този звяр е имал около 1МВ памет и три пъти по-бърз процесор (изпълнявал е около 1.2 млн инструкции в секунда). Паметта вече не използва магнитно ядро, а CMOS технология с батерийно захранване. Това са данните за ъпгрейднатите части:

The main memory of each GPC (General Purpose Computer) is non-volatile (the software is retained when power is interrupted). The memory capacity of each CPU is 81,920 words, and the memory capacity of each IOP is 24,576 words; thus, the CPU and IOP constitute a total of 106,496 words.

Сто хиляди думи програма. Софтуера на совалката може да се събере в паметта на микроконтролера, който ползвам за дипломната си работа.
В совалката е имало шест компютъра с общо предназначение (GPC-та). Пет от тях са правили едни и същи изчисления. Резултатите се сравняват и ако някой от компютрите даде различен резултат, останалите го приемат за грешка и го изключват от системата. На шестият компютър върви същата програма, но написана от съвсем независим източник. Той е последната възможност на астронавтите ако всички други компютри откажат.
Всеки от AP-101 компютрите използва по 600 вата мощност.

Интересни са прогнозите през годините за това колко памет ще иде за програмата на совалката.

Most estimates in the 1969 to 1971 period ranged around 28K words. Rockwell International settled on 32K in its bid and won the contract partially because of that estimate. NASA, trying to save itself from later difficulties, bought 64K of memory for each computer, hoping that doubling the estimate would be enough (despite memory increases in previous programs of several hundred percent). Unfortunately, the
software grew to over 700K, requiring not only more computer memory, but the addition of mass memory units to hold programs that would not fit into the extended core. Parten said after this, “I don’t know how
you ensure proper memory size ahead of time, unless you’re incredibly lucky”.

Програмите за излитане, за поддържане на орбита и за обратно навлизане в атмосферата са се съхранявали на отделни ленти, които астронавтите са зареждали в съответните случаи. След ъпгрейда с AP-101S, вече всички програми е можело да бъдат съхранявани в главната памет.
Интересен е бил бъгът в софтуера, който е рестартирал компютрите при всяка смяна на годината от 31 декември към 1 януари. За това совалките не са правели полети, които включват тези дати. Този бъг е бил оправен чак през 2003 г.
Компютрите са можели да бъдат препрограмирани в полет, ако се появи критична ситуация:

The memory can be altered in flight. The ground can uplink bursts of 64 16-bit halfwords at a time, which can replace data already in the specified addresses. The crew can also change up to six 32-bit words simultaneously by using their displays and keyboards. However, those changes must be hand keyed in hexadecimal.

Представяте ли си как астронавта за три секунди набира сто инструкции по машинни думи :)

Понеже видео обработката по онова време е била трудоемка работа, цял отделен компютър е бил посветен на обслужването на дисплеите, където се извеждала информацията от останалите компютри.

Displays placed on the CRTs are controlled by a special-purpose computer with a 16-bit word size and 8K of memory. This computer provides display control and can create circles, lines, intensity
changes (highlighting), and flashing messages.

Интересни неща могат да се намерят за компютрите в космоса :)
По материали от Wikipedia и изходящите й връзки.

Apacer AU231 0MB, inside

Tuesday, February 17th, 2009

Имам такъв mp3 плеър от доста време. Типичната евтинийка е – 7-сегментна индикация вместо шарен дисплай, без вградена памет, чете песните от SD карта, която се споделя с фотоапарата, черпи ток от една ААА батерия. Доволно свири музиката. В един момент обаче след година и кусур терор, спря да свири и въобще да чете картата. Без карта се стартира със съобщение “No-Sd”, а когато бъде пуснат с карта се опитва да прочете броя песни и забива. Проблема беше че в слота имаше някакъв боклук и трябваше да бъде издухан, но това ми беше готин повод да отворя плеъра. И да споделя снимки с вас :)
Първо плеъра в търговски вид:

Махнат преден капак. Вижда се че вътрешността се състои от две платки, свързани с лентов кабел. Слота за SD картата е просто огромен в сравнение с останалото. Виждат се и микро-USB и стерео жак.

Google е чувал за големия чип, но не можа да ми каже нищо повече от “Made in Taiwan”. Не намерих datasheet – маймуните дето сглобяват плеърите на плажа си крият продукцията. Белия правоъгълник над mp3 кодека е светодиодната подсветка на дисплея. Малката платка като че ли се занимава само с управлението на дисплея.

Подсветката в действие.

Какво е HFSC и има ли почва у нас

Thursday, January 29th, 2009

Снощи нямах какво да правя, та взех и преведох текст от разни места и го събрах в едно материалче което разглежда принципа на действие на HFSC. Има примери как се прави това в Linux и *BSD.

Статията може да е скучна за доста хора, така че който го интересува да чете навътре :)

(more…)