NMEA etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
NMEA etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

10 Haziran 2021 Perşembe

National Maritime Electronics Association - NMEA Weather Instrument (Meteorolojik) Mesajları

Giriş
Hava durumuyla ilgili bilgileri verir. Genellikle saniyede 1 tane gelirler. Talker ID olarak "WI" Wind Instruments anlamına gelir. 

- Bu cihazı gerçek kuzeyi bulsun diye, Gyro'dan veya Magnetic Compass'tan gelen HDT - Heading True mesajı ile beslemek gerekir.
- Ayrıca geminin hızını bilmesi için Navigation Radar'dan gelen OSD - Own Ship Data ile beslemek gerekir.

1. MWV - Wind Speed And Angle - Geminin Kendisine Göre, Bağıl (Relative) Rüzgar Bilgisi
Manyetik veya gerçek kuzeye göre değil geminin kendi gittiği yöne göre rüzgarı raporlar. Rüzgar geminin hızına göre (relative) veya gemi duruyormuş (theoretical) şekilde raporlanabilir. 

Bu bilgi gemideki mekanik cihazlar için önemlidir. Örneğin silahlar bağış rüzgardan etkilendikleri için bu bilgiye ihtiyaç duyarlar. 

Mesaj alanları şöyle
Wind Angle, 0 to 359 degrees
Reference, R = Relative, T = True
Wind Speed
Wind Speed Units, K/M/
Status, A = Data Valid, V = Invalid
2. MWD - Wind Direction & Speed - Mutlak (Absolute) Rüzgar Bilgisi
Manyetik veya gerçek kuzeye rüzgar raporlanır.

Mesaj alanları şöyle
Wind Direction, 0 to 359 degrees True
Wind Direction, 0 to 359 degrees Magnetic
Wind Speed, Knots
Wind Speed, meters/second
3. MTA - Air Temperature - Kullanmayın
Bu mesajın yeni tasarımlarda kullanılmaması öneriliyor. XDR kullanılmalı.

Hava sıcaklığı. Mesaj alanları şöyle
Temperature, degrees C
4. MHU - Humidity - Kullanmayın
Bu mesajın yeni tasarımlarda kullanılmaması öneriliyor. XDR kullanılmalı.

Nem. Mesaj alanları şöyle
Relative humidity, percent
Absolute humidity, percent
Dew point, degrees C
5. MMB - Barometer - Kullanmayın
Bu mesajın yeni tasarımlarda kullanılmaması öneriliyor. XDR kullanılmalı.

Barometre. Mesaj alanları şöyle
Barometric pressure, inches of mercury
Barometric pressure, bars

3 Haziran 2021 Perşembe

National Maritime Electronics Association - NMEA Navtex Mesajları

Giriş
Navtex cihazını şu mesajlarla beslemek gerekir
GPS
RMC - Konum
ZDA - Saat ve Tarih

Navtex cihazından şu mesajlar okunur
1. ALR - Set Alarm State
Cihazdaki alarm durumunu belirtir
Mesaj şöyle
1. Sentence Id
2. Time of alarm condition change, UTC
3. Unique alarm number (identifier) at alarm source
4. Alarm's acknowledge state, A=Acknowledged,V=Unacknowledged
5. Alarm condition, A=Threshold exceeded, V=Notexceeded
6. Alarm description text
2. NRM - Navtex Receiver Mask Command
Mesaj şöyle. Hem input hem de output için kullanılabilir.
1. Sentence Id
2. Function code, 0 to 9
3. Frequency table index, 1 to 9
4. Transmitter coverage area mask
5. Message type mask
6. Sentence status flag, R or C

3. NRX - Navtex Received Message
Açıklaması şöyle
The NRX sentence is used to transfer the contents of a received NAVTEX message from the NAVTEXreceiver to another device. As the length of a single NAVTEX message may exceed the number of characters permitted in a single NMEA 0183 sentence, many NRX sentences may be required to transfer a single NAVTEX message.
Mesaj şöyle
1. Sentence Id
2. Total number of sentences, 001 to 999
3. Sentence number, 001 to 999
4. Sequential message id, 00 to 99
5. NAVTEX message code
6. Frequency table index, 0 to 9
7. UTC of receipt of message
8. Day, 1 to 31
9. Month, 1 to 12
10. Year
11. Total number of characters in this series of NRXsentences
12. Total number of bad characters
13. Status indication
14. Message body
4. alan olan Sequential Message Id için açıklama şöyle. Aslında 5. alan olan NAVTEX message code alanının kullanılmaması söyleniyor. Bu alan cümleleri birleştirirken kullanılıyor.
The sequential message identifier provides a unique identifier for each NAVTEX message represented by a group of sentences.

Though the message code contains a NAVTEX message serial number, there are special cases when the message serial number is set to 00 and has a different meaning or when the same message code can occur more than once. When these conditions occur, the sequential message identifier can be relied upon to uniquely identify this NAVTEX message from other NAVTEX messages with the same message code.
6. alan olan Frequency Table Index için açıklama şöyle
The frequency indicator identifies the frequency that the NAVTEX message was
received on:
0 = not received over air (eg test messages)
1 = 490 kHz
2 = 518 kHz
3 = 4209,5 kHz
4 through 9 are reserved for future use 
14. alan olan message body "c - c Calculated"  olarak işaretli. IEC 61162-1 Table 2'deki karakterlere göre çevrilmeli. Böylece her karakter için 1 byte harcanıyor

Örnek
Bir örnek şöyle. ^0D^0A "new line" demek. ^0A^0A mesaj sonu demek
The example below shows a typical message received by the Navtex receiver with 3 bad characters (‘*’):

<start of example>
ZCZC IE69==================================
ISSUED ON SATURDAY 06 JANUARY 2001.
INSHORE WATERS FORECAST TO 12 MILES
OFFSHORE FROM 1700 UT* TO 0500 UTC.
NORTH FORELAND TO SE**EY BILL.
12 HOURS FORECAST:
SHOWERY WINDS, STRONGEST IN NORTH.
NNNN
<end of example>

Inspecting the corresponding NRX sentences would typically show:
$CRNRX,007,001,00,IE69,1,135600,27,06,2001,241,3,A,==========================*09
$CRNRX,007,002,00,,,,,,,,,,========^0D^0AISSUED ON SATURDAY 06 JANUARY 2001.*29
$CRNRX,007,003,00,,,,,,,,,,^0D^0AINSHORE WATERS FORECAST TO 12 MILES^0D^0AOFF*0D
$CRNRX,007,004,00,,,,,,,,,,SHORE FROM 1700 UT^2A TO 0500 UTC.^0D^0A^0D^0ANORT*70
$CRNRX,007,005,00,,,,,,,,,,H FORELAND TO SE^2A^2AEY BILL.^0D^0A12 HOURS FOREC*16
$CRNRX,007,006,00,,,,,,,,,,AST:^0D^0A^0ASHOWERY WINDS^2C STRONGEST IN NORTH.^0D*15
$CRNRX,007,007,00,,,,,,,,,,^0A^0A*79

Decoding the message body should give the following result:

<start of decoding>
==================================
ISSUED ON SATURDAY 06 JANUARY 2001.
INSHORE WATERS FORECAST TO 12 MILES
OFFSHORE FROM 1700 UT* TO 0500 UTC.
NORTH FORELAND TO SE**EY BILL.
12 HOURS FORECAST:
SHOWERY WINDS, STRONGEST IN NORTH.
<end of decoding> 
Aynı örnek şöyle
$CRNRX,007,001,00,TD02,1,135600,27,06,2001,241,3,A,==========================*09
$CRNRX,007,002,00,,,,,,,,,,========^0D^0AISSUED ON SATURDAY 06 JANUARY 2001.*29
$CRNRX,007,003,00,,,,,,,,,,^0D^0AINSHORE WATERS FORECAST TO 12 MILES^0D^0AOFF*0D
$CRNRX,007,004,00,,,,,,,,,,SHORE FROM 1700 UTC TO 0500 UTC.^0D^0A^0D^0ANORT*70
$CRNRX,007,005,00,,,,,,,,,,H FORELAND TO SELSEY BILL.^0D^0A12 HOURS FOREC*16
$CRNRX,007,006,00,,,,,,,,,,AST:^0D^0A^0ASHOWERY WINDS, STRONGEST IN NORTH.^0D*15
$CRNRX,007,007,00,,,,,,,,,,^0A^0A*79


2 Haziran 2021 Çarşamba

National Maritime Electronics Association - NMEA Navigation Radarı Mesajları

Giriş
Seyir Radarı az sayıda mesaj üretiyor ancak ürettiği mesajları hesaplayabilmek için çok sayıda farklı cihazın çıktısı ile beslemek gerekiyor. Beslemek için kullanılan mesajlar şöyle

Echo Sounder
- Depth Below Transducer
- Depth

GPS
- Datum Reference
- Global Positioning Fix Data
- Geographic Position - Latitude/Longitude
- Course Over Ground and Ground Speed
- Time & Date
Açıklaması şöyle
Is the GPS speed required in RADAR ?
There is no debate that GPS feed is required in Radars for position. But if we have to use speed over water in radar, do we require GPS speed then ?

Yes, we do. 
...
By using speed over ground, a navigator is more aware of the situation than otherwise. For example, if the ship is drifting towards a danger, navigator will know it better if he has speed over ground in radar. This is because, with speed over ground radar will show a vector of course made good.

Meteorological Sensor
- Wind Speed and Angle

Gyro
- Heading True
- Rate Of Turn

Speed Log
- Dual Ground/Water Speed
- Water Speed And Heading

AIS
- VDM
- VDO

1. RATTM - Tracked Target Message
Bağlantı hızı 4800 baud gibi düşük bir şey olduğu için radar tüm izleri aynı anda gönderemez. Genellikle her dönüşte 10-20 gibi bir alt küme gönderir. Böylece mesela toplamda 100 tane iz takip edebiliyorsa, tüm izleri 5 dönüşte bir gönderir. Her dönüş 2 saniye ise, 10 saniyede bir tüm izler aktarılır. Şeklen şöyle
Target number
Distance to target
Bearing from own ship (degrees)
Type of bearing 'T' - true; 
                'R' - the relative

Target speed
Target course (degrees)
Type of course 'T' - true; 
                'R' - the relative


CPA (in miles)         Distance of closest-point-of-approach
TCPA (in min.)         Time to distance of closest-point-of-approach

U measuring speed / distance 'R' - km; 
                'N' - mor. mile; 
                'S' - statute miles

 
Name of target not processed
Status goals
Purpose-binding not processed
UTC time
Type of seizure not processed
Speed/distance units 
- K yani kilometers/hour veya 
- N nautical miles/hour veya 
- S statue miles/hour cinsinden olabilir

ARPA CPA
ARPA plotların ize yani track' dönüşmesi demek. CPA kısaltması Closest Point of Approach anlamına geliyor. ARPA CPA bilgisi için

Target number, Bearing from own ship (degrees),  CPA (mesafe) ve TCPA (saniye cinsinden süre) alanları kullanılır

2. RARSD - Radar System Data
Örnek ver

3. RAOSD - Radar Ownship Data
Şeklen şöyle
Heading, degrees True
Heading Status, A = Data Valid, V = Invalid

Vessel Course, degrees True
Course Reference B/M/W/R/P

Vessel Speed
Speed Reference B/M/W/R/P

Vessel Set, degrees True
Vessel drift (speed)

Speed Units K/N

10 Mayıs 2021 Pazartesi

National Maritime Electronics Association - NMEA ECDIS Mesajları

Giriş
Electronic Chart Display Information System (ECDIS) haritaları gösterir. Açıklaması şöyle
ECDIS is a development in the navigational chart system used in naval vessels and ships. With the use of the electronic navigation equipment, it has become easier for a ship’s navigating crew to pinpoint locations, and attaining directions are easier than before.
Electronic Navigational Charts
ECDIS cihazında Electronic Navigational Charts yani ENC gösterilir. Harita olarak S-57 veya S-100 haritalar kullanılır

ECDIS Cihazı
Bu cihazın NMEA çıktısı yoktur ancak bazı mesajlarla beslemek gerekir. Bunlar şöyle
Echo Sounder'dan
DBT - Depth below transducer
DPT - Depth of Water

GPS'ten
DTM - Datum Reference
GGA - Global Positioning System Fix Data - Konum
GLL - Geographic Position – Latitude/Longitude
VTG -  Vector track an Speed over the Ground - Hız
ZDA - Time & Date - UTC, day, month, year and local time zone - Saat ve Takvim

Meteorolojik Alıcından
MWM - Wind Speed And Angle - Geminin Kendisine Göre, Bağıl (Relative) Rüzgar Bilgisi

GyroCompass'tan
HDT - Heading True
ROT - Rate Of Truen

SpeedLog Alıcısından
VBW - Dual Ground/Water Speed - Ground ve Suya Göre Hız
VHW - Water speed and heading - Suya Göre Bağıl Hız

AIS Alıcısından
VDM - Received Data From Other Vessels
VDO - Wwn Vessel's Information

National Maritime Electronics Association - NMEA Echo Sounder (İskandil) Mesajları

Giriş
Açıklaması şöyle
There are many modern ship navigation tools present on ship and echo sounder is one of the instruments which has been in the play from almost 100 years now. It is used to measure the depth of the water below the ship’s bottom using sound waves which work on the principle of transmission of sound waves and an audio pulse which will bounce off a reflecting layer, returning as an echo to the source.
Bu cihazın panelinde göstermek için şu mesajlar kullanılabilir.
GGA - Global Positioning System Fix Data, yani konum
VTG - Track made good and Ground speed, yani hız
ZDA - Time & Date - UTC, day, month, year and local time zone, yani takvim ve saat

Bu mesajları anlamak için aşağıdaki şekle bakmak lazım

1. DBS - Depth Below Surface - Kullanmayın
Bu mesajın yeni tasarımlarda kullanılmaması öneriliyor. DTP kullanılmalı.

Su derinliği. Şekilde 1 numara. feet, meters, Fathoms cinsinden belirtilir

2. DBT - Depth below transducer
Transducer''ın altındaki suyun derinliği. Şekilde 2 numara. Açıklaması şöyle
In real-world sensors, sometimes not all three conversions are reported. So you might see something like $SDDBT,,f,22.5,M,,F*cs

3. DBK - Depth Below Keel - Kullanmayın
Bu mesajın yeni tasarımlarda kullanılmaması öneriliyor. DTP kullanılmalı.

Keel yani omurganın altındaki su derinliği. Şekilde 3 numara. feet, meters, Fathoms cinsinden belirtilir

4. DPT - Depth of Water
Transducer 'a göre suyun derinliği. 
- Offset alanı artı bir değerse, su yüzeyinden transducer 'a kadar olan mesafeyi verir. Artı değer eklenirse, gerçek su derinliği bulunur.
- Eksi bir  değerse transducer ve keel arasındaki mesafedir.  Eksi değer eklenirse aslında keel 'ın altındaki su derinliği bulunur. Açıklaması şöyle
Offset from transducer, meters positive means distance from transducer to water line negative means distance from transducer to keel

National Maritime Electronics Association - NMEA Magnetic Compass Mesajları

Giriş
Bu cihaz tek başına çalıştığı için başka bir cihazla beslemek gerekmez. Açıklaması şöyle
The magnetic compass work in conjunction with the magnetic field of the earth and is the essential means of the direction indicating device. It is used to get a planned course for the voyage. This ship navigation equipment is usually fitted at the centre line of the ship on the monkey island.  A transmitting magnetic type compass is fitted so that the output can be displayed in the bridge panel.
1. HDG - Heading, Deviation & Variation
Eğer elimizde Gyro varsa, bu cihaz daha hassas olduğu için Gyro'dan gelen HDT mesajı tercih edilebilir

Cihazın okuduğu değer "Magnetic sensor heading, degrees" alanında gelir. 
- Deviation alanı kullanılarak Magnetic Heading bulunur
- Variation alanı kullanılarak True Heading bulunur. Varition genelde [0-45] derece arasında bir değerdir.

National Maritime Electronics Association - NMEA GyroCompass Mesajları

Giriş
GyroCompass hem pusula hem de gyro bileşenlerinden oluşur.

1. Gyro Olarak

- Yaw, Pitch, Roll  değerlerini verir. Bu değerler genellikle radyan cinsindendir.

- YawRate, PitchRate, RollRate  değerlerini verir. Bu değerler genellikle radyan/second cinsindendir.

- Bazı gyro cihazları Heave yani Y ekseninde batıp çıkmayı da ölçebilir. Heave eğer hava aracı terminolojisinde düşünüyorsak, biraz Altitude kavramına benzer.

2.  Compass Olarak
Yani Gerçek Kuzey'i (True North) gösterir. Açıklaması şöyle
It is used for finding the right direction. Unlike magnetic compass, gyro compass is not hampered by an external magnetic field.  It is used to find the correct North Position, which is also the earth’s rotational axis to provide a stable directional source. Its repeater system must be present in the steering platform for emergency steering.
3 tane bileşenden oluşur. Açıklaması şöyle
Master Compass: Discovers and maintains the true north reading with the help of gyroscope.
Repeater Compasses: Receive and indicate the true direction transmitted electrically from the Master Compass.
Course Recorder: Makes a continuous record of the maneuvering on a moving strip of paper.
GyroCompass sistemlerini GPS gibi diğer sistemlerle destekleyerek hatalı ölçüm azaltılabilir. Açıklaması şöyle
Modern ships use a GPS system or other navigational aids feed data to the Gyrocompass for correcting the error.
HDT - Heading True
Gerçek kuzeyi bildirmek için kullanılır. Gerçek kuzeye göre açıyı verir

3. Diğer
ROT - Rate of Turn
Açıklaması şöyle
This navigational tool indicates how fast the ship is turning at a steady rate (useful during pilotage and manoeuvring), normally shown as a number of degrees turned. The rate a ship is turning is measured in degrees per minute. This essential tool assists a coxswain in steering a course safely.
Açıklaması şöyle. Burada TalkerId olarak GP yani GPS gösteriliyor.
An example of the ROT string is:

$GPROT,35.6,A*4E

ROT message fields
Field Meaning
0 Message ID $GPROT
1 Rate of turn, degrees/minutes, “–” indicates bow turns to port
2 A: Valid data
                V: Invalid data

3 The checksum data, always begins with *

28 Nisan 2021 Çarşamba

National Maritime Electronics Association - NMEA SpeedLog Mesajları

Giriş
Açıklaması şöyle
This bridge equipment on a ship is used to measure the speed and the distance travelled by a ship from a set point. By calculating the same, ETA of the ship is adjusted or given to the port authority and agent.
Bu cihazın panelinde göstermek için şu mesajlarla beslenebilir.

GGA - Global Positioning System Fix Data, yani konum
VTG - Track made good and Ground speed, yani hız
ZDA - Time & Date - UTC, day, month, year and local time zone, yani takvim ve saat

1. MTW - Mean Temperature of Water
Celsius biriminden suyun sıcaklığını verir

 2. VBW - Dual Ground/Water Speed - Ground ve Suya Göre Hız
İki farklı hızı gösterir. Açıklaması şöyle
Longitudinal water speed, "-" means astern
Transverse water speed, "-" means port
Data Valid

Longitudinal ground speed, "-" means astern
Transverse ground speed, "-" means port
Data Valid
Açıklaması şöyle
- Speed over ground is the speed of the ship with respect to the ground or any other fixed object such as fixed buoy or island.
- Speed through water is the speed of the ship with respect to the water such as anything floating on water.
Speed over ground bir noktadan bir diğer noktaya varış süresi için hesaplanır. 
Speed through water ise "collision avoidance" için kullanılır.

Ground'a göre hız aynı zamanda GPS cihazının "VTG - Vector track an Speed over the Ground" mesajı ile de alınabilir. Ancak GPS her zaman her yer erişilebilir olmadığı için öncelikle VBW tercih edilmelidir.

Speed through water ölçümü zor bir iştir. Açıklaması şöyle
Measuring speed through water can be done using a speed log, which calculates the speed from a sensor mounted on the hull underwater, but it is not straightforward. There are a lot of variables to be considered. 

One of the most challenging issues is that the vessel itself creates a flow field around the hull. If speed through water is measured within this field, you can end up measuring the wrong speed. This field will vary dynamically with changes in vessel, speed, draft and trim.

A moving vessel also experiences pitch and roll – another factor that affects the readings. On top of this, flow patterns in the boundary layer around the hull created by the vessel’s movements need to be distinguished from ocean currents to ensure accurate speed measurement.

Speed logs – especially widely used electromagnetic (EM) logs – often have poor reliability and become less accurate over time. They are also difficult to recalibrate, and often provide poor data quality, logging and data transfer.

Adjusting log data to compensate for the resulting errors is both time-consuming and complex, using valuable resources that the industry could better employ elsewhere.  

3. VHW - Water speed and heading - Suya Göre Bağıl Hız
Açıklaması şöyle
degrees true
T=true
degrees Magnetic
M = Magnetic
Speed of vessel relative to water Knots/hour
N = Knots
Speed of vessel relative to waterKm/hour
K = Kilometers
4. VLW - Distance Traveled through Water
Aynı arabalardaki gibi bir yolculuğun mesafesini ölçer.

26 Nisan 2021 Pazartesi

National Maritime Electronics Association - NMEA GPS Mesajları

Giriş
Soru şöyle
Q : How can the GPS position update rate be 10 Hz?

Based on stuff on the web (Wikipedia and others) the GPS navigation message bit rate is 50 bit/s. That includes all data needed for user position calculation (time, ephemeris, almanac, etc.) It seems that the packet from a satellite should be much longer than 50 bits, so a complete packet must take longer than one second to completely broadcast (with a 50 bit/s rate.)

How is a 10 Hz position update rate (update each 100 milliseconds) possible?

A: 50 bps is indeed the bitrate at which the almanacs and ephemerides are transmitted. Given the size of this data as well as framing and other overhead, it takes far more than 0.1 seconds (and more than 1 sec) to transmit this data.

However, the actual position calculation is done using precise timing information derived from the PRN, and that's coming in at the chip rate (1.023 Mchip/second for L1 coarse acquisition (C/A) code), rather than at the 50 bps nav rate.

The PRN repeats once every millisecond (for L1 C/A) so even the most crude cross-correlation with the PRN could produce a new (noisy) timing measurement at 1 kHz. A lower rate like 10 Hz allows more time for measurement, filtering, and calculation (see analysis here)

A new set of ephemerides is not needed for each position update; in fact a single ephemeris is valid for hours [ref here as well as pg.157 of here]. The GPS receiver continues making calculations with respect to the existing ephemeris, just using new timing information as it comes in.
Soru şöyle. Burada önemli nokta three-spheres çözümü . Yani 3 tane uyduyu kullanarak konumu hesaplar.
Q : Why does GPS need the fourth satellite?
...
I understand that the GPS receiver knows its location by calculating its distances from 3 satellites, and by eliminating one of the two points of the intersection of the 3 spheres.

A : Your GPS cannot directly determine the distance from any satellite, it has to go indirectly. It gets a signal from the first satellite, say "it was exactly 10:30:25.123456789 seconds according to my extremely precise clock when this signal was sent", and it gets a signal from the second satellite, say "it was exactly 10:30:25.123556789 seconds according to my extremely precise clock when this signal was sent". The clocks are 0.0001 seconds apart. So the signal from the first satellite travelled 0.0001 seconds longer. At 299,792,458 meter/sec, that is 29,979.2458 meters difference. So you are 29,979 meters closer to the second satellite than to the first. And your GPS also knows the exact location of the satellites.

With the third satellite, you also learn how much closer or further away you are to the third satellite compared to the first and the second. You can turn that into three rather complicated equations, and try to solve those equations, but there is not just one solution: There is a whole curve of solutions.
Devamı şöyle. Yani 4. uydu ile çözüm sayısı azaltılıyor.
Now if three satellites is all you've got, your GPS can make a guess:
...
With a fourth satellite, there are four ways to take three satellites and calculate the curve where you should be, so you get four curves. And then the GPS picks the point that it is closest to all four curves. That gives you your location quite precisely, and at the same time, if the curves don't meet exactly in one point but are maybe ten meters apart, then you also know the precision of your location.
Modulasyon ile ilgili bir soru şöyle
The signal from GPS satellites is very faint - each satellite has to broadcast a signal to about half the planet, powered only by some solar panels! So the broadcast signal is modulated using a 'Gold Code' (in the case of the oldest public GPS signal) where part of the signal transmitted by the satellite is already known by the receiver - the GPS receiver can pick out the signal despite how faint it is, by tracking the cross-correlation between the received and expected signals.

This also means multiple satellites can transmit their signals at the same frequency - so long as they use different gold codes, the receiver can track both signals independently.

Newer GNSS signals replace gold codes with newer techniques - like 'multiplexed binary offset carriers' - which perform better, but do basically the same thing.

GPS cihazını normalde başka bir şeyle beslemek gerekmez. Bazı deniz sistemlerinde
Echo Sounder'dan gelen 
 DBT : Depth Below Transducer
 DPT : Depth of Water

GyroCompass'tan gelen
 HDT : Heading True

Speed Log'dan gelen
  VHW :  Water Speed and Heading - Suya Göre Bağıl Hız

ile besleniyor

GPS cihazlarından çok çeşitli mesajlar gelebiliyor. Bazı mesajlar şöyle. Ben konum için hep GGA kullandım
1. GGA - Konum
2. GLL - Konum
3. RMC - Konum 
4. GNS- Konum - Combined Navigation System (GPS, GLONASS) kullanarak konum
GPS kalitesi hakkında bazı mesajlar şöyle
1. GST - İstatistiki Bilgi
2. GSA - Uydu Sayısı
Diğer mesajlar şöyle
1. GSV - Pseudo Range Error Statistics yani İstatistiki Bilgi
2. VTG - Hız
3. ZDA - Saat ve Takvim
Bazı GPS cihazları sadece alıcı değil. Gidilen yerleri de kaydediyor ve USB ile cihaza bağlanınca, Internet/WIFI/Mobil bağlantı üzerinden merkeze aktarabiliyor.

1. GGA - Global Positioning System Fix Data - Konum
Bu cümleler arasında en önemlilerden biri GGA (Global Positioning System Fix Data) 'dır. GPS dilinde "Fix" o an bulunduğumuz noktanın belirlenmesidir.
Örnek bir cümle şöyle
$GPGGA,181908.00,3404.7041778,N,07044.3966270,W,4,13,1.00,495.144,M,29.200,M,0.10,0000*40
Açıklaması şöyle
181908.00
it is a timestamp value. we can reach hour, minute and second of location using this value.

3404.7041778,N
it is latitude of location. 34 degree and 04.7041778 minute

07044.3966270,W
it is longitude of location. 70 degree and 44.3966270 minute

4
it is a quality value of location. This value can be one of 0,1,2,3,4,5,6,7 and 8
each number represents the location’s precision. when this value is 4, it means that location’s accuracy is RTK-fix. if you need really reliable location, consider that this value have to be 4.

13
it represent number of satellites being tracked.

1.00
horizontal dilution of position.

495.144
it is altitude value as meters above sea level.

29.200
Height of geoid (mean sea level) above WGS84 ellipsoid
Burada dikkat edilmesi gereken nokta fix quality denilen şeydir. Eğer alanın değeri 1 ise veri uydulardan gelmektedir. Eğer değeri 2 ise DGPS (Differential Global Positioning System) kullanılmaktadır. DGPS kullanımını hiç görmedim. Sistem GPS koordinatını bilen bir yer istasyonu vasıtasıyla yapılıyor.

2. RMC - Recommended Minimum Specific GPS/Transit Data - Konum
Aslında GGA ile aynı işi görür. Açıklaması şöyle. Ancak RMC "Recommended" olduğu için tüm GPS cihazları gönderir.
The data in both will be the same. If they aren't, it has to do with the timing of sending the messages.

The reason they are both sent is for compatibility, and because they do contain different data for some fields. If you just need lat/lon and time, then either sentence is fine. I would go with GPRMC, as all NMEA GPS units should send this sentence.
Difference between GGA and RMC sentences in NMEA
Açıklaması şöyle. Yani GGA'dan farklı olarak RMC mesajında hareket edilen açı da veriliyor.
Track angle (field 6 in RMC) is the direction the vehicle is moving, not necessarily the direction it faces, although for a ground (wheeled or tracked) vehicle these are very likely the same.

Yes, it's relative to true north.
Alanları şöyle
UTC of position fix
Status A=active or V=void
Latitude 
Latitude N/S
Longitude 
Longitude E/W
Speed over the ground in knots
Track angle in degrees (True) veya Course Over Ground (True)
Date (ddmmyy
Magnetic variation in degrees
Magnetic variation E/W
Positioning System Mode Indicator
Örnek bir cümle şöyle. Burada Mode Indicator alanı yok
$GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62
Örnek bir cümle şöyle. Burada Mode Indicator alanı var. Ancak N = Data not valid
$GPRMC,073109.00,V,,,,,,,240220,,,N*77
Latitude ve Longitude (d)ddmm.mmmm formatında geliyor. Yani derece (degree), dakika (minute) milisaniye cinsinden. Bunu ondalık bir sayıya çevirmek için şöyle yaparız.

Latitude=35.15 N
35.15/60 = .5858 N

Longitude= 12849.52 E,
128+ 49.52/60 = 128.825333 E

3. GLL - Geographic Position – Latitude/Longitude
Alanları şöyle. Aslında bu mesaj GGA ve RMC ile aynı
Latitude 
Latitude N/S
Longitude 
Longitude E/W
UTC Time
Status A=active or V=void
Positioning System Mode Indicator

4. GNS - Fix Data
Cihazın farklı uydu sistemler için alıcısının olması gerekir. Açıklaması şöyle. Yani Talker Id olarak önce GN kullanılıyor. Daha sonra GPS için GP,  GLONASS için GL ile gönderiyor.
GNSS capable receivers will always output this message with the GN talker ID

GNSS capable receivers will also output this message with the GP and/or GL talker ID when using more than one constellation for the position fix

An example of the GNS message output from a GNSS capable receiver is:

$GNGNS,014035.00,4332.69262,S,17235.48549,E,RR,13,0.9,25.63,11.24,,*70<CR><LF>
$GPGNS,014035.00,,,,,,8,,,,1.0,23*76<CR><LF>
$GLGNS,014035.00,,,,,,5,,,,1.0,23*67<CR><LF>
Örnek bir cümle şöyle
$GPGNS,112257.00,3844.24011,N,00908.43828,W,AN,03,10.5,,,,*57

5. GST - Pseudo Range Error Statistics
İstatistiki bilgi yani kalite (quality) hakkında bilgi verir.
Örnek bir cümle şöyle
$GPGST,172814.0,0.006,0.023,0.020,273.6,0.023,0.020,0.031*6A
6. GSA - GPS DOP and active satellites
Uydu sayısı yani kalite (quality) hakkında bilgi verir

7. VTG - Vector track an Speed over the Ground - Hız
Bu mesajın yeni ismi "Course Over Ground and Ground Speed". Ground'a göre hız aynı zamanda SpeedLog cihazının "VBW - Dual Ground/Water Speed" mesajı ile de alınabilir.

8. ZDA - Time & Date - UTC, day, month, year and local time zone - Saat ve Takvim
Açıklaması şöyle. Burada TalkerId olarak GP yani GPS gösteriliyor.
An example of the ZDA message string is:

$GPZDA,172809.456,12,07,1996,00,00*45

ZDA message fields
Field Meaning
0         Message ID $GPZDA
1         UTC
2         Day, ranging between 01 and 31
3         Month, ranging between 01 and 12
4         Year
5         Local time zone offset from GMT, ranging from 00 through ±13 hours
6         Local time zone offset from GMT, ranging from 00 through 59 minutes
7         The checksum data, always begins with *
9. DTM - Datum Reference
Mesaj alanları şöyle
Local datum code.
Local datum subcode. May be blank.
Latitude offset (minutes)
N or S
Longitude offset (minutes)
E or W
Altitude offset in meters
Datum name. What’s usually seen here is "W84", the standard WGS84 datum used by GPS.

12 Mayıs 2016 Perşembe

National Maritime Electronics Association - NMEA

NMEA Formatı
Denizcilikte kullanılan bir çok cihaz NMEA 0183 formatında veri gönderir.

Bazı mesajlar NMEA dokümanında tanımlıdır, bazı cihazlarsa kendi özelleştirilmiş mesajlarını gönderirler.

NMEA Dokümanı Mesaj Alanları
Mesaj alanları için bazı karakterler kullanılıyor. 

Table 3 Character Symbol Table 
Bunları listeliyor. Noktalı virgül ile ayrılıyorsa A veya B olabilir demek
a: Alphabet character variable A through Z or a through z. Alfabe karakteri, c yani Valid character kümesinden küçüktir. Rakam ve bazı işaretleri içermez
c : Valid character;Calculating
h : Hours;HEX Number. Yani Hours veya HEX olaiblir.
m : Minutes;message
s : Seconds;Six bit numer
x : Numeric character variable

Table 6 Field Type Summary
aa : İki tane alfabe karakteri
c--c : Değişken uzunlukta string. Bazen string'in uzunluğu belirtiliyor.
hhmmss.ss : Time içindir. hhmmss alanı sabittir. Noktadan gelen ss alanı değişken sayıda basamaklıdır
x.x : Değişken uzunlukta integer veya floating sayı içindir. Başında 0 olabilir/olmayabilir

Maven
Şu satırı dahil ederiz
<dependency>
  <groupId>net.sf.marineapi</groupId>
  <artifactId>marineapi<artifactId>
  <version>0.11.0</version>
</dependency>
Örnek - Mesaj Parse Etme
Şöyle yaparız
import net.sf.marineapi.nmea.parser.SentenceFactory;
import net.sf.marineapi.nmea.sentence.GSASentence;

String nmea = "$GPGSA,A,3,03,05,07,08,10,15,18,19,21,28,,,1.4,0.9,1.1*3A";
SentenceFactory sf = SentenceFactory.getInstance();
GSASentence gsa = (GSASentence) sf.createParser(nmea);
Örnek - Mesajı String'e Çevirme
Şöyle yaparız
import net.sf.marineapi.nmea.parser.SentenceFactory;
import net.sf.marineapi.nmea.sentence.MWVSentence;
import net.sf.marineapi.nmea.sentence.TalkerId;
import net.sf.marineapi.nmea.util.DataStatus;
import net.sf.marineapi.nmea.util.Units;

// Create a fresh MWV parser
SentenceFactory sf = SentenceFactory.getInstance();
MWVSentence mwv = (MWVSentence) sf.createParser(TalkerId.II, "MWV");
// should output "$IIMWV,,,,,V*36"
System.out.println(mwv.toSentence());
// Be sure to set all needed values correctly. For instance, in this
// example setAngle() and setTrue() have mutual dependency. Likewise,
// pay attention to set units correctly.
mwv.setAngle(43.7);
mwv.setTrue(true);
mwv.setSpeed(4.54);
mwv.setSpeedUnit(Units.METER);
mwv.setStatus(DataStatus.ACTIVE);
// should output "$IIMWV,043.7,T,4.5,M,A*39"
System.out.println(mwv.toSentence());
Örnek - SentenceReader + SentenceListener
Şöyle yaparız
import net.sf.marineapi.nmea.event.SentenceEvent;
import net.sf.marineapi.nmea.event.SentenceListener;
import net.sf.marineapi.nmea.io.SentenceReader;
import net.sf.marineapi.nmea.sentence.GGASentence;
import net.sf.marineapi.nmea.sentence.SentenceId;

public class SentenceListenerExample implements SentenceListener {

  @Override
  public void readingPaused() {...}
  @Override
  public void readingStarted() {...}
  @Override
  public void readingStopped() {...}
  @Override
  public void sentenceRead(SentenceEvent event) {
    // Safe to cast as we are registered only for GGA updates. Could
    // also cast to PositionSentence if interested only in position data.
    // When receiving all sentences without filtering, you should check the
    // sentence type before casting (e.g. with Sentence.getSentenceId()).
    GGASentence s = (GGASentence) event.getSentence();

    // Do something with sentence data..
    System.out.println(s.getPosition());
  }
}

// create sentence reader and provide input stream
InputStream stream = new FileInputStream(file);
SentenceReader reader = new SentenceReader(stream);

// register self as a listener for GGA sentences
reader.addSentenceListener(new SentenceListenerExample (), SentenceId.GGA);
reader.start();
Örnek 
Şöyle yaparız
class GGAListener extends AbstractSentenceListener<GGASentence> {
@Override public void sentenceRead(GGASentence gga) { Position pos = gga.getPosition(); // .. your code } } File file = new File("/var/log/nmea.log"); SentenceReader reader = new SentenceReader(new FileInputStream(file)); reader.addSentenceListener(new GGAListener()); reader.start();

1. TalkerID Alanı
Cümleler $ işareti ile başlar. Daha sonra hangi cihazdan geldiğini belirtmek için 2 harflik bir alan gelir. Bu 2 harfe TalkerID de deniliyor. Mesela  GPS alıcısından geldiğini belirtmek için GP harfi eklenir. 

2. SentenceID Alanı
Sonraki 3  harf ise cümlenin amacını belirtir. Buna da SentenceID deniliyor. Bazı örnekler şöyle
$GPVTG : Velocity
$GPGLL : Position
$GPZDA : Date Time
3. Veri Alanları
Alanlar virgül ayracı ile ayrılır. Her mesajına göre değişken sayıda olabilir.

4. Checksum Alanı
Mesajın sonundaki "*" karakterinden sonra gelen sayıdır. Açıklaması şöyle
The final part is an optional two-digit checksum - optional, but all good equipment will include this to help safe-guard the data in the sentence. The checksum is preceded by the ‘*’ character and is calculated by taking the 8-bit exclusive-OR of all characters in the sentence, including ‘,’ delimiters, between but not including the ‘$’ / ’!’ and ‘*’ delimiters.
National Maritime Electronics Association - NMEA ve Hızlı Arayüzler
NMEA çok yavaş bir mesajlaşma protokolü olduğu için hızlı arayüzler gerektiren cihazlarda kullanmak için uygun değil. Örneğin bir elektro-optik sistemin NMEA kullanması beklenemez.


GPS Mesajları
GPS Mesajları yazısına taşıdım


GN Mesajları
Bazı mesajlar şöyle
GNGGA
GNGSV
GNGST
GNGSA
Wind Instrument Mesajlar
Weather Instrument Mesajları yazısına taşıdım

Seyir Radarı (Navigation Radar) Mesajlar
Seyir Radarı Mesajları yazısına taşıdım

Echo Sounder (İskandil) Mesajlar
Echo Sounder Mesajları yazısına taşıdım

Magnetic Compass (Pusula)
Magnetic Compass Mesajları yazısına taşıdım

Speed Log (Parakete)
SpeedLog Mesajları yazısına taşıdım

GyroCompass
GyroCompass Mesajları yazısına taşıdım

Navtex
Navtex Mesajları yazısına taşıdım