Архив

Статии по ключова дума: ‘използва’

Какво е GPS и какво знаем за него.

4 февруари, 2010 Няма коментари

Какво е GPS ?

Глобална система за позициониране (на английски „Global Positioning System“) или GPS (Дж Пи Ес) е името на спътникова радионавигационна система за определяне на положението, скоростта и времето с точност до 1 наносекунда във всяка точка на земното кълбо и околоземна орбита в реално време.

Системата се състои от минимум 24 спътника, разположени на 6 орбити на височина около 20 000 километра и наземен контролен център с наблюдателни станции, разположени в различни точки на Земята.
Принципът на действие се базира на измерването на разстоянието от мястото, чиито координати търсим, до група спътници, чиито координати са точно определени и известни. Разстоянието се пресмята на базата на времето за разпространение на радиосигнала от спътника до потребителя.

Глобалната система за позициониране е проектирана и контролирана от Министерството на отбраната на САЩ. Тя може да бъде използвана безплатно от всеки.

Поддръжката на системата струва около 400 млн. долара (USD) годишно, включително разходите по подмяна на остаряващите спътници. Първият от 24-те спътника, които формират сегашната GPS-групировка (Block II), е изведен в орбита на 14 февруари 1989 г. Последният изстрелян до момента спътник е 52-ри по ред от създаването на системата през 1978 г. и е изведен в орбита на 6 ноември 2004 с помощта на ракетата „Delta II“.

GPS -- принцип на действие

Принципът на действие на GPS се базира на т. нар. метод на трилатерация, чрез който позицията на една точка се определя като пресечената точка на няколко окръжности (или сфери) с известен радиус и известни координати на центъра.
В контекста на GPS, всеки спътник може да се определи като център на сфера с координати — позицията на спътника и радиус — разстоянието от спътника до приемника.
За да се определи положението на един приемник, то той трябва да разполага с разстоянието до спътниците и техните точни координати.

Определяне на разстоянието до GPS приемника

Разстоянието от всеки спътник до потребителя се пресмята като времето, за което сигналът изминава разстоянието от спътника до приемника, се умножи по скоростта на светлината (скоростта, с която се разпространяват електромагнитните вълни). Времето, за което сигналът достига до потребителя, е разликата във времето на приемане и на изпращане на сигнала. В математически вид това се представя със следния израз:

R = (tr -- te)c

Където R е изчисленото разстояние до спътника, tr и te са съответно времето на приемане и излъчване на сигнала, а c е скоростта на светлината.

Поради няколко причини, разстоянието изчислено в приемника съдържа грешки и не представлява реалната стойност. Това разстояние се нарича псевдоразстояние и именно то се използва за определяне на позицията.

За да се изчисли времевия интервал за разпространение на радиосигнала от спътника до потребителя, приемникът и спътникът генерират еднакъв код, синхронизиран по време. Тъй като GPS-спътниците изпращат известен, повтарящ се 1023-битов, псевдо-случаен код, приемниците са способни да генерират същия този код. В този случай, измерването на времето за пътуване на сигнала се свежда до измерване на закъснението на приетия код спрямо генерирания в приемника.

Точността на направеното измерване зависи основно от стабилността на бордовия еталон на честота. Приемниците и спътниците се нуждаят от изключително точни часовници, за да могат да генерират синхронизирани сигнали. Затова като основен елемент на спътниковата навигационна апаратура се използва генератор на честота с много голяма стабилност, реализиран с атомен часовник. Поради високата им цена обаче, в приемниците се използват по-евтини, но и по-неточни кварцови часовници. Ако часовниците на приемника и спътника бяха идеално синхронизирани, то всички сфери с център — позициите на спътниците и радиус — разстоянията до тях щяха да се пресичат в една точка, която е и търсената позиция. При непрецизни часовници, тези сфери не се пресичат в една и съща точка, поради грешката в определянето на радиусите им.

Определяне на положението на GPS спътниците

За да могат да се определят координатите на обектите, освен с разстоянието до спътниците, е необходимо да се знае и тяхното точно текущо местоположение. Информация за това се съдържа в излъченото от тях навигационно съобщение, чрез което се предават орбиталните параметри необходими за определяне на точното местоположение, параметрите за точността на часовниците, за корекциите им и оценка за точността на положението. Координатите на всеки спътник се пресмятат в приемника въз основа на тези параметри.

Определяне на положението на GPS приемника

Позицията на всеки приемник се определя като точка в тримерното пространство на земята и се състои от три координати — географска ширина, географска дължина и надморска височина. За да определи точното си положение, всеки приемник трябва да реши уравнение с три неизвестни, наречено навигационно уравнение. Към тези неизвестни се прибавя и грешката на часовника в приемника, за да се избегне проблема с недостатачната му прецизност. З аедно с трите координати тя се определя, като се използва разстоянието до спътниците. По този начин GPS-приемникът се нуждае от не много прецизен, но достатъчно стабилен часовник, като алгоритъмът за определяне на позицията компенсира грешката на часовника и позволява да се коригират разстоянията за изчисляването на точната позиция.

При използване на този метод за определяне на положението на приемник в тримерното пространство, при четири неизвестни са необходими най-малко четири GPS-спътника. Използването на повече от четири допринася за по-голяма точност на позицията.

В математически вид навигационното уравнение се извежда от геометричното разстояние до спътниците, имaйки предвид грешката в приемника, и се свежда до следния израз:

Където ρ е измереното разстояние до спътник i
xsi, ysi, zsi са координатите на спътник i
c е скоростта на светлината
ΔT е грешката на часовника в приемника
и x, y, z е позицията на приемника

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


Приложение на GPS

GPS е система, проектирана от американските военни, и основно се употребява за военни цели. Тя се използва на всяко място, където е разположена американската армия, за определяне на позицията на бойните единици, управление на бойни ракети и др. GPS-сателитите са оборудвани с детектори на ядрени детонации и се използват като част от прoграмата на САЩ за откриване на ядрени взривове.

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

Някои от основните области на приложение на GPS са:

  • Навигация в транспорта -- използва се за навигация в пътния, морския и въздушния транспорт, оптимизация на маршрути. В момента съществува голям брой сравнително евтини приемници и приложения, които се използват за навигация в автомобилите.
  • Науката и изследователската дейност — в географията, картографията, геологията, геодезията, археологията и др.
  • Селското стопанство — за планиране на терени, навигация на селскостопански машини и др.
  • Комуникациите -- за синхронизиране на комуникационни системи
  • Туризъм и спорт — ориентиране, планински спасителни служби
  • Определяне на точното време и др.

Източник: www.gps.gogo-bg.net

Компилиране на coWPAtty под Debian

24 януари, 2010 3 коментари

coWPAtty е приложение което се използва за bruteforce на WPA PSK. Полезен е за аудит на вашата Wireless мрежа.

apt-get install && apt-get instal gcc libssl-dev libpcap-dev
wget http://wirelessdefence.org/Contents/Files/cowpatty-4.2.tgz
tar zxvf cowpatty-4.2.tgz
cd cowpatty-4.2
make

Тук го компилирах на една машинка и се сблъсках (LOL) със следните грешки като след всяка грешка е

решението .

Първа грешка:

cc -pipe -Wall -DOPENSSL  -O2 -g3 -ggdb   -c -o md5.o md5.c
md5.c:25:25: error: openssl/md5.h: мЪЛЮ РЮЙЗБ ТЮИК ХКХ ДХПЕЙРНПХЪ
md5.c: In function 'md5_mac':
md5.c:33: error: 'MD5_CTX' undeclared (first use in this function)
md5.c:33: error: (Each undeclared identifier is reported only once
md5.c:33: error: for each function it appears in.)
md5.c:33: error: expected ';' before 'context'
md5.c:34: warning: implicit declaration of function 'MD5_Init'
md5.c:34: error: 'context' undeclared (first use in this function)
md5.c:35: warning: implicit declaration of function 'MD5_Update'
md5.c:38: warning: implicit declaration of function 'MD5_Final'
md5.c: In function 'hmac_md5_vector':
md5.c:45: error: 'MD5_CTX' undeclared (first use in this function)
md5.c:45: error: expected ';' before 'context'
md5.c:53: error: 'context' undeclared (first use in this function)
make: *** [md5.o] Error 1

Решение: apt-get install libssl-dev

Втора грешка:
cc -pipe -Wall -DOPENSSL  -O2 -g3 -ggdb   -c -o sha1.o sha1.c
cc -pipe -Wall -DOPENSSL  -O2 -g3 -ggdb   -c -o utils.o utils.c
utils.c:34:18: error: pcap.h: мЪЛЮ РЮЙЗБ ТЮИК ХКХ ДХПЕЙРНПХЪ
In file included from utils.c:35:
utils.h:29: error: expected ')' before '*' token
utils.c:142: error: expected ')' before '*' token
make: *** [utils.o] Error 1

Решение: apt-get install libpcap-dev

Нов ред (на Windows) в PHP

30 декември, 2009 Няма коментари

За да се направи нов ред в php(при echo примерно) като на Windows трябва да се използва не само "\n" за нов ред, а комбинацията от "\r\n" т.е.

Пример за нов ред в php като на Windows:

echo "Martin\r\nPetrov\r\n";

Проблеми при php скриптове които ползват много памет

20 декември, 2009 Няма коментари

Всъщност тук ще обсъдя случаите в които се пише php скрипт при изпълнението на които се извежда съобщение като:" Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 500520576 bytes) in /var/www/a.php on line 4" или с няколко думи скрипта използва повече памет от колкото му е заделена предварително. Идеята тук е защо излиза това съобщение и  как да го поправим(действието :) ).

1. Предварително заделенета памет се определя от конфигурационния файл /etc/php5/php.ini) php.ini :

memory_limit = 32M      ; Maximum amount of memory a script may consume (32MB)

В този конфигурационен файл паметта която може да използва php скрипт е максимум 32 MB. Тази стойност може да се променя разбира се.

След промяна в php.ini трябва да се рестартира apache2. След това може да се изпълни phpinfo(); и ще видите новата заделена памет за php/скрипт.

2. Друг вариант за промяна на memory_limit е за при php5-cli (command-line interpreter for the php5 scripting language) или пример:

php -d memory_limit=512M a.php

По този начин при изпълненито на a.php се заделя 512 MB памет като се пренебрегва тази стойност от php.ini

3. Интересна функция в php е memory_get_usage() която връща текущата използва памет от php скрипта:

<?php

echo memory_get_usage() . "\n"; // 48504

$a = str_repeat("mpetrov.net",100104 );

echo memory_get_usage() . "\n"; // 1150084

unset($a);

echo memory_get_usage() . "\n"; // 48504

?>

По този начин може да се направи извод колко памет ползва php от самото php. Последния пример показва всъщност, че трябва да се unset всички променливи които няма да се ползват повторно за да не заемат памет :)

Извод: Бяха разгледани няколко причини и решения за грешката в php: Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 500520576 bytes)

Проблеми с preg_replace в php

16 декември, 2009 Няма коментари

Ще бъдат кратък. Когато се ползва preg_replace да се използва преди това изолиране на спец символите:

$string-shit = preg_quote($string, '/');
$string = preg_replace("/^$string_shit/", ", $string);

Идеята е да се избегнат някои грешки като тези:

Warning: preg_replace(): Compilation failed: unmatched parentheses at offset …
Warning: preg_replace(): Compilation failed: missing ) at offset …

Втори вариант:

$last_element=str_replace("/","\/",$last_element);
$last_element=str_replace(")","\)",$last_element);
$last_element=str_replace("(","\(",$last_element);

Как да листнем броя на файловете и папките в GNU/Linux

10 декември, 2009 Няма коментари

Имаме една папка и вътре има много папки и файлове. Задачата е да разбера: Колко папки и файлове има вътре ?

Решението е просто като се използва find:

Пример за листването на всички директории:
find /home/ -type d -print

Пример за броене на всики директории:
find /home/ -type d -print|wc -l

Пример за листването на всички файлове:
find /home/ -type f -print

Пример за броене на всики файлове:
find /home/ -type f -print|wc -l

Сверяване на дата под GNU/Linux

31 октомври, 2009 Няма коментари

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

За целта ето решението за всички които трябва да сверят своята дата под GNU/Linux:

apt-get install ntpdate;

ntpdate 0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org

Като отговор ще получите това:
31 Oct 21:19:42 ntpdate[9326]: step time server 94.26.2.134 offset -10472.841536 sec

PS: Ако искате да сложите дата и час по ваш избор, то това става по следния метод:

date -s "2009-10-31 16:21:42"

Конструкции на SQL за поддръжка на таблици в MySQL

14 октомври, 2009 Няма коментари

MySQL притежава няколко конструкции на SQL за поддръжка на таблици: CHECK TABLE за проверка на целостта им, REPAIR TABLE за извършване на поправка, ANALYZE TABLE за анализ и OPTIMIZE TABLE за оптимизиране.  Следва малко информация за всяка от конструкциите за поддръжка на таблици в MySQL:

CHECK TABLE

Конструкцията CHECK TABLE извършва проверка за целостта на структурата и съдържанието на съответната таблица. Тя е приложима и за MyISAM, и за InnoDB. За таблиците от тип MyISAM се осъществява също и актуализиране на статистиката на индексите. Ако дадената таблица с изглед, с CHECK TABLE се проверява дефиницията му. Ако данните, изведени от CHECK TABLE показват наличие на проблем с таблицата, тя трябва да бъде поправена.

REPAIR TABLE

Конструкцията REPAIR TABLE служи за коригиране на проблеми в таблица, която е повредена. Тя е приложима само за таблици от тип MyISAM. Можете да конфигурирате автоматична поправка на таблиците на MyISAM.

Пример: repair table dhstudio

ANALYZE TABLE

Конструкцията ANALYZE TABLE служи за актуализиране на таблица с информация за разпределението на ключовите стойности в нея. Тя се използва от оптимизатора за избор на по- подходящи планове за изпълнението на заявки. Тази конструкция работи с таблици на MyISAM и InnoDB.

Пример: analyze table dhstudio

OPTIMIZE TABLE

Конструкцията OPTIMIZE TABLE служи за "изчистване" на таблици от тип MyISAM чрез дефрагментирането им. Резултатът е повторното разпределяне на неизползваното пространство, получено в резултат от изтриване и актуализации, както и обединяване на записите, които са били разделени и съхранени разпокъсано. OPTIMIZE TABLE се използва също така за сортиране на индексните страници, ако не са подредени, както и за актуализиране на статистиката за индексите.
OPTIMIZE TABLE работи и с таблици на InnoDB, но ги пренасочва към конструкцията ALTER TABLE, която ги изгражда наново. По този начин се актуализира статистиката за индексите и се освобождава място в клъстерния индекс.

Пример:  optimize table dhstudio

Ако искате да разберете кои таблици трябва да оптимизирате изпълнете следното:

show table status where Data_free!=0;

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

whowatch- Мониторинг на процеси и потребители

4 октомври, 2009 Няма коментари

Whowatch е интерактивно конзолно приложение което се използва за мониторинг на потребителите и процесите в системата. То показва моментна информация за логнатите потребители в машината. Във Whowatch може да гледате процесите на конкретен потребител представени в дървовиден вид които е адски удобен. Имате възможност и да изпращате сигнали SIGINT и SIGKILL до конкретни процеси. Убиването на процеси е адски лесно и забавно тук във whowatch :) .

Повече информация отностно Whowatch може да намерите в сайта на автора на whowatch: http://wizard.ae.krakow.pl/~mike/

whowatch_pic_1

whowatch_pic_2

whowatch_pic_3

whowatch_pic_4

Основни плъгини за wordpress

29 юли, 2009 Няма коментари

Лого на WordpressДнес един приятел (Hip0) реши да обнови стария си уеб сайт с нов. Препоръчах му да си сложи Wordpress понеже е лесен за инсталиране, менажиране и има доста свободни плъгини и теми.

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

Плъгин: Cyr2Lat Slugs
Автор: Ruslan Ulanov
Адрес: http://wordpress.org/extend/plugins/cyr2lat-slugs/
Описание: Чрез този плъгин се предоставя възможност за автоматично конвертиране на URL от кирилица на латиница. Пример: http://mpetrov.net/за-мен <-> http://mpetrov.net/za-men

Бележка: За да се използва този плъгин е правилно да се използва друга структура за URL адресите, а именно от Категория "Настройки"-> "Постоянно връзки" и в секция"Различна структура" поставяте /%postname% . По този начин URL адресът на всяка публикация ще бъде заглавието и.

Плъгин: Google XML Sitemaps
Автор: Arne Brachhold

Адрес: http://wordpress.org/extend/plugins/google-sitemap-generator/
Описание: Автоматично създава sitemap.xml. Информация за sitemap.xml има навсякъде, но накратко: Предоставя възможност да се постави в Google Webmaster Tools, респективно с това спомага за по- бързо индексиране на съответния блог.

Плъгин: All in One SEO Pack
Автор: hallsofmontezuma

Адрес: http://wordpress.org/extend/plugins/all-in-one-seo-pack/
Описание: Полезен SEO инструмент които има доста полезни възможности.

Плъгин: Belavir
Автор: Юрий Белотицкий

Адрес: http://mywordpress.ru/plugins/belavir/
Описание: Възможност за следене на промените по файловете в блога.