vi er her !!!

02120

DifferentielGPS
home

GPSnet.dk

Vores program skal kunne læse fra det internetbaserede GPSNet.dk. GPSnet sender i princippet en uendeligt lang fil ud med HTTP/1.1 protokollen. Det betyder, at gps-dataene har en HTTP/1.1 header, som sendes førend RTCM dataene.
For at kunne modtage data, skal man sende et logon til GPSNet serveren. Logonet består af:

  • ønsket GPS station
  • Angivelse af HTTP 1.1 format
  • Angivelse af "brugeragent", hvilket er navnet på programmet (vi kalder vores "NTRIP dGPSServer"
  • Brugernavn og kodeord adskilt af ":" og konverteret til base64 formatet.
Først modtages headeren. Vi modtager teksten som bytes, der hver især repræsenterer et ASCII tegn. For eksempel repræsenterer 65 tegnet A. Headeren består af flere linjer, har intet med RTCM dataene at gøre og afsluttes med et dobbelt linjeskift. Man kan vælge at læse headeren som RTCM data, da der med ekstremt lille sandsynlighed ville være noget, som kunne fejlfortolkes som RTCM data i headeren. Men da det er nemt at finde slutningen på den, har vi valgt at læse den, så den ikke bliver sendt igennem RTCM konverteringen.
Linjeskift markeres med ASCII tegnene "carrige return" (ASCII kode 13) og "new line" (ASCII kode 10). Således består et linjeskift af to tegn.
HTTP/1.1 headeren skal ikke bruges til noget, og kan derfor smides væk, når man har konstateret, at der er kontakt (statuskode 200 jvf RFC2616 afsnit 10.2.1). Statuskoden skrives i den første linje af headeren, som ser således ud:
"ICY 200 OK"
Hvis man ikke modtager denne kode, er det en fejlkode man får. I tilfælde af, at man har sendt forkert kodeord, som eksempeltvist kan være "HTTP/1.1 401 Unauthorized". I tilfælde af forkert kodeord, kommer der ingen data efter headeren og man modtager -1, som indikation på, at der ikke kommer mere data.

Når man har modtaget headeren, kan man modtage RTCM korrektionerne som beskrevet under RTCM konvertering.


home