Blog Home  Amacin know-how ve XP paylasimi ise mutlaka yollarimiz biryerlerde kesisecek.. ;) RSS 2.0 Atom 1.0 CDF  
..::EralpErat::..{Embedded Programming} - Friday, May 11, 2007
I like Coding..
 
 Friday, May 11, 2007

Selamlar nette dolanırken http://www.flashcomguru.com/index.cfm/2006/11/7/wpfe link'ine rastladım ilginçtir ki enteresan maddeler var bunlara göz atmak gerekirse...

  • WPF/E is a subset of and for this reason does less than WPF
  • Microsoft will develop plugins for Windows and Mac and while they 'care about Linux' they're not going to supply a plugin but let 3rd parties take care of that (shows how much they really care)
    • Bu konuda yanıldığını söyleyebilirim.Mono ekibi Moonlight diye bir projenin duyurusunu yaptı.Silverlight 1.1 in yapısı göz önünde bulundurularak geliştirilecek bir plug'in for linux !
  • the target runtime size will be 2MB (similar to the Flash Player which is 1.1MB to 1.3MB)
    • Bu konuda haklı.Ama bandwith hızı sadece Avrupa içerisinde sadece Türkiye'de ciddi problem!! TT'ye duyrulur...
  • the programming experience is different to Flash (but not really different to Flex)
    • Bu da doğru.

Yahu MS kimseyi zorladı mı illa kullacaksın diye, hayır !! O zaman isteyen Adobe'u kullansın isteyen MS'i.Yok sen işime karışma dersen Microsoft'a bende google'ın web teknolojisinde ki pazar payı ve Microsoft'un desktop üstünde ki hakimiyetini kaybetmeme telaşından ötürü windows app'ları ve haliyle Vista'ya yansıyan WPF'i göz ardı edemeyeceğini hatırlatmak isterim!..Doğal olarak bu teknolojinin Web'de daha büyük pasta isteyen Microsoft ve dolayısıyle onun ürünlerine yansımasıda pek tabidir efem..

Asp.NET 'in bir yere gittiği yok.YA da şu an ki veri işleme modellerinin vs vs.

Hep sunu demişimdir At binenin kılıç kuşananın..

Microsoft iyidir, hoşdur biraz dikenlidir ama tadı iyidir , yemesini bilene... :)

Bilişimle kalın :)

Eralp

5/11/2007 7:15:17 AM (GTB Daylight Time, UTC+03:00)  #    Comments [2]   Silverlight  |  Trackback

Selamlar ;

Asteriks demeyi daha cok isterdim ama kod adı Astoria olan yeni bir proje ile Microsoft yine ve yeniden karşımızda.. :)

Efendim bu nemi yapıyor diyorsunuz ? Şöyle diyeyim silverlight ile geliştirdiğiniz web uygulamanızın precompiled bir uri uzerinden cesitli kriterler dahilinde data serve edilmesini saglayan bir mekanizma.Var olan veri erişim mekanizmalarında (AJAX ı düşünmeyiniz) sayfa ilgili veri kontrolüne data bağlamak için herseferinde server'a post oluyor buda bir dünya zaman ve band kaybı olduğu için sıkıntı oluşturuyordu.Bunu onlemek uzere MS'in ADO'sunun architecture'larının başında gelen Pablo Castro ve ekibi bu projeyi gelistirmisler.Aslında kendileri de mekanizma da Entity Data Model uzerine yapilandirilmis bir durumda ki saniyorum ADO.NET 3.0'in yani Orcas in final surumunde bizimle birlikte olacak.Şu anda CTP'si bulunmakta ve http://www.microsoft.com/downloads/details.aspx?FamilyId=1B6F85BC-8933-4D0E-A639-934EF85ADCE1&displaylang=en adresinden indirebilirsiniz.Kanımca final sürümüyle cok farkı olmayacaktır.Bunu neye dayanarak solediğimi dusunuyor olabilirsiniz cevap olarak istenen seyin cok bariz bir şekilde ifade edilmesi diyebiliriz bence.Amac data'ya ulaşmak..Hummm nasıl  pek tabi XML ile.E adres belli geriye sorgu kriterleri kalıyor.Sorgulara bir kaç ornek vermek gerekirse

http://myserver/data.svc/Customers       Customers tablosunda ki tüm verileri getirecek.

http://myserver/data.svc/Customers[ALFKI basit bir where cümlesi .

http://myserver/data.svc/Customers[ALFKI]/Orders Orders tablosu ile ilişki kurduk :) İçinizden o... dediğinizi duyar gibiyim ama öle.

ve asıl enteresan olanı http://myserver/data.svc/Customers?$skip=30&$take=10 ile de paging yapabiliyor olmanız.inanilmaz değil mi ?

Sonuç ise bildiğiniz XML ;

DataService xml:base="http://myserver/data.svc">

 <Customers>

  <Customer uri="Customers[ALFKI]">

   <CustomerID>ALFKI</CustomerID>

   <CompanyName>Alfreds Futterkiste</CompanyName>

   <ContactName>Maria Anders</ContactName>

   <ContactTitle>Sales Representative</ContactTitle>

   <Address>Obere Str. 57</Address>

   <City>Berlin</City>

   <Region />

   <PostalCode>12209</PostalCode>

   <Country>Germany</Country>

   <Phone>030-0074321</Phone>

   <Fax>030-0076545</Fax>

   <Orders href="Customers[ALFKI]/Orders" />

  </Customer>

 </Customers>
</DataService>

Daha önceden flash'cı bir arkadaşım flash içinden IIS üzerinde ki bir XML Web Servisine ulaşmak istiyordu bunun için Flourine (http://fluorine.thesilentgroup.com/) kullanmıştım.Ama baya bi meşakkatli olmusdu.Astoria'nin vadettiklerine bakacak olursak oldukca basit hos bir mekanizma bizi bekliyor olacak..Dusunun sadece veri..

http://astoria.mslivelabs.com/gettingStarted.aspx linkinde get Started var.Burayı incelemenizi öneriyorum.

İyi çalışmalar.

5/11/2007 6:52:24 AM (GTB Daylight Time, UTC+03:00)  #    Comments [0]   Silverlight  |  Trackback

Selamlar ;

   Gecenin bu vakti nerden aklına geldi demeyin.Lazım olacaktı biraz araştırma ile 2 farklı çözümle birden karşılaştım.Biliyorsunuz ki JavaScript multithread bir yapıya sahip değil.Bu nedenle thread managementi yok.Ola ki ekranı 5 saniye kilitlemek istediniz.Bunu yapacak direkt bir komutta yok.Hummm içinizden birileri setTimeout('xyz()',5000); function xyz() {....} dediğini duyar gibiyim.Yalnız burdan dikkat edilmesi gereken bir husus var ki o da setTimeout un okunmasından sonra ilgili komut veya fonksiyon direkt olarak çağrılmıyor sadece kaç saniye sonra fire edilecekse o bilgi alınıp diğer satırdan itibaren yorumlama işlemi devam ediyor.Yöntemlerden ilki bir page vasıtasıyla thread'in yapmak.(asp.net de Thread.Sleep(5000); gibi..)Yani web sunucusunun bulunduğu makinede calisan thread'i manage etmek..Benim pek tavsiye etmediğim bir yontem ama calisir.

   Hummm ben bunu neden  mi kullanırım , dusunun ki Ajax kullanarak geliştirdiğiniz bir projede sunucu sonucları hemen size gonderiyor olsun ama sizde kullanıcıya işleminiz yapılıyor gibi bir bilgi vermek istediğiniz de bu durumda sunucunun nimetlerinden faydalanıp ilgili thread i bekletebiliriz.. :)

 

<script>
function IsIE(){
    var browser = navigator.appName;
    return browser == "Microsoft Internet Explorer";
}

function CreateRequestObject(){
    var obj;
    if(sahiIsIE()){
        obj = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        obj = new XMLHttpRequest();
    }
    return obj;
}

function SendToServer(url){
try{
  var http = CreateRequestObject();
  var url = url;
  http.open("GET", url, false);
  http.send(null);
  return http.responseText;
    }catch(ex)
{throw ex;}
}

function sleep(ms){
   SendToServer("http://localhost:9999/dyn/sleep?ms="+ms);
}

var start = new Date();
sleep(1000);
alert((new Date()) - start);

</script>

---

Bir diğer yontemde ki benim tavsiye ettiğim :)

this.Sleep = function uyku(sure){

      sure = sure * 1000;

      var sleeping = true;

      var now = new Date();

      var alarm;

      var startingMSeconds = now.getTime();

      alert("başlama zamanı : " + startingMSeconds + "\Uyuyacak olduğu süre : " + sure + " ms");

      while(sleeping){

         alarm = new Date();

         alarmMSeconds = alarm.getTime();

         if(alarmMSeconds - startingMSeconds > sure){ sleeping = false; }

      }      

      alert('uyannnn :)');

   }

 

iyi çalışmalar.

Eralp

5/11/2007 5:16:29 AM (GTB Daylight Time, UTC+03:00)  #    Comments [0]   Java Script  |  Trackback
 Tuesday, May 01, 2007

 

Merhabalar ;

 

Nedir bu silverlight diyorsunuz değil mi ?

Bence alttaki bu resmi iyice bir inceleyin cok  orda cevabı bulacaksınız..

 

Ek olarak bu zaten beklenen bir gelisme idi ki bence geç bile kalındı.Java benzer bir yapiyi yillar oncesinden gordu(Tek olması değil tek sebep bence internetin ve kaliteli proje adamı calistirmanın onemini cok onceden anlamıs bir firma olması vs vs..).En nihayetinde MS in de yaptığı bir nevi stratejik  ve zorunlu bir hamleydi.Linux ustunden de istenilen aspx sayfasının sorunsuz goruntulenebilmesi için ya kullanılan browser in JVM gibi bir yapiyi (MS in vendor ettiği )makineye kurması gerekecekti ya da ie for linux olup mozillayi,konqueror,safari ,opera vs. gibi diğer çift kale maç yapan browser ler gibi ie for linux i hemde forvet de oynatacak kadar iddiali hazirlamasi ya da su an ki haliyle client’a sadece html ve script gondererek (Bu Jscript’in gelisimini olumsuz yonde etkileyecekti.Yani ie’nin sadece Jscript e has bir dunya ek fonksiyonu var.Bunu da sisteme gomulu olan libler sayesinde hallediyor.Bu yeni gelismeler DLR ustunde Jscript’e prestij verecek)..Windows ustunde bile ie doğru durust calismiyor kaldi ki hiç bilmediği bir platform’a urun gelistirmek MS acisindan ölüm olsa gerek :) Gel gelelim ortaya cikan bu durumdan artik bir kacis olmadıgını pek ala anlamış durumda MS.MS in bırakın farklı platform lar için plug in geliştirmesini kendi  ekibinin yazılarında bile bir tek UNIX in adam yerine konduğunu ve linux dan diğer işletim sistemi adı altında bahsedildiği gün gibi bilinen bir gerçektir.

 

 

 

Su anda bir devrim olmaktadır.DLR’in onemi gun geçtikce artacak artik MS linux ustunde kosan diğer browser larada destek vererek OS (+ non MS) OS’ler ustunde kosamayan biz programcilara ( oley J ) guc katacaktir.

 

Ha sonuc olarak bence bunların cogu Vista (XAML in yapisi gereği..Aslında herbir element i derlenmiş bir .NET FW 3.0 class’in dan ibaret..)ve Expression a dayanıyor biraz.Microsoft Adobe’u ortadan kaldıramaz belki ama ozellikle developer cephesinde ciddi anlamda sallayacak gorunuyor ..

 

Merak ettiğim konulardan biride IronPython experimental idi yanlış hatırlamıyorsam.Su an ki LINQ ( Language INtegrated Query)’in atasi olan C OMEGA da oleydi ama ad degistirerek yasama dondu(C# 3.0).

 

Su an itibariyle ogrenmiş olduğum bir diğer olayda VBX, IronPython ve IronRuby  nin de arenada yer alacağı... VbX sanırım VBScript in yeni hali .. :) (EDIT : değilmiş :) VB extensions demekmiş ki bu extension'lar da C++'la geliştirilen birçok ekstra özelliği içeriyormuş.)

 

Dinamik dillere akın başlayacak..

 

Öğrenmek lazım..

 

En sonun da birileri beni duydu. PYTHON!!

 

Van Gossum Sen Çok Yaşa!!

 

:)

5/1/2007 7:08:16 PM (GTB Daylight Time, UTC+03:00)  #    Comments [0]   .Net Framework | C# | Silverlight  |  Trackback
 Monday, April 30, 2007

Selamlar ;

Severek takip ettiğimiz :) .NET framework'ün 1.0,1.1,2.0 ve 3.0 derken birde baktık ki 3.5 versiyonun betası çıkıvermiş..

Biliyorum ki ve hatta eminim ki içimizden bir çoğu bu duruma sinirleyor bir dur Microsoft dediğinizi duyar gibi oluyorum.Aslında pekte haksız sayılmaz içinizde ki bu ses :)

Bu kadar hızlı gelişimin şüphesiz ki belli başlı bazı sebepleri var.Bunlardan en bilineni Vista..Değişen arayüz ve bir çok yeniliğin dışında önümüzde ki günlerde daha birçok yeniliğin bizi beklediğini söyleyebiliriz.

Gelelim sadete , Microsoft entry başlığımızdanda anlaşılacağı üzere Orcas'ın beta 1 ini belirli bir şifre ve kullanıcı adı üzerinden tüm dünyaya açmış durumda.

Demem odur ki , http://www.microsoft.com/downloads/details.aspx?familyid=36B6609E-6F3D-40F4-8C7D-AD111679D8DC&displaylang=en adresinden Cd ye yazılabilecek şekilde download edebilirsiniz.

Kullanıcı Adı : Administrator

Şifre          : P2ssw0rd

 

Not : Vista üzerinde kuracak olanlar indirecekleri bu Virtual Pc Versiyonu için Virtual PC 2007 kurmak durumundalar.yani eski sürümler ne yazık ki çalışmıyor..

Hepinize iyi çalışmalar diliyorum..

Eralp - Mobile Device MVP

 

4/30/2007 2:36:31 PM (GTB Daylight Time, UTC+03:00)  #    Comments [0]   .Net Framework | Vista | Visual Studio  |  Trackback
 Thursday, April 05, 2007

 GPS nedir?

Global Positioning System. (Global Yer Belirleme Sistemi) Düzenli olarak kodlanmış bilgi
yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi ölçerek dünya üzerindeki kesin
yerimizi tespit etmeyi mümkün kılar. Bu sistem, ABD savunma bölümüne ait, yörüngede sürekli olarak dönen 24 uydudan oluşur.Bu uydular çok düşük güçlü radyo sinyalleri yayarlar. Yeryüzündeki GPS alıcısı, bu sinyalleri alır. Böylece konum belirlenmesi mümkün olur.
Bu olağanüstü sistemi kurmak Amerika'ya ucuza mal olmamıştır. Sistemin kurulum değeri yaklaşık olarak 12 milyar ABD Dolarıdır. Devam eden bakım masrafları sistemin değerini arttırmaktadır.

Bu sistemin ilk kuruluş hedefi tamamen askeri amaçlar içindi. GPS alıcıları yön bulmakta, askeri çıkartmalarda ve roket atışlarında kullanılmak üzere tasarlanmıştır. Ancak, 1980'lerde GPS sistemi sivil kullanıma da açılmıştır. Artık bir çok alanda hayati önem taşıyan bir araç olarak kullanıma girmiştir.

Kullanım Alanları
GPS' in karada, havada ve denizde bir çok kullanım alanı vardır. Basit bir anlatımla, GPS size bulunduğunuz yerleri işaretleme ve belirlediğiniz noktaya geri dönme imkanı sağlar. GPS, kapalı alanlar ve su altı gibi sinyallerin alınmasının güçleştiği yerler dışında dünya üzerinde her yerde çalışır.

GPS Sistemi
NAVSTAR sistemi, uzay bölümü (uydular), kontrol bölümü (yer istasyonları) ve kullanıcı bölümünden (GPS alıcısı) oluşur.

Uzay Bölümü
Uzay bölümü, en az 24 uydudan (21 aktif uydu ve 3 yedek) oluşur ve sistemin merkezidir.

Uydular, "Yüksek Yörünge" adı verilen ve dünya yüzeyinin 20.000 km üzerindeki yörüngede bulunurlar. Bu kadar fazla yükseklikte bulunan uydular oldukça geniş bir görüş alanına sahiptirler ve dünya üzerindeki bir GPS alıcısının her zaman en az 4 adet uyduyu görebileceği şekilde yerleştirilmişlerdir.

Uydular saatte 7.000 mil hızla hareket ederler ve 12 saatte, dünya çevresinde bir tur atarlar. Güneş enerjisi ile çalışırlar ve en az 10 yıl kullanılmak üzere tasarlanmışlardır. Ayrıca güneş enerjisi kesintilerine karşı (güneş tutulması vs.) yedek bataryaları ve yörünge düzeltmeleri için de küçük ateşleyici roketleri vardır.

GPS projesi ilk uydunun 1978'de ateşlenmesiyle başlamıştır. 24 uyduluk ağ 1994'de tamamlanmıştır. Projenin devamlılığı ve geliştirilmesi ile ilgili bütçe ABD Savunma Bölümüne aittir.

Uyduların her biri, iki değişik frekansta ve düşük güçlü radyo sinyalleri yayınlamaktadır. (L1,L2) Sivil GPS alıcıları L1 frekansını (UHF bandında 1575,42 Mhz), ABD Savunma bölümü alıcıları L2 (1227,60 Mhz) frekansını dinlemektedirler. Bu sinyal "Görüş Hattında - Line of Sight" ilerler. Yani bulutlardan, camdan ve plastikten geçebilir ancak duvar ve dağ gibi katı cisimlerden geçemez.

Daha rahat anlaşılması için, bildiğimiz radyo istasyonu sinyalleri ile L1 frekansını kıyaslamak istersek; FM radyo istasyonları 88 ile 108 Mhz arasında yayın yaparlar, L1 ise 1575,42 Mhz' i kullanır. Ayrıca GPS' in uydu sinyalleri çok düşük güçtedirler. FM radyo sinyalleri 100.000 watt gücünde iken L1 sinyali 20-50 watt arasındadır. İşte bu yüzden GPS uydularından temiz sinyal alabilmek için açık bir görüş alanı gereklidir.

Her uydu yerdeki alıcının sinyalleri tanımlamasını sağlayan iki adet özel "pseudo-random" (şifrelenmiş kod) kodu yayınlar. Bunlar Korumalı (Protected - P code) kod ve Coarse/Acquisition (C/A code) kodudur. P kodu karıştırılarak sivil izinsiz kullanımı engellenir, bu olaya "Anti-Spoofing" adı verilir. P koduna verilen başka bir isimde "P (Y)" yada sadece "Y" kodudur.

Bu sinyallerin ana amacı yerdeki alıcının, sinyalin geliş süresini ölçerek, uyduya olan mesafesini hesaplamayı mümkün kılmasıdır. Uyduya olan mesafe, sinyalin geliş süresi ile hızının çarpımına eşittir. Sinyallerin kabul edilen hızı ışık hızıdır. Gelen bu sinyal, uydunun yörünge bilgileri ve saat bilgisi, genel sistem durum bilgisi ve ionosferik gecikme bilgisini içerir. Uydu sinyalleri çok güvenilir atom saatleri kullanılarak zamanlanır.

Kontrol Bölümü
Adından anlaşılacağı gibi, Kontrol Bölümü, GPS uydularını sürekli izleyerek, doğru yörünge ve zaman bilgilerini sağlar. Dünya üzerinde 5 adet kontrol istasyonu bulunmaktadır. Bunlardan dördü insansız, biri insanlı ana kontrol merkezidir. İnsansız kontrol merkezleri, topladıkları bilgileri ana merkeze yollarlar. Ana merkezde bu bilgiler değerlendirilerek gerekli düzeltmeler uydulara bildirilir.

Kullanıcı Bölümü
Kullanıcı bölümü yerdeki alıcılardır. Daha önce bahsedildiği gibi çeşitli amaçlarla GPS kullanarak yerini belirlemek isteyen herhangi bir kişi, sistemin kullanıcı bölümüne dahil olur. GPS' in Çalışma Prensibi Uyduların Konumunun Önemi GPS alıcısı yerini belirlemek için, öncelikle uyduların kesin yerini bilmelidir ve onlara ne kadar uzaklıkta olduğunu bulmalıdır. Şimdi GPS' in uyduların yerini nasıl öğrendiğini inceleyecek olursak; Alıcı uydudan iki çeşit bilgi alır. Bunlardan birisi, uyduların konumlarını bildiren "almanac data - almanak bilgisi "dır. Almanak bilgisi sürekli olarak yollanır ve GPS' in hafızasında saklanır. Bu sayede GPS her uydunun yörüngesini bilir ve olması gereken konumu hesaplar. Uydular konum değiştirdikçe almanak bilgisi yenilenir.

Uydu yörüngelerinde ufak sapmalar meydana gelebilir. Bu sapmaların hesaplanması için kontrol bölümü uyduların yörünge bilgilerini sürekli olarak izler. Elde edilen bu hata verileri Ana kontrol merkezine ulaştırılır ve düzeltilerek buradan uydulara geri gönderilir. Bu düzeltilmiş kesin konum bilgilerine Ephemeris Data - Geçici Bilgi adı verilir. Bu bilgiler güncelliğini 4 ila 6 saat arasında korur. Ephemeris bilgisi daha sonra kodlanarak GPS alıcısına gönderilir.

Almanak ve Ephemeris bilgilerini alan GPS alıcısı, uyduların kesin konumlarını sürekli olarak belirler.

Zamanlamanın Önemi
GPS alıcısının uyduların kesin konumlarını bilmesinin yanı sıra uydulara olan uzaklığını da bilmesi gerekir. Bu sayede, dünya üzerindeki yerini hesaplayabilir. Bunun için basit bir formül kullanılır.

Uyduya olana uzaklık; gönderilen sinyalin geliş süresiyle, hızının çarpımına eşittir.

(Geliş Süresi x Hız = Mesafe)

Uzaklığı belirlemek için kullanılan bu formülde, hızı zaten bilmekteyiz. Radyo dalgasının hızı, atmosferdeki ufak etkiler sayılmazsa, Işık Hızına eşittir. (c = 300.000 km/sn) Bundan sonra, formülün zaman kısmının hesaplanması gerekir. Çözüm uydulardan gelen kodlanmış sinyallerin içinde saklıdır. Gönderilen koda "Pseudo-Random Kod" adı verilir.

Böyle adlandırılmasının sebebi, çok düzensiz bir sinyal olmasıdır. GPS alıcısı da aynı kodu üreterek, uydudan gelen kodla eşleştirmeye çalışır. Bu iki kodu karşılaştırarak aradaki gecikmeyi tespit eder, bu gecikme miktarı ile ışık hızının çarpımı mesafeyi verir.

Yaklaşık olarak bir uydudan sinyalin dünyaya ulaşma süresi 0,06 saniyedir. Saniyenin binde birinde oluşacak bir hata, mesafe ölçümünde 300 km' lik bir kaymaya sebep olacaktır. GPS alıcısının saati, uydudaki saatler kadar hassas değildir. Alıcıya bir Atom Saati koymak ise çok pahalı ve çok hantal olurdu. Bu yüzden, uyduya olan mesafe ölçümü, "Pseudo Range" olarak adlandırılır. Bu bilgiyi kullanarak pozisyon belirlemek için, 4 uydu kullanılarak saat hatasını minimuma indirinceye kadar ölçüm yapılır.

Geometrik Hesap
Şimdi uyduların yerlerini ve uydulara olan uzaklıları biliyoruz. Diyelim ki, birinci uyduya olan uzaklık 20.000 km; bizim yerimiz, merkezi uydu olan ve 20.000 km çapındaki kürenin yüzeyi üzerindeki her hangi bir nokta olabilir. İkinci bir uyduya da 21000 km uzaklıkta olalım. Bu durumda, ikinci küre birinci küre ile kesişerek ara kesitte bir çember oluşturur.

Eğer buna 22.000 km uzaklıkta üçüncü bir uydu eklersek, üç kürenin ortak kesim noktası olan 2 nokta elde ederiz. İki olası pozisyon belirlenmesine rağmen bu iki nokta arasında büyük koordinat farkları mevcuttur. Bu iki noktadan hangisinin gerçek pozisyon olduğunu bulmak için, GPS alıcısına yaklaşık yükseklik verisinin girilmesi gerekir. Bu şekilde GPS geriye kalan iki-boyut içinde kesin pozisyonu belirleyebilir. Fakat üç-boyutta yer belirlenmesi için GPS dördüncü bir uydu daha kullanır. Diyelim ki dördüncü uyduda bizden 19.000 km uzaklıkta olsun, bu dördüncü küreyi, önceki kürelerle kesiştirirsek, elimizde sadece bir ortak kesim noktası kalır. Bu da üçboyutta kesin konumu belirtir.Almanak Bilgisi GPS sürekli olarak, uyduların konumları ile ilgili bilgileri depolar. Depolanan bu bilgiye Almanak Bilgisi denir. GPS uzun süre çalıştırılmazsa, daha önce toplanmış olan Almanak bilgisi güncelliğini yitirir. Buna GPS' in "soğuması" (cold) adı verilir.

GPS "soğuk" iken çalıştırılırsa uydudan bilgi toplaması uzun sürebilir. Uydulardan alınan bilgiler dört ile altı saat güncelliğini korur, bu süre içinde GPS tekrar açılır ise bu durumda GPS "sıcak" (warm) olarak nitelendirilir ve çalışmaya başlaması çok daha kısa süre alır. GPS'lerin özellikleri arasında "Sıcak" ve "Soğuk" başlatma süreleri yer alır.


GPS Alıcı Teknolojisi
Çoğu modern GPS alıcıları paralel, çok kanallı çalışma sistemine sahiptir. Daha önceleri yaygın olan tek kanallı GPS alıcı modelleri çeşitli ortamlarda sürekli olarak uydu takip edemiyorlardı. Paralel alıcılar ise her biri bir uyduyu izlemek üzere, 5 ile 12 alıcı devresine sahiptirler. Bunların içinden en kuvvetli dört sinyal takip edilir. Paralel alıcılar uydulara hızla kilitlenebildikleri gibi, yüksek binalar, sık ormanlar gibi zor ortamlarda da efektif bir şekilde çalışırlar.

GPS İle Pozisyon Ölçümünde Hata Kaynakları Sivil GPS alıcıları aşağıdaki çeşitli nedenlerden dolayı pozisyon hataları yapmaya meyillidirler.

Uydu Hataları
Zamanlama GPS için kritik bir faktör olduğu için GPS uyduları atom saatleri ile donatılmışlardır. Ancak atom saatleri de mükemmel değildir. Zamanlamada oluşan çok ufak hatalar, mesafe ölçümünde küçümsenmeyecek yanılgılara yol açar.

Uyduların uzaydaki pozisyonları ise hesaplamanın başlangıç noktasıdır. GPS uyduları yüksek yörüngelere yerleştirilmişlerdir ve dünyanın üst atmosferinin bozucu etkilerinden etkilenmezler. Buna karşın tahmin edilen yörüngelerinde ufak kaymalar yapabilirler. Bu da pozisyon hatalarına yok açar.

Atmosfer
GPS uyduları zamanlama bilgilerini radyo sinyalleri olarak gönderirler ve bu da ayrı bir hata kaynağıdır. Çünkü dünya atmosferinde, radyo sinyalleri her zaman tahmin edildiği gibi hareket etmezler.

Radyo sinyallerinin atmosfer içinde ışık hızında hareket ettiği ve bu hızın sabit olduğu kabul edilse de, ışık hızı sadece vakum ortamında sabittir. Radyo sinyalleri, içinde bulundukları ortama göre yavaşlama gösterirler.

GPS sinyalleri İyonosfer'de yüklü parçacıklar ve Trotosferde su buharı tarafından geciktirilir. Tüm hesaplamalarda ışık hızı sabit kabul edildiğinden bu gecikmeler uydunun uzaklığını ölçmede hatalara yol açar.

İyi alıcılar atmosfer içindeki bu tipik yolculukta doğacak hataları düzeltmek için bir düzeltme faktörü kullanırlar. Ancak atmosfer farklı yerlerde ve zamanlarda değişiklik göstereceği için teorik bir hata modeli oluşturulamaz.

Değişken Rota Hatası
Sonunda dünya yüzeyine ulaşan GPS sinyalleri GPS alıcısına ulaşmadan önce katı cisimler tarafından yansıtılır veya engellenir. Bu hata formuna "Değişken Rota" (Multipath) hatası denir. İlk olarak antene gelen sinyal direkt gelirse daha hızlı ulaşır, sonradan yansıyarak gelen sinyal diğerinden daha geç ulaşır ve bu sinyaller birbirleriyle karışarak gürültülü sonuç yaratırlar.

Alıcı Hatası
Yerdeki alıcılar da mükemmel değildir. Kendi saatlerinde oluşan kaymaların yanı sıra iç gürültülerden dolayı da hata yaparlar.

Seçici Kullanılabilirlik (Selective Availability)
Yukarıda anlatılan doğal hatalardan daha kötüsü, ABD Savunma Bölümü tarafından yapılan "Kasti Hatalardır". Bu "Seçici Kullanılabilirlik" politikasının altında yatan amaç ise, karşı güçlerin GPS sisteminin ABD ve yandaşlarına karşı kötü niyetli kullanımını önlemektir. ABD Savunma Bölümü tarafından GPS uydu saatlerinde ve uyduların yörüngelerinde bazı küçük sapmalar yaratılır. Bu etkiler, sistemin sivil kullanımdaki hassasiyetini önemli ölçüde azaltır.

Eğer sabit bir GPS alıcısını hareketinin konum grafiğini, Seçici Kullanılabilirlik devrede iken çizmek istersek, pozisyonumuzun 100 m çapındaki bir daire içinde dolaştığını görürüz. Askeri alıcılarda bulunan kod çözücü anahtarlar, hangi hataların devrede olduğunu ve ne kadar olduğunu söyler; böylece hatalar giderilebilir. Bu yüzden askeri GPS alıcıları, çok daha hassas ölçüm kabiliyetine sahiptir.

Hata Kaynaklarının Gözden Geçirilmesi:

3. Hassasiyeti Artırma Yöntemi - DGPS
3.1. DGPS Nedir?
Eğer dünya bir laboratuar olsaydı, mükemmel laboratuar koşullarında GPS sistemi hatasız
çalışırdı.
GPS tasarımcıları, bu sistemi potansiyel birçok problemden koruyarak büyük bir iş
yapmışlardır. Ancak küçük hatalar birleşerek daha büyük hatalara neden olur. Hassasiyeti arttırmanın en yaygın yöntemi olan "Differential GPS" bu hataların çoğunu yok edebilmektedir.

Her Uydu İçin Hassasiyet Standart GPS (m) Differential GPS (m)

  • Uydu Saatleri 1,5 0
  • Yörünge Hataları 2,5 0
  • Iyonosfer 5,0 0,4
  • Troposfer 0,5 0,2
  • Alıcı Gürültüsü 0,3 0,3
  • Değişken Rota (Yansımalar) 0,6 0,6
  • Seçici Kullanılabilirlik (SA) 5,0 0
  • Tipik Pozisyon Hassasiyeti
  • Yatay 5 2 1,3
  • Düşey 8 2,0
  • 3-D 12 2,8


Diferansiyel GPS, doğal nedenler ve insan ürünü faktörlerden oluşan hataları azaltır. Bunun arkasındaki sır, iki adet alıcı kullanımıdır. Özetle fikri anlatmak istersek; ölüm 2.4'de anlatıldığı gibi, GPS sinyalindeki hatalar birçok nedene dayalı olarak meydana gelir. (uydu saatleri, yörünge hataları, atmosfer hataları gibi) Bu hataların çoğu değişken oldukları için, tahmin edip düzeltilmeleri oldukça zordur. Yapılması gereken hataları oluştukları süre içinde ölçmek olmalıdır.

İşte bu noktada ikinci alıcı devreye girer. Koordinatları tam olarak bilinen bir noktaya GPS alıcısı yerleştirilir. Bu ikinci alıcı uydulardan gelen bilgilerle kendi pozisyonunu hesaplar ve bilinen pozisyonla bu bilgileri kıyaslar. Aradaki fark GPS sinyalindeki hatadır. Ne yazık ki, uydu hatalarını bir kere tespit edip, aynı verileri kullanarak ölçüme devam edemezsiniz. Çünkü uydu hataları sürekli olarak değişmektedir. Bu işi yapmak için iki tane GPS alıcısına ihtiyaç vardır. "Referans" alıcısı sürekli olarak belirlenen noktada durur ve uyduların hatalarını tespit ederek diğer alıcıya yollar (gezinerek pozisyon tespiti yapan bu alıcıdır), bu alıcı, gelen hata verilerini hesaplarına katarak daha hassas sonuçlar elde edebilir.

Bu teknikle DGPS birçok bilimsel araştırma ve endüstriyel uygulamalarda kullanılmaktadır. DGPS düzeltme verilerinin gönderilmesi ve alınmasında RTCM SC-104 adı verilen uluslararası bir veri standardı ve IALA' nın kıyı sahil vericilerine uyarlanmak üzere geliştirdiği ayrı bir RTCM SC-104 standardı kullanılmaktadır.

3.2. DGPS Nasıl Çalışır?
Basit GPS otonom olarak çalışır. Başka bir deyişle, tek bir alıcı ile dünyanın herhangi bir yerinde iyi sonuçlar alınabilir. Ancak, DGPS iki alıcının birlikte kullanımından oluşur. Biri sabit diğeri hareketli olarak çalışır. Burada sabit alıcı DGPS sisteminin hassasiyetinin anahtarıdır. Bu sabit istasyon uydulardan alınan ölçüm değerlerini referans değerleri olarak kullanır.

Bizim dünya üzerindeki hareketimiz, uyduların dünyaya olan mesafesinin yanında, ihmal edilecek kadar küçüktür. Eğer iki alıcı birbirine yeterince yakın ise, ki bu mesafe birkaç yüz km olabilir, bu iki alıcıya gelen sinyaller atmosferin aynı diliminden geçer ve aynı hataların etkisinde kalır. Böylece ikisinde de aynı gecikmeler meydana gelir.

Bu prensipten yararlanarak düzeltmeler yapılabilir.Referans Alıcısı Hataları Ölçer

Referans Alıcısı, sabit ve koordinatları kesin olarak bilinen bir noktaya yerleştirilir. Bu referans alıcısı, hareketli GPS alıcısı ile aynı sinyalleri alır ancak normal bir GPS' den farklı olarak, hesaplamaları tersten yapar. Zamanlama sinyalleriyle pozisyon hesaplamak yerine, bilinen pozisyondan zamanı hesaplar.
Referans istasyonu, kendi konumunu ve uyduların olması gereken konumu da bildiğinden, bulunduğu noktayla her bir uyduya olan teorik mesafesini hesaplar. Bu mesafeyi ışık hızına bölerek zamanı bulur. Bu süre, uydudan belirtilen noktaya sinyallerin gelmesi gereken süredir. Teorik süre ile eldeki süreyi karşılaştırır. Aradaki fark sinyalin hatası veya gecikmesidir.ata Düzeltmeleri Hareketli Alıcıya Gönderilir

Bundan sonraki basamak ise, bu hata düzeltmelerinin hareketli alıcılara gönderilmesidir. Böylece alıcı hesaplarını bu hatalara göre düzeltir. Referans istasyonu, hareketli alıcının hangi uyduların kullanıldığını bilmediğinden, tüm uydulardan gelen sinyallerin hatalarını hesaplar ve hareketli alıcılara gönderir. Bu hata bilgilerinin aktarımında standart bir format kullanılmaktadır.


Düzeltme Faktörlerinin Gönderilmesi

Bunun için birkaç yöntem mevcuttur ancak kullanılan temel yöntem radyo bağlantısıdır. Buradaki asıl sorun bilgi transferindeki hızdır. Referans istasyonu düzeltme bilgilerini göndermekle zaman kaybetmemelidir. Eğer bilgiler geç gönderilirse, düzeltmeler güncelliğini kaybedebilir çünkü atmosfer ve uydu durumları sürekli olarak değişmektedir. Buna ilave olarak referans istasyonu hesaplama yaparken de biraz vakit kaybedecektir.Referans istasyonunda yapılan hesaplamalar ve bilginin gönderilmesi sırasında geçen süreye referans istasyonunun gecikme süresi denir.

(Latency) Post-Processed DGPS

Bazı DGPS uygulamaları için, radyo bağlantısına gerek olmayabilir. Çünkü bazı projeler "Gerçek Zamanlı" hesaplama gerektirmez. Buna örnek olarak, deniz tabanında bir noktada yapılacak sondaj işleminde gerçek zamanlı konum verisine ihtiyaç duyulurken, karada yeni yapılmış bir yolun haritasının çıkartılması için gerçek zamanlı hesaplamaya gerek olmayabilir. Bu gibi uygulamalarda, hareketli GPS alıcısı sadece ölçtüğü pozisyonları ve ölçüm zamanlarını kaydeder. Daha sonra, bu değerler referans istasyonu tarafından, aynı zaman aralığında kaydedilmiş düzeltme değerleri ile birleştirilerek hatalar giderilir. Bu sisteme "Post-Processed DGPS" adı verilir.

Bu sistemin bir başka varyasyonu da "Inverted DGPS" dir. Bunu örnekle açıklamak istersek, periyodik olarak yerlerini ana istasyona bildiren bir kamyon filosunu ele alalım. Kamyonların her birine DGPS düzeltmeleri gönderilmesi yerine, gönderilen sinyaller ana istasyonda düzeltilebilir. Kamyonlar yerlerini standart GPS hassasiyetinde bileceklerdir fakat ana istasyon, her bir kamyonun yolun hangi tarafında bulunduğunu dahi izleyebilir.

Sonuç
4.1. GPS' in Değerlendirilmesi


GPS' in şu anki durumu çoğu araştırma görevleri için heyecan verici derecede kullanışlıdır ve ileride gelişmeler bu sistemi gündelik yaşamın bir parçası haline getirecektir. Günümüzde stratejik projelerden, eğlence amaçlı gezilere kadar bir çok alanda GPS temel bir araç olarak kullanılmaktadır.

Araştırma konumuz olan GPS' in model araba navigasyonuna uygunluğu konusunda varılan sonuçlar aşağıda özetlenmiştir.

Hassasiyet
Model arabanın boyutlarını düşünürsek, en azından 10 cm hassasiyet ile yer tespiti yapabilmemiz gerekmektedir. Deneylerimizle de elde ettiğimiz sonuçlara göre standart GPS'in bize verebileceği hassasiyet en iyi şartlarda 5 m olabilir.

Piri Reis Denizcilik ve Deniz Kaynaklarını Araştırma Geliştirme ve Eğitim Vakfı başkanı Prof. Dr. Erol İzdar ile görüşmemiz sonucunda; DGPS sistemini 1995'den beri deniz altı araştırmalarında, deniz aracının belirlenen rotayı hatasız takibinin sağlanması amacıyla kullandıklarını ve uygun hava şartlarında 10 cm hassasiyete kadar inebildiklerini belirtmiştir.

Kurulum Kolaylığı
DGPS verici istasyonunun kurulması için önceden ölçümler ve sürekli olarak kontroller yapılması gerekmektedir. Bu da sistemin kurulumu ve işletilmesini zorlaştırmaktadır. Fizikcimurat tarafindan hazirlanip/düzenlenip Beceriksizler Boardda sunulmustur Seite 9 von 10 Her Ortamda Kullanılabilirlik GPS sisteminin bizim için en büyük dezavantajı kapalı mekanlarda kullanılmasının imkansız olmasıdır.

Maliyet
Standart GPS' in maliyeti 200 ABD Doları'nı geçmemekle beraber hassasiyetini arttırmamız gerekmektedir. Hassasiyeti arttırmak için DGPS sisteminin kurulması gerekmektedir. Yaptığımız araştırmadan elde ettiğimiz sonuç DGPS sistemi maliyetinin 40.000 - 45.000 ABD Doları arasında olduğudur. Yukarıda sayılan sebeplerden dolayı model araba navigasyonu için standart GPS sisteminin kullanılmasının imkansız, DGPS sisteminin ise prensip olarak uygun ancak pahalı ve kullanışsız olduğu sonucuna vardık. Önerilen Yöntem Amacımız, kısa menzilli model arabanın navigasyonunda, hassas ölçüm ve her ortamda çalışabilirliğe sahip bir sistem kurabilmektir. Beklentilerimiz doğrultusunda GPS' in yeterli olamayacağı yukarıdaki sonuçtan açıkça görülmektedir. GPS bu projede, ancak uzun menzillere çıkılması durumunda yardımcı kontrol elemanı olarak kullanılabilir.

Araştırmalarımızdan, bu ve buna benzer projelerde accelerometer, tilt sensor, gyroscope gibi ölçme elemanları ile çok hassas sonuçlar elde edildiğini gördük. Özellikle accelerometer hız ve pozisyon ölçümünde yaygın olarak kullanılmaktadır. Accelerometer ile yapabileceklerimiz: Hız ve pozisyon ölçümü Hız için ivme bir kere integre edilir.

Konum için ivme iki kere integre edilir.

  • Titreşim ve şok ölçümü
  • Makina sağlığı için vibrasyon ölçümü
  • Hareket ve şok ölçümü
  • Yönlendirme için yerçekimi ölçümü
  • Yalpa ve eğiklik ölçümü


2 ve 3 boyutlu uzayda pozisyon belirleme
Kullanım alanlarının genişliğinin yanı sıra accelerometer çok küçük ve ucuz bir ölçme elemanıdır.
Sonuç olarak kısa menzilde model araba navigasyonu için GPS' in kullanılması efektif olmayacaktır. Bunun yerine accelerometer istenilen sonuçları çok daha hassas verecektir ve GPS sistemine göre maliyeti daha düşüktür.

Kaynaklar
B. Hofmann-Wellenhof, H. Lichtenegger, and J. Collins
"Theory and Practice of GPS" , 4. Baskı
SpringerWienNewYork, 1992
Hurn Jeff
"Differential GPS Explained"
Tribmle Navigation, 1993

4/5/2007 12:50:36 PM (GTB Daylight Time, UTC+03:00)  #    Comments [0]   Genel | mobile  |  Trackback
 Tuesday, March 20, 2007

Selamlar ;

Bu günlerde çoklu dil desteği olan bir web projesi için kolları sıvamış durumdayız.Bu iş için .NET 2.0 da yer alan App_LocalResources klasorune ilgili dil için gerekli resource dosyasını koyarak işi kolayca halledebilirsiniz diyebiliriz.Ama bu durumun belli başlı bazı dezavantajları bulunmakta...

Bunlardan 1.si ilgili kontrolleriniz için yeni bir dil eklemek istediğinizde ; ilgili resource dosyasının (var olanlardan) bir kopya elde ederek ilgili App_LocalResources'a atmak olacaktır.Bu işi müşteriye yaptırmak veya uzak bağlantı kurarak halletmek ciddi anlamda sıkıntı verici olsa gerek..2.bu iş için postback işleminin gerçekleşmesi olacaktır..(tabi herhangi updatePanel (herhangi bir framework' de ki Ajax kontrolü) kullanmıyorsanız).

Benim tavsiyem bu dil bilgilerinin ilgili collationlarla belirli bir hiyerarşi içerisinde db içerisinde tutulması yönünde olacak.Bir de bunun üstüne Ajax Extension 1.0 dada bulunan ve yaptığım denemelerde gayet olumlu sonuçlar aldığım ScriptManager in Services ini kullanarak 0 postla gayet başarılı bir şekilde dil değişimini sağlayabilirsiniz..

 

Aslında benim başka bir tavsiyem daha olacak ki , o da kendi kontollerinizi yazarak bunlara dil propertysi eklemeniz ve haliyle page load olurken daha önce set edilmiş değerlerle kendini bilen bir sayfa inşa etmeniz..Mimari açıdan geliştirmeye daha müsait bir yapı olduğu şüphesiz ortadadır..

 

Şimdilik bu kadar..

İyi çalışmalar.

 

3/20/2007 6:08:27 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]   Asp.NET  |  Trackback
 Sunday, March 04, 2007

   Microsoft tarafından, çok az kişiye verilen ve Türkiye'de de yalnızca 51 kişide bulunan "En Değerli Profesyonel - MVP" ünvanı ile ödüllendirildim.Taltif edildiğim kategori "Mobile Devices".Layık gören Microsoft'a ve desteğini esirgemeyen değerli çalışma arkadaşlarıma çok teşekkür ediyorum..

 

Yapılması gereken o kadar çok iş var ki ..Motive edici  bir unsur,gönülden teşekkürler.

 

3/4/2007 12:45:23 AM (GTB Standard Time, UTC+02:00)  #    Comments [9]   Genel | mobile  |  Trackback
 Tuesday, February 06, 2007

PostgreSQL Global Development Group bugün tüm PostgreSQL sürümleri için
güvenlik güncellemeleri duyurdu. Yeni sürümler 8.2.2, 8.1.7, 8.0.11,
7.4.16 ve 7.3.18'dir. Orta derecede risk içeren güvenlik açıkları içeren
bu sürümlere en kısa sürede geçmeniz
gerekmektedir.

Bu sürümler  CVE-2007-0555 ve CVE-2007-0556 ile ilgilidir. Bunlarla
ilgili bilgiyi:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0555
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0556

adreslerinden alabilirsiniz.

Yeni sürümler
http://www.postgresql.org/download/ adresinden
indirilebilir. Bu sürümler için dump/reload gerekmemektedir. Ancak çok
eski sürümlerden geçiş yapıyorsanız sürüm notlarını okumanız gerekecektir:

http://www.postgresql.org/docs/8.2/static/release.html

2/6/2007 1:30:22 PM (GTB Standard Time, UTC+02:00)  #    Comments [3]