NMEA0183(από " National Marine Electronics Association”) είναι ένα πρότυπο που ορίζει ένα πρωτόκολλο κειμένου για την επικοινωνία του θαλάσσιου (συνήθως πλοήγησης) εξοπλισμού (ή εξοπλισμού που χρησιμοποιείται σε τρένα) μεταξύ τους. Έγινε ιδιαίτερα δημοφιλές λόγω της εξάπλωσης των δεκτών GPS που χρησιμοποιούν αυτό το πρότυπο.

Γενική άποψη των χορδών στο NMEA 0183

  • το σύμβολο "$" ή "!" (εξάγωνο 24 ή εξάγωνο 21)
  • Αναγνωριστικό μηνύματος 5 γραμμάτων. Τα δύο πρώτα γράμματα είναι το αναγνωριστικό της πηγής μηνύματος, τα επόμενα τρία γράμματα είναι το αναγνωριστικό της μορφής μηνύματος, σύμφωνα με το πρωτόκολλο NMEA 0183 μιας συγκεκριμένης έκδοσης.
  • μια λίστα δεδομένων (γράμματα, αριθμοί και τελείες) που χωρίζονται με κόμμα. Εάν λείπουν δεδομένα μέσαγραμμές, τα κόμματα εξακολουθούν να τίθενται (για παράδειγμα, ","). Μερικά πεδία στο τέλοςγραμμές μπορεί να μην υπάρχουν καθόλου.
  • σύμβολο "*".
  • άθροισμα XOR οκτώ bit όλων των χαρακτήρων (συμπεριλαμβανομένων των "," και "^") στη συμβολοσειρά μεταξύ "$" και "*" που μετατράπηκε σε δύο χαρακτήρες ASCII στο κεφαλαίογια την δεκαεξαδική αναπαράσταση ενός byte (0-9, A-F).
  • (hex 0D, hex 0A).

Το μέγιστο μήκος μηνύματος περιορίζεται στους 82 χαρακτήρες (NMEA 0183 rev 3.0)

Το πρότυπο περιγράφει περισσότερα από 250 αναγνωριστικά ακολουθίας NMEA. Το πρότυπο καθορίζει ρυθμούς baud 4800 baud. (Για ρυθμούς baud 38400 και άνω, υπάρχει ένα εκτεταμένο πρότυπο NMEA-0183-HS).

Το πρότυπο σάς επιτρέπει να προσθέσετε τα δικά σας αναγνωριστικά ακολουθίας, τα οποία χρησιμοποιούνται συχνά από τους κατασκευαστές για μεταφορά Επιπλέον πληροφορίεςσχετικά με τη λειτουργία της συσκευής.

Συμβολοσειρά RMC (ειδικό παράδειγμα)

$GPRMC,hhmmss.sss,A,GGMM.MM,P,gggmm.mm,J,v.v, b.b, ddmmyy, x.x, n,m*hh

Σημασία πεδίων:

  • "GP" - αναγνωριστικό πηγής. στο παράδειγμα που δίνεται, αυτό είναι GPS, "GL" - GLONASS, "GA" - Galileo, "GN" - GLONASS + GPS κ.λπ.
  • "RMC" - "Προτεινόμενη ελάχιστη πρόταση C"
  • "hhmmss.sss" - Χρόνος καθορισμού τοποθεσίας UTC: "ωω" - ώρες, "mm" - λεπτά, "ss.sss" - δευτερόλεπτα. Η διάρκεια του κλασματικού μέρους των δευτερολέπτων ποικίλλει. Τα προηγούμενα μηδενικά δεν παραλείπονται.
  • "A" - κατάσταση: "A" - τα δεδομένα είναι έγκυρα, "V" - άκυρα.
  • "GGMM.MM" - γεωγραφικό πλάτος. 2 ψηφία μοιρών ("GG"), 2 ψηφία ολόκληρων λεπτών, τελεία και κλασματικό μέροςλεπτά μεταβλητής διάρκειας. Τα προηγούμενα μηδενικά δεν παραλείπονται.
  • "P" - "N" για το βόρειο γεωγραφικό πλάτος ή "S" για το νότιο γεωγραφικό πλάτος.
  • "ggmm.mm" - γεωγραφικό μήκος. 3 ψηφία μοιρών ("ggg"), 2 ψηφία ολόκληρων λεπτών, μια τελεία και ένα κλασματικό μέρος των λεπτών μεταβλητής διάρκειας. Τα προηγούμενα μηδενικά δεν παραλείπονται.
  • "J" - "E" για την Ανατολή ή "W" για τη Δύση.
  • "v.v" - η οριζόντια συνιστώσα της ταχύτητας πάνω από το έδαφος σε κόμβους. Αριθμός κινητής υποδιαστολής. Ακέραια και κλασματικά μέρη μεταβλητού μήκους.
  • "b.b" - γωνία γείωσης (κατεύθυνση ταχύτητας) σε μοίρες. Αριθμός κινητής υποδιαστολής. Ακέραια και κλασματικά μέρη μεταβλητού μήκους. Η τιμή 0 αντιστοιχεί σε κίνηση βόρεια, 90 προς ανατολάς, 180 προς νότο, 270 προς δυτικά.
  • "ddmmyy" - ημερομηνία: ημέρα του μήνα, μήνας, τα τελευταία 2 ψηφία του έτους (απαιτούνται τα μηδενικά).
  • Το "x.x" είναι η μαγνητική απόκλιση σε μοίρες (συχνά λείπει), που υπολογίζεται από κάποιο μοντέλο. Αριθμός κινητής υποδιαστολής. Ακέραια και κλασματικά μέρη μεταβλητού μήκους.
  • "n" - η κατεύθυνση της μαγνητικής απόκλισης: για να ληφθεί η μαγνητική κατεύθυνση, η μαγνητική απόκλιση πρέπει να είναι "E" - αφαιρέστε, "W" - προσθέστε στην αληθινή επικεφαλίδα.
  • "m" - ένδειξη λειτουργίας: "A" - αυτόνομο, "D" - διαφορικό, "E" - προσέγγιση, "N" - αναξιόπιστα δεδομένα (συχνά λείπουν, αυτό το πεδίο συμπεριλαμβανομένου του κόμματος λείπει σε παλαιότερες εκδόσεις του NMEA).
  • "ωω" - άθροισμα ελέγχου.
  • - το byte είναι 0x0D.
  • - το byte είναι 0x0A.

Παραδείγματα συμβολοσειρών RMC

Παράδειγμα 1

$GPRMC,125504.049,A,5542.2389,N,03741.6063,E,0.06,25.82,200906,*17

Σημασία πεδίων:

  • 12 ώρες 55 λεπτά 4.049 δευτερόλεπτα UTC
  • "Ενας αξιόπιστος
  • γεωγραφικό πλάτος 55° 42,2389", βόρεια
  • γεωγραφικό μήκος 37° 41.6063", ανατολικά
  • ταχύτητα 0,06 κόμβοι

Περιγραφή του πρωτοκόλλου NMEA. Υλοποίηση σε δέκτες Garmin και GlobalSat

Εισαγωγή

Η National Marine Electronics Association (NMEA) έχει αναπτύξει ένα ειδικό πρωτόκολλο για τη διατήρηση της συμβατότητας του εξοπλισμού θαλάσσιας πλοήγησης διάφορους κατασκευαστές. Αυτό το πρωτόκολλο NMEA περιγράφει όχι μόνο δεδομένα που λαμβάνονται από δέκτες GPS, αλλά και μετρήσεις από σόναρ, ραντάρ, ηλεκτρονικές πυξίδες, βαρόμετρα και άλλες συσκευές πλοήγησης που χρησιμοποιούνται στα πλοία.

Η περισσότερη διεπαφή επικοινωνίας φορητό GPSοι δέκτες υλοποιούνται σύμφωνα με αυτή την προδιαγραφή. Τα περισσότερα προγράμματα πλοήγησης που παρέχουν προβολή δεδομένων σε πραγματικό χρόνο υποστηρίζουν και «κατανοούν» το πρωτόκολλο NMEA. Αυτά τα δεδομένα περιέχουν τις πλήρεις μετρήσεις πλοήγησης του δέκτη GPS - θέση, ταχύτητα και χρόνος. Όλα τα μηνύματα NMEA αποτελούνται από ένα διαδοχικό σύνολο δεδομένων που χωρίζονται με κόμματα. Κάθε μεμονωμένο μήνυμα είναι ανεξάρτητο από τα άλλα και είναι εντελώς «πλήρες». Το μήνυμα NMEA περιλαμβάνει μια κεφαλίδα, ένα σύνολο δεδομένων που αντιπροσωπεύονται από χαρακτήρες ASCII και ένα πεδίο "άθροισμα ελέγχου" για την επαλήθευση της εγκυρότητας των μεταδιδόμενων πληροφοριών.

Η κεφαλίδα των τυπικών μηνυμάτων NMEA αποτελείται από 5 χαρακτήρες, οι δύο πρώτοι από τους οποίους ορίζουν τον τύπο του μηνύματος και οι υπόλοιποι τρεις - το όνομά του. Για παράδειγμα, όλα τα μηνύματα GPS NMEA έχουν το πρόθεμα "GP". Μηνύματα που δεν περιγράφονται στην προδιαγραφή NMEA, αλλά υλοποιούνται σε δέκτες GPS σύμφωνα με γενικοί κανόνες, έχουν ένα πρόθεμα "P" ακολουθούμενο από τρεις χαρακτήρες μοναδικούς για κάθε εταιρεία. Για παράδειγμα, τα "εγγενή" μηνύματα NMEA της Garmin έχουν πρόθεμα "PGRM", το Magellan έχει το πρόθεμα "PMGN"
Κάθε μήνυμα NMEA ξεκινά με "$", τελειώνει με "n" ("τροφοδοσία γραμμής") και δεν μπορεί να είναι μεγαλύτερο από 80 χαρακτήρες. Όλα τα δεδομένα περιέχονται σε μία γραμμή και χωρίζονται μεταξύ τους με κόμμα. Οι πληροφορίες παρουσιάζονται ως κείμενο ASCII και δεν απαιτούν ειδική αποκωδικοποίηση. Εάν τα δεδομένα δεν χωρούν στους 80 χαρακτήρες που έχουν εκχωρηθεί, τότε "χωρίζονται" σε πολλά μηνύματα NMEA.

Αυτή η μορφή σάς επιτρέπει να μην περιορίζετε την ακρίβεια και τον αριθμό των χαρακτήρων σε μεμονωμένα πεδία δεδομένων. Για παράδειγμα, το κλασματικό μέρος της τιμής συντεταγμένων μπορεί να αναπαρασταθεί με 3 ή 4 δεκαδικά ψηφία, αλλά αυτό δεν θα πρέπει να επηρεάζει τη λειτουργία με κανέναν τρόπο. λογισμικό, το οποίο εξάγει τα απαιτούμενα δεδομένα από το μήνυμα κατά αριθμό πεδίου. Στο τέλος κάθε μηνύματος NMEA υπάρχει ένα πεδίο αθροίσματος ελέγχου που χωρίζεται από τα δεδομένα με ένα "*". Μπορεί προαιρετικά να χρησιμοποιηθεί για τον έλεγχο της ακεραιότητας και της εγκυρότητας κάθε ληφθέντος μηνύματος.

Το πρωτόκολλο NMEA υποστηρίζει όχι μόνο εξερχόμενα αλλά και εισερχόμενα μηνύματα, τα οποία, για παράδειγμα, μπορούν να χρησιμοποιηθούν για ενημέρωση ή προσθήκη σημείων διαδρομής. Αυτά τα μηνύματα πρέπει να είναι μέσα αυστηρή συμμόρφωσημε μορφή NMEA, διαφορετικά απλά θα αγνοηθούν από τον δέκτη GPS. Θα πρέπει να σημειωθεί ότι δεν υποστηρίζουν όλα τα προγράμματα πλοήγησης και τα μοντέλα δεκτών αυτήν τη λειτουργία, καθώς χρησιμοποιούν πρωτόκολλα αποκλειστικής χρήσης από κατασκευαστές - Garmin, Magellan κ.λπ. για τη φόρτωση σημείων και διαδρομών.

Από την έναρξή του, το πρωτόκολλο NMEA έχει υποστεί αρκετές τροποποιήσεις που σχετίζονται με την προσθήκη νέων πεδίων και μηνυμάτων. τρέχουσα έκδοσηυποστηρίζεται από τους περισσότερους δέκτες είναι η έκδοση 2.3, αν και η περιγραφή έχει ήδη δημοσιευτεί νέα έκδοση 3.0. Η πλήρης προδιαγραφή των μηνυμάτων NMEA δεν είναι δωρεάν διαθέσιμη και δεν μπορεί να μεταφορτωθεί επίσημα σε ηλεκτρονική μορφή, τις επιμέρους ενότητες του, γενική περιγραφήΤο πρωτόκολλο NMEA και τα πιο δημοφιλή μηνύματα βρίσκονται στο Διαδίκτυο. Η επίσημη τεκμηρίωση του NMEA μπορεί να αγοραστεί στη διεύθυνση www.nmea.org.

λίστα μηνυμάτων

Το πρωτόκολλο NMEA περιγράφει μια μεγάλη λίστα διαφορετικών μηνυμάτων, από τα οποία διακρίνονται δύο δωδεκάδες μηνύματα που χρησιμοποιούνται ενεργά στον εξοπλισμό πλοήγησης. Λόγω της μεγάλης δημοτικότητας και της απλής παρουσίασης δεδομένων, το πρωτόκολλο NMEA έχει βρει εφαρμογή όχι μόνο σε θαλάσσιο εξοπλισμό, αλλά και σε γεωδαιτικούς, οικιακούς και αεροπορικούς δέκτες GPS.

  • AAM - Άφιξη στο σημείο
  • ALM - Δεδομένα Αλμανάκ
  • APA - Δεδομένα αυτόματου πιλότου "A"
  • APB - Δεδομένα αυτόματου πιλότου "B"
  • BOD - Ρουλεμάν στον προορισμό
  • DTM - Χρησιμοποιημένο δεδομένο
  • GGA - Διορθώθηκε Πληροφορίες Λύσης
  • GLL - Δεδομένα γεωγραφικού πλάτους και μήκους
  • GSA - Γενικές Δορυφορικές Πληροφορίες
  • GSV - Λεπτομερείς Δορυφορικές Πληροφορίες
  • MSK - Παράδοση σε Βάση Δέκτη
  • MSS - Κατάσταση βασικού δέκτη
  • RMA - Συνιστώμενο σύνολο δεδομένων Loran
  • RMB - Προτεινόμενο σύνολο δεδομένων πλοήγησης GPS
  • RMC - Συνιστώμενο ελάχιστο σύνολο δεδομένων GPS
  • RTE - Πληροφορίες δρομολόγησης
  • VTG - Διάνυσμα κίνησης και ταχύτητας
  • WCV - Δεδομένα ταχύτητας κοντά στο σημείο
  • WPL - Δεδομένα σημείου πορείας
  • XTC - Σφάλμα παρακολούθησης
  • XTE - Σφάλμα μέτρησης αναχώρησης διαδρομής
  • ZTG - ώρα UTC και χρόνος που απομένει μέχρι την άφιξη στον προορισμό
  • ZDA - Ημερομηνία και ώρα.

Ορισμένα από τα μηνύματα NMEA μπορεί να περιέχουν τα ίδια πεδία δεδομένων ή μπορεί να περιέχουν ολόκληρα τα δεδομένα άλλων, μικρότερων μηνυμάτων NMEA.

ΠεριεχόμενοΜηνύματα NMEA

GGA - πληροφορίες σταθερής λύσης.
Το πιο δημοφιλές και πιο χρησιμοποιούμενο μήνυμα NMEA με πληροφορίες σχετικά με την τρέχουσα σταθερή λύση - οριζόντιες συντεταγμένες, τιμή υψομέτρου, αριθμός δορυφόρων σε χρήση και τύπος λύσης.

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0,9,545,4,M,46,9,M,*47
όπου:

  • ΓΓΑ - Κεφαλίδα
  • 123519 -Ώρα UTC 12:35:19
  • 4807.038, Β - Γεωγραφικό πλάτος, 48 μοίρες 7.038 λεπτά βόρειο γεωγραφικό πλάτος
  • 01131.000, E - Γεωγραφικό μήκος, 11 μοίρες 31.000 λεπτά Ανατολικά
  • 1 - διάλυμα τύπου, διάλυμα StandAlone
    • 0 - καμία λύση,
    • 1-αυτόνομο,
    • 2-DGPS,
    • 3-PPS,
    • 4 - σταθερό RTK,
    • 5 - μη σταθερό RTK,
    • 6 - χρήση αυτών των αδρανειακών συστημάτων,
    • 7 - χειροκίνητη λειτουργία,
    • 8 - λειτουργία προσομοίωσης
  • 08 - αριθμός χρησιμοποιημένων δορυφόρων
  • 0,9 - γεωμετρικός παράγοντας, HDOP
  • 545,4, M - ύψος πάνω από την επιφάνεια της θάλασσας σε μέτρα
  • 46,9, M - ύψος του γεωειδούς πάνω από το ελλειψοειδές WGS 84
  • [κενό πεδίο] - χρόνος που έχει παρέλθει από τη λήψη της τελευταίας διόρθωσης DGPS. Συμπληρώνεται όταν είναι ενεργοποιημένη η λειτουργία DGPS
  • [κενό πεδίο] - αριθμός αναγνώρισης σταθμός βάσης. Συμπληρώνεται όταν είναι ενεργοποιημένη η λειτουργία DGPS.

GSA- γενικές πληροφορίεςσχετικά με τους δορυφόρους.
Αυτό το μήνυμα NMEA περιέχει μια λίστα με τους δορυφόρους που χρησιμοποιούνται στον υπολογισμό θέσης και τις τιμές των γεωμετρικών παραγόντων DOP που καθορίζουν την ακρίβεια του υπολογισμού της θέσης. Οι παράμετροι DOP καθορίζονται από τη γεωμετρική διάταξη των δορυφόρων στον ουρανό. Όσο καλύτερα «κατανέμονται» οι δορυφόροι στον ουρανό, τόσο χαμηλότερο είναι το DOP και τόσο καλύτερη είναι η ακρίβεια θέσης. Ελάχιστη τιμήΤο PDOP (= 1) αντιστοιχεί σε μια κατάσταση όπου ένας δορυφόρος βρίσκεται ακριβώς πάνω από τον χρήστη και οι άλλοι 3 είναι ομοιόμορφα κατανεμημένοι γύρω στο επίπεδο του ορίζοντα. Η τιμή PDOP υπολογίζεται ως η τετραγωνική ρίζα του αθροίσματος των τετραγώνων των HDOP και VDOP.

$GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39
όπου:

  • GSA - κεφαλίδα
  • A - τύπος επιλογής μεταξύ λύσεων 2D και 3D, Αυτόματο (A-auto, M-manual)
  • 3 - τύπος διαλύματος, λύση 3D (1 - χωρίς λύση, 2 - λύση 2D, 3 - λύση 3D)
  • 04,05… - Κωδικοί PRN που χρησιμοποιούνται στον υπολογισμό της θέσης του δορυφόρου (12 πεδία)
  • 2.5 - χωρικός γεωμετρικός παράγοντας, PDOP
  • 1.3 - οριζόντιος γεωμετρικός παράγοντας, HDOP
  • 2.1 - κατακόρυφος γεωμετρικός παράγοντας, VDOP

GSV - Λεπτομερείς Δορυφορικές Πληροφορίες
Αυτό το μήνυμα NMEA περιέχει λεπτομερείς πληροφορίες για όλους τους δορυφόρους που παρακολουθούνται από τον πλοηγό GPS. Με βάση τον περιορισμό των 80 χαρακτήρων, τα δεδομένα μόνο για 4 δορυφόρους μπορούν να μεταδοθούν ως μέρος ενός μηνύματος NMEA. Αντίστοιχα, απαιτούνται 3 μηνύματα GSV για 12 δορυφόρους.
Το πεδίο SNR (Signal to Noise Ration) περιέχει τα επίπεδα των σημάτων πλοήγησης που λαμβάνονται από δορυφόρους. Θεωρητικά, η τιμή του μπορεί να κυμαίνεται από 0 έως 99 και μετράται σε dB. Στην πραγματικότητα, το επίπεδο σήματος βρίσκεται στην περιοχή των 25 ... 35 dB. Αξίζει να σημειωθεί εδώ ότι αυτή η παράμετρος δεν είναι απόλυτη και δεν είναι κατάλληλη για σύγκριση της ευαισθησίας δεκτών διαφορετικών μοντέλων και κατασκευαστών. Οι πλοηγοί GPS μπορούν να χρησιμοποιήσουν διαφορετικούς αλγόριθμους για τον υπολογισμό του επιπέδου λαμβανόμενου σήματος, γεγονός που οδηγεί σε διαφορετικά αποτελέσματα με τον ίδιο βαθμό ευαισθησίας των δεκτών.
Για κάθε ορατό δορυφόρο GPS, μεταδίδεται ένα σύνολο πληροφοριών, συμπεριλαμβανομένης της ισχύος σήματος, της ανύψωσης και του αζιμουθίου του δορυφόρου. Ο αριθμός αυτών των "συνόλων" καθορίζεται από τον συνολικό αριθμό των ορατών δορυφόρων, η τιμή των οποίων μεταδίδεται σε ξεχωριστό πεδίο.

$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75
όπου:

  • GSV - κεφαλίδα
  • 2 - αριθμός μηνυμάτων GSV σε ένα πακέτο
  • 1 - αριθμός μηνύματος στην παρτίδα (από 1 έως 3)
  • 08 - αριθμός ορατών δορυφόρων
  • 01 - δορυφορικός αριθμός
  • 40 - γωνία ανύψωσης, σε μοίρες
  • 083 - αζιμούθιο σε μοίρες
  • 46 - SNR, επίπεδο σήματος

RMC - προτεινόμενο ελάχιστο σετ Δεδομένα GPS
Αυτό το μήνυμα NMEA περιέχει ολόκληρο το σύνολο των λεγόμενων δεδομένων "PVT". Το "PVT" είναι μια κοινή συντομογραφία για "θέση, ταχύτητα, χρόνος" (θέση, ταχύτητα, χρόνος).

$GPRMC,123519,A,4807.038,N,01131.000,E,022,4,084,4,230394,003,1,W*6A

  • RMC - τίτλος
  • 123419 - ώρα UTC, 12:34:59
  • A - κατάσταση (A - ενεργό, V - παράβλεψη)
  • 4807.038,N - Γεωγραφικό πλάτος, 48 μοίρες 07.038 λεπτά βόρειο γεωγραφικό πλάτος
  • 01131.000, E - Γεωγραφικό μήκος, 11 μοίρες 31.000 λεπτά Ανατολικά
  • 022,4 - Ταχύτητα, σε κόμβους
  • 084,4 - Διεύθυνση κίνησης, σε μοίρες
  • 230394 - Ημερομηνία 23 Μαρτίου 1994
  • 003.1,W - Μαγνητικές παραλλαγές

GLL - δεδομένα γεωγραφικού πλάτους και μήκους

Μήνυμα NMEA με την τιμή των συντεταγμένων γεωγραφικού πλάτους και μήκους και τον χρόνο που υπολογίστηκε αυτή η λύση.

$GPGLL,4916.45,N,12311.12,W,225444,A,*31

  • GLL - κεφαλίδα
  • 4916,46, Β - γεωγραφικό πλάτος, 49 μοίρες 16,45 λεπτά βόρειο γεωγραφικό πλάτος
  • 12311.12 W-γεωγραφικό μήκος, 123 μοίρες 11.12 λεπτά δυτικά
  • 225444 - Διορθώστε την ώρα σε κλίμακα ώρας UTC, 22:54:44

ΣΤΟ OD - Αζιμούθιο στον προορισμό
Αυτό το μήνυμα NMEA υποδεικνύει το ρουλεμάν στον προορισμό στη λειτουργία πλοήγησης.

$GPBOD,045.,T,023.,M,DEST,START*01

  • BOD - κεφαλίδα
  • 045.,T - αληθινή κατεύθυνση προς το σημείο
  • 023.,M - μαγνητική κατεύθυνση προς το σημείο
  • DEST - αριθμός αναγνώρισης τελικό σημείο
  • START - αριθμός αναγνώρισης του σημείου εκκίνησης

$GPRMB,A,0,66,L,003,004,4917,24,N,12309,57,W,001,3,052,5,000,5,V*20

  • RMB - κεφαλίδα
  • A - Τύπος δεδομένων, (A - ενεργό, V - παράβλεψη)
  • 0,66,L - απόκλιση από την τροχιά. Η παράμετρος ορίζεται σε ναυτικά μίλια. (L-αριστερά, R-δεξιά)
  • 003 - αριθμός αναγνώρισης του σημείου εκκίνησης
  • 004 - αριθμός αναγνώρισης τελικού σημείου
  • 4917,24,N - τιμή γεωγραφικού πλάτους τερματικού σημείου, 49 μοίρες 17,24 λεπτά βόρειο γεωγραφικό πλάτος
  • 12309,57, W - τιμή γεωγραφικού μήκους του τελικού σημείου, 123 μοίρες 09,57 λεπτά δυτικά
  • 001,3 - απόσταση από το σημείο, σε ναυτικά μίλια
  • 052,5 - κατεύθυνση προς το σημείο
  • 000,5 - ταχύτητα, σε κόμβους
  • V - πληροφορίες άφιξης (A - άφιξη, V - το σημείο δεν έχει φτάσει ακόμη)

RTE - Πληροφορίες δρομολόγησης

Το μήνυμα NMEA RTE παραθέτει τα σημεία διαδρομής στην ενεργή διαδρομή. Υπάρχουν δύο τύποι μηνυμάτων RTE. Στην πρώτη περίπτωση, εμφανίζονται όλα τα σημεία. Στο δεύτερο, μόνο μια λίστα με τα εναπομείναντα σημεία που πρέπει να επισκεφτείτε κατά τη διάρκεια της διαδρομής. Λαμβάνοντας υπόψη ότι το πρωτόκολλο NMEA έχει έναν περιορισμό ότι το μήκος του μηνύματος δεν πρέπει να υπερβαίνει τους 80 χαρακτήρες, το μήνυμα RTE μπορεί να αποτελείται από πολλές γραμμές.

$GPRTE,2,1,c,0,W3IWI,DRIVWY,32CEDR,32-29,32BKLD,32-I95,32-US1,BW-32,BW-198*69

  • RTE - κεφαλίδα
  • 2 - συνολικός αριθμός μηνυμάτων για εμφάνιση της πλήρους λίστας δεδομένων
  • 1 - αριθμός μηνύματος από τη γενική λίστα
  • c - Τύπος μηνύματος RTE (c - πλήρης λίστασημεία, w - λίστα σημείων διαδρομής που πρέπει να επισκεφτείτε)
  • 0 - αναγνωριστικό διαδρομής
  • W3IWI,DRIVWY,.. - λίστα σημείων διαδρομής

Χαρακτηριστικά Garmin

Οι δέκτες Garmin υποστηρίζουν τα περισσότερα μηνύματα NMEA που περιέχουν μετρήσεις GPS, συντεταγμένες και χρόνο - GGA, GLL, GSA, GSV, RMC. Καθώς και μηνύματα πλοήγησης - RMB, BOD

Για να εμφανίσετε αυτά τα μηνύματα, πρέπει να αλλάξετε τη διεπαφή από "Garmin" σε "NMEA" στις ρυθμίσεις του δέκτη και ενδεχομένως να ορίσετε την επιθυμητή ταχύτητα. Η ίδια ταχύτητα πρέπει να ρυθμιστεί στο πρόγραμμα πλοήγησης στις ρυθμίσεις της σειριακής θύρας στην οποία είναι συνδεδεμένος ο πλοηγός.

Δυστυχώς, οι δέκτες με θύρα USB δεν υποστηρίζουν το πρωτόκολλο NMEA, περιορίζοντας τις ρυθμίσεις του μόνο στο πρωτόκολλο Garmin.

Για να εμφανίσετε πληροφορίες που εισέρχονται στη σειριακή θύρα του υπολογιστή, μπορείτε να χρησιμοποιήσετε το τερματικό Πρόγραμμα Windows, ή ένα από τα προγράμματα πλοήγησης που υποστηρίζουν αυτήν τη δυνατότητα.

Ακολουθεί μια λίστα με μηνύματα NMEA του δέκτη Garmin eMap που περιέχονται στην ίδια εποχή.

$GPRMC,135412,A,5522.8973,N,03710.1401,E,0.0,0.0,190507,9.3,E,A*1F

$GPRMB,A,,A,A*0B

$GPGGA,135412,5522.8973,N,03710.1401,E,1,04,5,4,205,2,M,15,8,M,*4A

$GPGSA,A,3,08,13,23,25,5.7,5.4,1.0*3C

$GPGSV,3,1,11,02,15,267,00,03,11,085,45,04,05,236,00,08,39,233,00*77

$GPGSV,3,2,11,10,32,308,00,13,63,109,43,16,17,037,00,23,31,111,38*77

$GPGSV,3,3,11,24,09,343,00,25,66,077,44,27,69,229,00*46

$GPGLL,5522.8973,N,03710.1401,E,135412,A,A*43

$GPBOD,T,M,*47

$PGRME,19,1,M,15,2,M,25,3,M*15

$ PGRMZ,673, στ.3*19

$ PGRMM, WGS 84*06

Εκτός από τα τυπικά μηνύματα NMEA, οι δέκτες Garmin υλοποιούν το δικό τους σύνολο μηνυμάτων, το καθένα από τα οποία περιέχει ένα πρόθεμα "GRM" στην κεφαλίδα, ένα αναγνωριστικό "M" ή "Z" που προσδιορίζει τον τύπο δεδομένων και έναν μόνο χαρακτήρα για το όνομα.

PGRME - Εκτίμηση σφάλματος θέσης

$PGRME,15,0,M,45,0,M,25,0,M*1C

  • 15,0,M - εκτίμηση του σφάλματος οριζόντιας τοποθέτησης, σε μέτρα
  • 45,0,M - εκτίμηση κάθετου σφάλματος, σε μέτρα
  • 25,0,M - ισοδύναμο σφάλμα σφαιρικής τοποθέτησης

PGRMZ - μετρήσεις ύψους

$PGRMZ,93,f,3*21

PGRMM - τρέχον δεδομένο

$PGRMM,NAD27 Καναδάς*2F

  • NAD27 Canada - το όνομα του τρέχοντος οριζόντιου σημείου

ΙδιαιτερότητεςΣερφ

Τα τσιπ Sirf GPS χρησιμοποιούνται σε διάφορα GPS πλοήγησηςεξοπλισμού, που κυμαίνονται από συμβατικές σανίδες, μέχρι φορητές και αυτοκινητοβιομηχανίες Πλοηγοί GPS. Αλλά σε αντίθεση με τους πλοηγούς, υποστηρίζουν μόνο μηνύματα NMEA που σχετίζονται με μετρήσεις GPS, υπολογισμό θέσης και χρόνου - GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

Το "Sirf" υποστηρίζει επίσης πολλά "εισερχόμενα" μηνύματα NMEA για διαμόρφωση και ρύθμιση διαφόρων παραμέτρων. Επιπλέον, το "Sirf" εφαρμόζει το δικό του δυαδικό πρωτόκολλο, το οποίο σας επιτρέπει να αλλάξετε πολύ περισσότερες ρυθμίσεις. Αυτά τα 5 "εισερχόμενα" μηνύματα NMEA ξεκινούν με το πρόθεμα $PSFR, σύμφωνα με τους κανόνες. Όλα τα μηνύματα περιέχουν ένα σταθερό σύνολο δεδομένων και τελειώνουν με τον χαρακτήρα "n" (τροφοδοσία γραμμής)

Για να διαμορφώσετε τις παραμέτρους "Sirf", χρησιμοποιήστε ειδικό πρόγραμμα Sirftech. Οι ρυθμίσεις μηνυμάτων NMEA διαμορφώνονται σε ξεχωριστό στοιχείο μενού.

$GPGGA,100643.000,5522.9036,N,03710.1282,E,1.07,1.6,209,9,M,14,9,M,0000*52

$GPGSA,A,3,31,01,23,20,11,30,14,2.1,1.6,1.4*35

$GPGSV,3,1,12,20,84,187,41,01,49,067,46,23,46,238,45,31,45,073,50*7B

$GPGSV,3,2,12,11,25,194,34,13,16,240,04,15,319,30,17,14,273,21*7A

$GPGSV,3,3,12,30,10,026,33,14,05,063,22,05,04,009,25,25,03,195,*7F

$GPRMC,100643.000,A,5522.9036,N,03710.1282,E,0.16,119.11,200507,*0D

Όπως φαίνεται από το παραπάνω παράδειγμα, οι "εργοστασιακές" ρυθμίσεις περιέχουν λιγότερα μηνύματα NMEA σε σύγκριση με τις ρυθμίσεις Garmin. Εάν είναι απαραίτητο, αυτό το σύνολο μπορεί να επεκταθεί ρυθμίζοντας την περίοδο στα μηνύματα NMEA που λείπουν.

$GPGGA,100833.000,5522.9076,N,03710.1270,E,1.07,1.3,222,4,M,14,9,M,0000*53

$GPGLL,5522.9076,N,03710.1270,E,100833.000,A*34

$GPGSA,A,3,31,01,23,20,11,30,17,2.1,1.3,1.6*31

$GPGSV,3,1,12,20,84,180,43,01,49,067,47,23,47,238,45,31,45,072,49*77

$GPGSV,3,2,12,11,24,193,26,13,16,240,26,04,15,319,24,17,13,273,31*78

$GPGSV,3,3,12,30,10,025,26,14,04,064,22,25,04,195,05,04,008,21*7C

$GPRMC,100833.000,A,5522.9076,N,03710.1270,E,0.18,4.86,200507,*00

$GPVTG,4,86,T,M,0,18,N,0,3,K*60

$GPZDA,100834.000,20.05.2007,*5A

PSFR100, PSFR102 - διαμόρφωση σειριακής θύρας

Ο αριθμός μηνύματος NMEA 100 χρησιμοποιείται για τη ρύθμιση της θύρας A, του μηνύματος 102 - θύρας Β. Το μήνυμα 100 έχει ένα πρόσθετο πεδίο που σας επιτρέπει να αλλάξετε τη διεπαφή στο δυαδικό πρωτόκολλο Sirf.

Αντίστοιχα, στο δυαδικό πρωτόκολλο υπάρχει μια εντολή που επαναφέρει τη θύρα στη μορφή NMEA. Πριν μεταβείτε σε ένα δυαδικό πρωτόκολλο, πρέπει να καταλάβετε εάν υπάρχει ένα πρόγραμμα που θα σας επιτρέψει αργότερα να επαναφέρετε το πρωτόκολλο NMEA.

$PSRF100.0.9600.8.1.0*0C

$PSRF102.9600.8.1.0*3C

  • PSRF100 - κεφαλίδα
  • 0 - παράμετρος που δείχνει σε ποια λειτουργία άλλαξε το πρωτόκολλο (0-Sirf, 1-NMEA)
  • 9600 - ταχύτητα θύρας (4800, 9600, 19200, 38400)
  • 8 - bit δεδομένων (7, 8)
  • 1 - μπιτ στοπ (0,1)
  • 0 - ζευγαρωμένο (0 - όχι, 1-μονό, 2-ζυγό)

PSFR101, PSFR104 - προετοιμασία παραμέτρων δέκτη

Τα μηνύματα NMEA με αριθμό 101 και 104 προορίζονται για την προετοιμασία παραμέτρων για τη λήψη GPS. Ο καθορισμός αυτών των παραμέτρων μπορεί να επιταχύνει τον χρόνο απόκτησης των δορυφόρων GPS. Το μήνυμα 101 ορίζει τις τρέχουσες συντεταγμένες σε μορφή XYZ, μήνυμα 104 - σε μορφή BLH (γεωγραφικό μήκος, γεωγραφικό πλάτος).

$PSRF101,-2686700,-4304200.3851624.95000.497260.921.12.3*22

$PSRF104.37.3875111,-121.97232.0.95000.237759.922.12.3*3A

  • PSRF101 - κεφαλίδα
  • 37,3875111 - γεωγραφικό πλάτος σε μοίρες
  • -121,97232 - γεωγραφικό μήκος σε μοίρες
  • 0 - ύψος, σε μέτρα
  • 95000 - μετατόπιση ρολογιού
  • 237759 - Ώρα GPS, σε δευτερόλεπτα
  • 922 - Αριθμός εβδομάδας GPS
  • 12 - αριθμός καναλιών
  • 3 - τύπος προετοιμασίας δεδομένων (1 - ζεστή εκκίνηση, 2 - θερμή εκκίνηση, 3 - προετοιμασία δεδομένων, 4 - κρύα εκκίνηση με πλήρη εκκαθάριση δεδομένων, 8 - κρύα εκκίνηση με επαναφορά εργοστασιακών ρυθμίσεων)

PSFR103 - διαμόρφωση παραγωγής Μηνύματα NMEA

Αυτό το μήνυμα NMEA σάς επιτρέπει να ορίσετε ή να ρωτήσετε την περίοδο δημιουργίας για κάθε "εξερχόμενο" μήνυμα NMEA.

$PSRF103.05.00.01.01*20

  • PSRF103 - κεφαλίδα
  • 05 - τίτλος μηνύματος
    • 00-ΓΓΑ
    • 01-GLL
    • 02-ΓΣΑ
    • 04-RMS
    • 05-VTG
  • 00 - λειτουργία (0 - ρύθμιση περιόδου, 1 - αίτημα)
  • 01 - περίοδος, σε δευτερόλεπτα (0-255)
  • 01 - παρουσία αθροίσματος ελέγχου (0 - ναι, 1 - όχι)

Αποτελέσματα πειράματος

Υπό κανονικές συνθήκες ορατότητας δορυφόρου, ο δέκτης Garmin eMap εξάγει το ακόλουθο σύνολο μηνυμάτων NMEA:

$GPRMC,104644,A,5522.8965,N,03710.1389,E,0.0,0.0,200507,9.3,E,A*16

$GPRMB,A,,A,A*0B

$GPGGA,104644,5522.8965,N,03710.1389,E, 1 ,07 ,1,2,186,6,M,15,8,M,*44

$GPGSA,A,3,01,04,13,16,20,23,31,2.1,1.2,1.7*35

$GPGSV,3,1, 10 ,01,34,070,48,04,28,311,40,11,10,190,00,13,32,249,41*7E

$GPGSV,3,2, 10 ,16,11,111,40,20,68,142,50,23,64,247,49,25,21,196,00*70

$GPGSV,3,3, 10 .30.05.012.00.31.36.055.52*7D

$GPGLL,5522.8965,N,03710.1389,E,104644,A,A*40

$GPBOD,T,M,*47

$PGRME, 6.0 ,M,7,7,M,9,8,M*29

$PGRMZ,612,f,3*1E

$PGRM, WGS 84*06

$GPRTE,1,1,c,*37

Από την ανάλυση των μηνυμάτων, φαίνεται ότι αυτή τη στιγμή ο δέκτης παρακολουθεί 10 δορυφόρους (GSV), εκ των οποίων οι 7 (GGA) χρησιμοποιούνται στον υπολογισμό θέσης. Το σφάλμα οριζόντιας τοποθέτησης είναι 6 μέτρα (RME) και ο δείκτης τύπου λύσης είναι 1 (GGA)

Εάν δημιουργήσετε συνθήκες υπό τις οποίες Σήμα GPSδεν θα γίνει αποδεκτό, τότε τα μηνύματα GGA θα περιέχουν "κενά" πεδία και η ένδειξη τύπου απόφασης θα λάβει την τιμή 0 (GGA)

$GPGGA, 0 ,00,M,M,*66

$GPGSA,A,1,,*1E

Στην "κανονική" λειτουργία, τα μηνύματα RMB και BOD περιέχουν άδεια πεδία. Μόλις επιλέχθηκε ως τελικός προορισμός το Σημείο "Δρόμος", αυτά τα πεδία "συμπληρώθηκαν" με δεδομένα. Όπως προκύπτει από την ανάλυση του μηνύματος, η απόσταση από το σημείο είναι 1.620 μίλια, το αζιμούθιο κίνησης είναι 6.3 μοίρες (BOD). Σε αυτήν την περίπτωση, το αζιμούθιο των μηνυμάτων BOD και RMB διαφέρει κατά 0,1 μοίρες.

$GPRMB,A,0,00,R,Δρόμος ,5524.501,N,03710.445,E, 1.620 ,6.4 ,V,A*59

$GPBOD, 6.3 ,T,357,0,M,Road,*74

Μετά την επιλογή της διαδρομής Home για πλοήγηση, εμφανίστηκε μια λίστα με όλα τα σημεία διαδρομής στη λίστα μηνυμάτων RTE. Και στο μήνυμα RMB - αριθμούς αναγνώρισηςσημεία έναρξης και λήξης (επόμενα) της διαδρομής.

$GPRTE,1,1,c,HOME,SLOBODA,IERUSALIM,INSTITUT*01

$GPRMB,A,9,99,R,SLOBOD,IERUSAL,5555.237,N,03649.976,E,34.346,340,6,V,A*1F

συμπέρασμα

Στις περισσότερες περιπτώσεις, ο χρήστης δεν χρειάζεται και δεν ενδιαφέρεται να μάθει ποια δεδομένα και σε ποια πεδία μεταδίδονται. Τα περισσότερα προγράμματα πλοήγησης «αναλύουν» τα δεδομένα μηνυμάτων NMEA και τα παρουσιάζουν σε μορφή φιλική προς το χρήστη - γραφήματα, διαγράμματα, πίνακες κ.λπ.

Ιδιαίτερο ενδιαφέρον παρουσιάζουν τα μηνύματα NMEA για χρήστες που θέλουν να μελετήσουν δεδομένα GPS, να υπολογίσουν μια εκτίμηση των ληφθέντων μετρήσεων ή να αναλύσουν τη συμπεριφορά των δεκτών πλοήγησης σε διάφορες συνθήκες. Υπάρχουν πολλά προγράμματα με τα οποία μπορείτε να λύσετε αυτά τα προβλήματα.

H Ωστόσο, για τη βαθιά ανάλυση δεδομένων GPS, η μορφή NMEA δεν προορίζεται, καθώς δεν περιέχει τις λεγόμενες "ακατέργαστες" μετρήσεις - ψευδο-εύρος, φάσεις, Doppler. Κάθε κατασκευαστής εξοπλισμού πλοήγησης έχει το δικό του «ανοιχτό» ή «κλειστό» πρωτόκολλο που εξάγει αυτές τις πληροφορίες.

Το NMEA είναι μια απλή και κατανοητή μορφή που επιτρέπει όχι μόνο την ανταλλαγή δεδομένων μεταξύ δεκτών GPS και προγράμματα πλοήγησης, αλλά δίνει επίσης στους χρήστες κάποια ιδέα για τις αρχές λειτουργίας του εξοπλισμού δορυφορικής πλοήγησης

Είχα την ανάγκη να δοκιμάσω μια εφαρμογή που χρησιμοποιεί δεδομένα GNSS μέσω του πρωτοκόλλου NMEA. Οφειλόταν στο γεγονός ότι δούλευα σε ένα έργο για ένα πρόγραμμα πλοήγησης αεροσκαφών, η δοκιμή στον αέρα είναι φυσικά ακριβή, η οδήγηση αυτοκινήτου με δέκτη GNSS στο έδαφος δεν είναι ιδιαίτερα βολική, επομένως ήθελα να έχω δεδομένα πρωτοκόλλου NMEA σε μια εικονική παράλληλη θύρα από υποτιθέμενο κινούμενο εξοπλισμό. Στην αρχή έψαχνα για διαφορετικό λογισμικό, σκέφτηκα ότι θα έβρισκα κάτι κατάλληλο, αλλά τα περισσότερα πληρώνονται και ο έλεγχος εξομοίωσης δεδομένων δεν είναι πολύ βολικός, αν και μιμούνται σχεδόν όλες τις παραμέτρους του προτύπου NMEA. Χρειαζόμουν όμως κάτι απλές συντεταγμένες μίμησης, ταχύτητα, καταρχήν, τίποτα περισσότερο, και χρειαζόμουν έναν αρκετά βολικό και λογικό έλεγχο. Έπρεπε λοιπόν να γράψω μια εφαρμογή αυτού του είδους σε C#.

Fly_nmea


NMEA ("National Marine Electronics Association") - το πλήρες όνομα είναι "NMEA 0183" - ένα πρωτόκολλο κειμένου για την επικοινωνία θαλάσσιου (συνήθως πλοήγησης) εξοπλισμού μεταξύ τους.
Τα δεδομένα διαβιβάζονται με τη μορφή προσφορών. Η μορφή της πρότασης έχει ως εξής:
$AAAA[,<данные>]*ωω , όπου:
$ - χαρακτήρας έναρξης πρότασης (κωδικός 24h).
AAAAA - Διεύθυνση πέντε χαρακτήρων (όνομα) της προσφοράς.
[, <данные>] - λίστα πεδίων δεδομένων που χωρίζονται με κόμμα (κωδικός 2Сh).
* - σημάδι του αθροίσματος ελέγχου (κωδικός 2Ah).
ωω - άθροισμα ελέγχου.

Παράδειγμα πρότασης:
GGA - Δεδομένα εντοπισμού θέσης GPS
Χρόνος, τόπος και δεδομένα που σχετίζονται με την παρατήρηση.
$GPGGA,hhmmss.sss,llll.ll,a,yyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxx*ωω

Χρειαζόταν να μιμηθεί τέσσερις γραμμές:

  • GLL - Συντεταγμένες τοποθεσίας
  • GSV- Ορατοί δορυφόροι
  • RMC - Προτεινόμενο ελάχιστο σύνολο δεδομένων για GPS και GLONASS
  • GSA - Συντελεστής υποβάθμισης ακρίβειας που χρησιμοποιείται για δορυφόρους πλοήγησης
Η εξομοίωση οργανώνεται με την ακόλουθη σειρά:
  • ορίσαμε τις αρχικές συντεταγμένες στο σύστημα WGS-84
  • μετά μεταβαίνουμε σε μια επίπεδη προβολή, για παράδειγμα, Mercator (χρησιμοποίησα μια έτοιμη βιβλιοθήκη C# για μετασχηματισμό συντεταγμένων)
  • γνωρίζοντας τις επίπεδες συντεταγμένες x, y, h, υλοποιούμε τη φυσική της κίνησης του αεροσκάφους ως προς τις μεταβλητές παραμέτρους μέσω GUIόπως: ρολό, γήπεδο, ταχύτητα
  • μετατρέψτε τις επίπεδες συντεταγμένες σε συντεταγμένες B, L, H του συστήματος WGS-84
  • σχηματίζουμε ένα πακέτο μηνυμάτων του προτύπου NMEA από τις απαιτούμενες τέσσερις γραμμές
  • στείλτε τα στην εικονική παράλληλη θύρα
Fly_nmea+Αισθητήρας Android
Για πιο βολική δοκιμή, ρύθμισα επίσης τη λήψη δεδομένων από Αισθητήρες Android(γωνίες κλίσης). Το Android στέλνει δύο συμβολοσειρές όπως αυτή μέσω UDP:
  • "Γωνία:\t236.04152\t-1.0\t-3.0"
  • "acc:\t-0.46309182\t-0.14982383\t-10.56939"
Στην εφαρμογή εξομοίωσης, τα αποδέχομαι και, με βάση τις γωνίες κλίσης, αλλάζω τις παραμέτρους:
  • Πίσσα
Στην εφαρμογή εξομοίωσης, μπορείτε να μεταβείτε από τον έλεγχο μέσω της διεπαφής του προγράμματος στο Android Sensor.
Σύνδεση Fly_nmea
Για την εξομοίωση των θυρών COM, ο Εξομοιωτής Εικονικών Σειριακών Θυρών είναι επίσης χρήσιμος, θα χρειαστεί να διαμορφώσετε τη σύνδεση δύο εικονικών θυρών COM, για παράδειγμα: COM1<->COM6, και το πρόγραμμα Fly_nmea θα στείλει δεδομένα στο COM6, και στο COM1, ένα πρόγραμμα που χρησιμοποιεί το πρωτόκολλο NMEA θα τα πάρει.

συμπέρασμα

Γενικά, αφιέρωσα περισσότερο χρόνο ψάχνοντας για τέτοιο λογισμικό, και μη βρίσκοντας ότι θα μείνω απόλυτα ικανοποιημένος, το έγραψα μόνος μου πιο γρήγορα. Εκτός από το έργο στο οποίο δούλευα, κατάφερα επίσης να συνδέσω με μεγάλη επιτυχία τον εξομοιωτή με προγράμματα που κατανοούν το πρωτόκολλο NMEA, όπως: 2Gis και SAS planet.



FlyNMEA και αισθητήρας android (έργο για τη μετάδοση δεδομένων από αισθητήρες μέσω UDP)

NMEA0183– Πρωτόκολλο επικοινωνίας κειμένου που χρησιμοποιείται σε μονάδες δέκτη GPS. Αυτό το πρότυπο δημιουργήθηκε για την επικοινωνία θαλάσσιου εξοπλισμού πλοήγησης. Το πρωτόκολλο προβλέπει τη μετάδοση εντολών κειμένου και μηνυμάτων χρησιμοποιώντας χαρακτήρες ASCII. Έτσι, για να λάβετε μηνύματα, αρκεί να χρησιμοποιήσετε σειριακή διεπαφή UART, ενώ όλα τα μηνύματα μπορούν να μεταδοθούν απευθείας σε έναν υπολογιστή χρησιμοποιώντας μια θύρα COM για αυτό, χωρίς όμως να ξεχνάμε την ανάγκη μετατροπής των επιπέδων σήματος.

Η μονάδα GPS μεταδίδει μηνύματα σε διαφορετικές μορφές που περιέχουν διαφορετικό σύνολο δεδομένων: γεωγραφικό πλάτος και μήκος, ταχύτητα, κατεύθυνση, ώρα, αριθμός δορυφόρων κ.λπ. Τα μηνύματα μεταδίδονται διαδοχικά και χωρίζονται σε διάφορους τύπους, η μορφή κάθε τύπου μηνύματος περιέχει αυστηρά καθορισμένες πληροφορίες στα πεδία του. Ας ρίξουμε μια πιο προσεκτική ματιά στη γενική δομή των μηνυμάτων που εκδίδει η μονάδα GPS.

$ - κάθε μήνυμα ξεκινά με αυτόν τον χαρακτήρα

Ακολουθείται από ένα αναγνωριστικό 5 χαρακτήρες κειμένου. Τα δύο πρώτα γράμματα υποδεικνύουν τον τύπο του συστήματος πλοήγησης, για παράδειγμα "GP" - GPSή " GL" - Glonassκαι τα λοιπά. Οι επόμενοι 3 χαρακτήρες είναι το αναγνωριστικό μορφής μηνύματος, το οποίο καθορίζει πλήρως το περιεχόμενο των επόμενων μεταδιδόμενων δεδομένων. Για παράδειγμα "RMC"- αυτά είναι τα προτεινόμενα ελάχιστα δεδομένα, τα οποία περιέχουν πληροφορίες σχετικά με την ώρα και την ημερομηνία, το γεωγραφικό πλάτος και μήκος, την ταχύτητα, την κατεύθυνση και τη μαγνητική απόκλιση σε μοίρες (ενδέχεται να λείπουν). Ή Γ.Σ.Α., τα δορυφορικά δεδομένα θα μεταδοθούν εδώ. Η δομή των κύριων τύπων μηνυμάτων θα συζητηθεί παρακάτω.

Μετά ακολουθεί «,» - ένα κόμμα, μετά το οποίο ακολουθεί αμέσως το σώμα του μηνύματος με διάφορα δεδομένα, τα οποία χωρίζονται μεταξύ τους με το ίδιο κόμμα. Εάν ο μεταδιδόμενος αριθμός δεν είναι ακέραιος, τότε το διαχωριστικό μεταξύ του ακέραιου και του κλασματικού μέρους είναι μια τελεία «.» .

Το τέλος του σώματος του μηνύματος υποδεικνύεται με το σύμβολο «*» . Ακολουθεί ένα άθροισμα ελέγχου όλων των χαρακτήρων που περιέχονται μεταξύ "$" και "*", δηλαδή ολόκληρου του σώματος του μηνύματος, συμπεριλαμβανομένων των ίδιων των δεδομένων και των αναγνωριστικών στην αρχή του μηνύματος. Το άθροισμα ελέγχου υπολογίζεται ως XOR (αποκλειστικό OR) όλων των δεκαεξαδικών κωδικών ASCII των χαρακτήρων του μηνύματος.

Και στο τέλος κάθε μηνύματος, πρέπει να ακολουθούν χαρακτήρες ροής γραμμής

Εξετάστε το σκοπό και τη δομή διάφοροι τύποιμηνύματα.

RMC– συνιστώμενα ελάχιστα δεδομένα πλοήγησης. Το μήνυμα περιέχει τον ελάχιστο απαιτούμενο όγκο πληροφοριών. Αυτά είναι δεδομένα για γεωγραφικό πλάτος και μήκος, ημερομηνία και ώρα, ταχύτητα. Για πολλές εργασίες, δεν χρειάζονται περισσότερες, για παράδειγμα, στη μονάδα Quectel L50Απενεργοποίησα τη μετάδοση όλων των άλλων τύπων μηνυμάτων, καθώς δεν χρειάζομαι απολύτως πληροφορίες σχετικά με τους δορυφόρους και το επίπεδο των σημάτων τους. Και η λήψη υπερβολικών πληροφοριών απαιτεί την πολυπλοκότητα του προγράμματος για την επεξεργασία αυτών των δεδομένων. Η δομή του μηνύματος είναι:

$GPRMC, χμμμς.σσς,ΕΝΑ,ηδμμ.μμμ,Ν,ηδμμ. μμμμ , μι,v.v,ντο. ντο, ημμμυυυυ,x.x,n,Μ*ωω

Αυτό το μήνυμα περιέχει τα ακόλουθα δεδομένα:

  • GPRMCδορυφορικό σύστημα GPS, Αναγνωριστικό μηνύματος RMC
  • χμμμς.σσς– χρόνος (μέσος χρόνος Γκρήνουιτς), όπου ωω – ώρες, mm – λεπτά, σσ.σσ. – δευτερόλεπτα
  • ΕΝΑ- τα δεδομένα είναι σωστά ή V- τα δεδομένα δεν είναι έγκυρα. Σύμβολο ΕΝΑστο μήνυμα θα εμφανίζεται όταν η δορυφορική λήψη είναι αρκετά ισχυρή για να υπολογίσει τα δεδομένα θέσης. Σύμβολο Vθα είναι όταν ο δέκτης δεν βλέπει τους δορυφόρους ή όταν ο αριθμός των δορυφόρων που βρέθηκαν δεν είναι αρκετός για τον αξιόπιστο υπολογισμό των συντεταγμένων. Για παράδειγμα, εάν ενεργοποιήσετε τη μονάδα GPS κάπου σε ένα πάνελ και μακριά από τα παράθυρα, πιθανότατα θα δείτε το σύμβολο Vστο ληφθέν μήνυμα.
  • ηδμμ.μμμ- γεωγραφικό πλάτος, μοίρες και λεπτά
  • Νή μικρό- βόρεια ή νότια. Το ημισφαίριο στο οποίο βρίσκεστε. Αν είσαι στην Αυστραλία θα δείξει μικρό. Στο Γεκατερίνμπουργκ, η μονάδα GPS μου βγαίνει Ν.
  • ηδμμ.μμμ- γεωγραφικό μήκος, μοίρες και λεπτά
  • μιή W- δυτικό ή ανατολικό ημισφαίριο
  • v.v- ταχύτητα σε κόμβους
  • ντο. ντο– κατεύθυνση πάνω από το έδαφος σε μοίρες. Όταν κινείται προς βορρά, η θερμοκρασία θα είναι 0 βαθμοί.
  • ημμμυυυυ- η ημερομηνία
  • x.x– μαγνητική απόκλιση
  • nείναι η κατεύθυνση της μαγνητικής απόκλισης. Δεν μπορώ να εξηγήσω τίποτα για αυτές τις δύο τελευταίες παραμέτρους. Για παράδειγμα η ενότητα μου GPS Quectel L50κατά την παραλαβή στο διαμέρισμα στο παράθυρο, αυτά τα δεδομένα δεν φάνηκαν καθόλου, απλώς το έχασα.
  • Μ– λειτουργία πλοήγησης: Ν- Μη έγκυρα δεδομένα ΕΝΑ- αυτόνομο, ρε– διαφορικό

Ακολουθεί ένα παράδειγμα μηνύματος RMC:

$GPRMC,105954.000,A,3150.6731,N,11711.9399,E,0.00,96.10,250313,A*53

  • GMT 10h 59m 54sec
  • ΕΝΑ- τα στοιχεία είναι σωστά
  • Γεωγραφικό πλάτος 31 μοίρες και 50,6371 λεπτά
  • Ν– βόρεια
  • Γεωγραφικό μήκος 117 μοίρες 11,9399 λεπτά
  • μι– ανατολική
  • Ταχύτητα 0,00 κόμβοι
  • Καλά 96,1 μοίρες
  • η ημερομηνία 25 Μαρτίου 2013
  • Στοιχεία για μαγνητική απόκλισηλείπει
  • Λειτουργία - αυτονόμος
  • Άθροισμα ελέγχου χαρακτήρων μηνύματος 0x053

Εδώ είναι απαραίτητο να σημειώσουμε μια απόχρωση. Τα δεδομένα γεωγραφικού πλάτους και μήκους περιέχουν ένα κλασματικό μέρος των λεπτών, το οποίο δεν αντιστοιχεί καθόλου στον αριθμό των «δευτερόλεπτων», αφού είναι δεκαδικό κλάσμα. Αυτά τα προγράμματα για εργασία με GPS, που έχω δοκιμάσει, δείχνουν τις συντεταγμένες στον χάρτη με ακρίβεια. Αλλά αν εισαγάγετε αυτούς τους αριθμούς στη γραμμή αναζήτησης χάρτες google, τότε η τοποθεσία στον χάρτη θα αποδειχθεί ότι απέχει αρκετά χιλιόμετρα από την πραγματική. Κατά την εισαγωγή των λαμβανόμενων συντεταγμένων σε αυτήν την περίπτωση, είναι απαραίτητο να διαιρέσετε το κλασματικό τμήμα του γεωγραφικού πλάτους και μήκους με το 60 για να μετατρέψετε αυτούς τους αριθμούς σε "δευτερόλεπτα". Όταν συνδέετε τη μονάδα Quectel L50 για πρώτη φορά και εισάγετε τις λαμβανόμενες συντεταγμένες γεωγραφικού πλάτους και μήκους στη γραμμή αναζήτηση Googleχάρτες, πήρα τη θέση στον χάρτη με σημαντικό σφάλμα, ο χάρτης έδειξε ένα μέρος κάπου στην περιοχή Uralmash.

Ακολουθούν ορισμένοι ακόμη τύποι μηνυμάτων που χρησιμοποιούνται σε αυτό το πρωτόκολλο:

  • VTG- πραγματική ταχύτητα κατεύθυνσης και εδάφους
  • ΓΓΑ- δεδομένα επιδιόρθωσης τελευταίας θέσης
  • GSA- δεδομένα για ενεργούς δορυφόρους
  • GSV- δεδομένα για ορατούς δορυφόρους, τη θέση και τους αριθμούς τους, καθώς και την ισχύ του σήματος
  • GLL- δεδομένα γεωγραφικού πλάτους, γεωγραφικού μήκους και χρόνου
  • ZDA- δεδομένα ώρας και ημερομηνίας

Δεν ανέλυσα λεπτομερώς από τι αποτελείται κάθε μήνυμα, στο τέλος του άρθρου δίνεται σύνδεσμος προς ένα έγγραφο που περιγράφει το πρωτόκολλο. Ένας συγκεκριμένος τύπος μονάδας GPS ενδέχεται να μην μεταδίδει όλα τα δεδομένα που αναφέρονται. Μπορείτε να απενεργοποιήσετε ή να ενεργοποιήσετε τη μετάδοση διαφόρων τύπων δεδομένων, καθώς και να ορίσετε την περίοδο για την έκδοσή τους. Για να διαμορφώσετε τη μονάδα, υπάρχουν ειδικές εντολές που ξεκινούν με ένα αναγνωριστικό $PSRFxxx, όπου xxxκαθορίζει τον τύπο και τη μορφή της εντολής, όπως και στα εξερχόμενα μηνύματα.

Για παράδειγμα, η εντολή $PSRF100.0.9600.8.1.0*0C ορίζει το πρωτόκολλο ανταλλαγής και διαμορφώνει τις παραμέτρους της σειριακής θύρας.

  • 100 $ PSRF -Αναγνωριστικό εντολής εγγενούς πρωτοκόλλου SIRF
  • 0 – δυαδικό πρωτόκολλο SIRF, 1 - Πρωτόκολλο NMEA
  • 9600 – ταχύτητα bps
  • 8 bit δεδομένων
  • 1 σταμάτα λίγο
  • 0 - Ο έλεγχος ισοτιμίας είναι απενεργοποιημένος

Ομάδα $PSRF103.00.00.02.01*26 διαμορφώνει τις παραμέτρους εξόδου για διάφορους τύπους μηνυμάτων μονάδας:

  • $PSRF103– Αναγνωριστικό εντολής εγγενούς πρωτοκόλλου SIRF
  • τότε μετά το κόμμα υπάρχουν δύο ψηφία που καθορίζουν τον τύπο του προσαρμοσμένου μηνύματος: 00 - GGA
    01-GLL
    02-ΓΣΑ
    03-GSV
    04-RMC
    05-VTG
  • τα επόμενα δύο ψηφία ορίζουν τη σειρά με την οποία εκδίδονται τα μηνύματα, για παράδειγμα: 00 - περιοδικά
    01 - κατόπιν αιτήματος
  • οι ακόλουθοι αριθμοί ορίζουν την περίοδο αναφοράς σε δευτερόλεπτα: 00 = Off (τα μηνύματα είναι απενεργοποιημένα)
    1-255 - διάστημα μεταξύ μηνυμάτων αυτού του τύπουσε δευτερόλεπτα
  • στη συνέχεια ενεργοποιήστε/απενεργοποιήστε τη μετάδοση του αθροίσματος ελέγχου στο μήνυμα NMEA που μεταδίδεται από τη μονάδα: 00 – η μετάδοση του αθροίσματος ελέγχου είναι απενεργοποιημένη
    01 - το άθροισμα ελέγχου μεταδίδεται
  • μετά τον χαρακτήρα «*», όπως στο εξερχόμενο μήνυμα NMEA, μεταδίδεται ένα άθροισμα ελέγχου και οι χαρακτήρες τροφοδοσίας γραμμής.

Αυτό ήταν το μόνο που ήθελα να περιγράψω εν συντομία το πρωτόκολλο NMEA 0183 και τις εντολές για τον έλεγχο της μονάδας στο chipset SIRF. Μια πιο λεπτομερής εξήγηση όλων αυτών των μηνυμάτων και εντολών δίνεται, για παράδειγμα, στην περιγραφή του πρωτοκόλλου μονάδας Quectel L50, το οποίο μπορείτε να λάβετε από τον παρακάτω σύνδεσμο.

Περιγραφή του πρωτοκόλλου NMEA.

Υλοποίηση σε δέκτες Garmin και GlobalSat

Εισαγωγή

Η National Marine Electronics Association (NMEA) έχει αναπτύξει ένα πρωτόκολλο για τη διατήρηση της διαλειτουργικότητας μεταξύ εξοπλισμού θαλάσσιας πλοήγησης διαφορετικών κατασκευαστών. Αυτό το πρωτόκολλο NMEA περιγράφει όχι μόνο δεδομένα που λαμβάνονται από δέκτες GPS, αλλά και μετρήσεις από σόναρ, ραντάρ, ηλεκτρονικές πυξίδες, βαρόμετρα και άλλες συσκευές πλοήγησης που χρησιμοποιούνται στα πλοία. Η διεπαφή ανταλλαγής δεδομένων των περισσότερων φορητών δεκτών GPS υλοποιείται σύμφωνα με την προδιαγραφή NMEA. Τα περισσότερα προγράμματα πλοήγησης που παρέχουν προβολή δεδομένων σε πραγματικό χρόνο υποστηρίζουν και «κατανοούν» το πρωτόκολλο NMEA. Αυτά τα δεδομένα περιέχουν τις πλήρεις μετρήσεις πλοήγησης του δέκτη GPS - θέση, ταχύτητα και χρόνος. Όλα τα μηνύματα NMEA αποτελούνται από ένα διαδοχικό σύνολο δεδομένων που χωρίζονται με κόμματα. Κάθε μεμονωμένο μήνυμα είναι ανεξάρτητο από τα άλλα και είναι εντελώς «πλήρες». Το μήνυμα NMEA περιλαμβάνει μια κεφαλίδα, ένα σύνολο δεδομένων που αντιπροσωπεύονται από χαρακτήρες ASCII και ένα πεδίο "άθροισμα ελέγχου" για την επαλήθευση της εγκυρότητας των μεταδιδόμενων πληροφοριών. Η κεφαλίδα των τυπικών μηνυμάτων NMEA αποτελείται από 5 χαρακτήρες, από τους οποίους οι δύο πρώτοι ορίζουν τον τύπο του μηνύματος και οι υπόλοιποι τρεις - το όνομά του. Για παράδειγμα, όλα τα μηνύματα GPS NMEA έχουν το πρόθεμα "GP". Τα μηνύματα που δεν περιγράφονται στην προδιαγραφή NMEA, αλλά εφαρμόζονται σε δέκτες GPS σύμφωνα με κοινούς κανόνες, έχουν ένα πρόθεμα "P" ακολουθούμενο από τρεις χαρακτήρες μοναδικούς για κάθε εταιρεία. Για παράδειγμα, τα "ιδιόκτητα" μηνύματα NMEA της Garmin έχουν πρόθεμα "PGRM", το Magellan έχει το πρόθεμα "PMGN". Κάθε μήνυμα NMEA ξεκινά με "$", τελειώνει με "\n" ("τροφοδοσία γραμμής") και δεν μπορεί να είναι μεγαλύτερο από 80 χαρακτήρες. Όλα τα δεδομένα περιέχονται σε μία γραμμή και χωρίζονται μεταξύ τους με κόμμα. Οι πληροφορίες παρουσιάζονται ως κείμενο ASCII και δεν απαιτούν ειδική αποκωδικοποίηση. Εάν τα δεδομένα δεν χωρούν στους 80 χαρακτήρες που έχουν εκχωρηθεί, τότε "χωρίζονται" σε πολλά μηνύματα NMEA. Αυτή η μορφή σάς επιτρέπει να μην περιορίζετε την ακρίβεια και τον αριθμό των χαρακτήρων σε μεμονωμένα πεδία δεδομένων. Για παράδειγμα, το κλασματικό μέρος της τιμής συντεταγμένων μπορεί να αναπαρασταθεί με 3 ή 4 δεκαδικά ψηφία, αλλά αυτό δεν θα πρέπει να επηρεάζει τη λειτουργία του λογισμικού που εξάγει τα απαραίτητα δεδομένα από το μήνυμα κατά αριθμό πεδίου. Στο τέλος κάθε μηνύματος NMEA υπάρχει ένα πεδίο αθροίσματος ελέγχου που χωρίζεται από τα δεδομένα με ένα "*". Μπορεί προαιρετικά να χρησιμοποιηθεί για τον έλεγχο της ακεραιότητας και της εγκυρότητας κάθε ληφθέντος μηνύματος. Το πρωτόκολλο NMEA υποστηρίζει όχι μόνο εξερχόμενα αλλά και εισερχόμενα μηνύματα, τα οποία, για παράδειγμα, μπορούν να χρησιμοποιηθούν για ενημέρωση ή προσθήκη σημείων διαδρομής. Αυτά τα μηνύματα πρέπει να σχηματίζονται αυστηρά σύμφωνα με τη μορφή NMEA, διαφορετικά, απλώς θα αγνοηθούν από τον δέκτη GPS. Θα πρέπει να σημειωθεί ότι δεν υποστηρίζουν όλα τα προγράμματα πλοήγησης και τα μοντέλα δεκτών αυτή τη λειτουργία, καθώς χρησιμοποιούν πρωτόκολλα αποκλειστικής χρήσης κατασκευαστών όπως Garmin, Magellan κ.λπ. για τη φόρτωση σημείων και διαδρομών. Από την έναρξή του, το πρωτόκολλο NMEA έχει υποστεί αρκετές τροποποιήσεις που σχετίζονται με την προσθήκη νέων πεδίων και μηνυμάτων. Η τρέχουσα έκδοση που υποστηρίζεται από τους περισσότερους δέκτες είναι η έκδοση 2.3, αν και η περιγραφή της νέας έκδοσης 3.0 έχει ήδη δημοσιευτεί. Η πλήρης προδιαγραφή των μηνυμάτων NMEA δεν είναι ελεύθερα διαθέσιμη και δεν μπορεί να ληφθεί επίσημα σε ηλεκτρονική μορφή.Οι επιμέρους ενότητες του, μια γενική περιγραφή του πρωτοκόλλου NMEA και τα πιο δημοφιλή μηνύματα βρίσκονται στο Διαδίκτυο. Μπορείτε να αγοράσετε επίσημα τεκμηρίωση NMEA στη διεύθυνση http://www.nmea.org/.

λίστα μηνυμάτων

Το πρωτόκολλο NMEA περιγράφει μια μεγάλη λίστα διαφορετικών μηνυμάτων, από τα οποία διακρίνονται δύο δωδεκάδες μηνύματα που χρησιμοποιούνται ενεργά στον εξοπλισμό πλοήγησης. Λόγω της μεγάλης δημοτικότητας και της απλής παρουσίασης δεδομένων, το πρωτόκολλο NMEA έχει βρει εφαρμογή όχι μόνο σε θαλάσσιο εξοπλισμό, αλλά και σε γεωδαιτικούς, οικιακούς και αεροπορικούς δέκτες GPS.

    AAM - Άφιξη στο σημείο

    ALM - Δεδομένα Αλμανάκ

    APA - Δεδομένα αυτόματου πιλότου "A"

    APB - Δεδομένα αυτόματου πιλότου "B"

    BOD - Ρουλεμάν στον προορισμό

    DTM - Χρησιμοποιημένο δεδομένο

    GGA - Διορθώθηκε Πληροφορίες Λύσης

    GLL - Δεδομένα γεωγραφικού πλάτους και μήκους

    GSA - Γενικές Δορυφορικές Πληροφορίες

    GSV - Λεπτομερείς Δορυφορικές Πληροφορίες

    MSK - Παράδοση σε Βάση Δέκτη

    MSS - Κατάσταση βασικού δέκτη

    RTE - Πληροφορίες δρομολόγησης VTG - Διάνυσμα κίνησης και ταχύτητας

    WCV - Δεδομένα ταχύτητας κοντά στο σημείο

    WPL - Δεδομένα σημείου πορείας

    XTC - Σφάλμα παρακολούθησης

    XTE - Σφάλμα μέτρησης αναχώρησης διαδρομής

    ZTG - ώρα UTC και χρόνος που απομένει μέχρι την άφιξη στον προορισμό

    ZDA - Ημερομηνία και ώρα.

Ορισμένα από τα μηνύματα NMEA μπορεί να περιέχουν τα ίδια πεδία δεδομένων ή μπορεί να περιέχουν ολόκληρα τα δεδομένα άλλων, μικρότερων μηνυμάτων NMEA.

GGA - πληροφορίες σταθερής λύσης.

Το πιο δημοφιλές και πιο χρησιμοποιούμενο μήνυμα NMEA με πληροφορίες σχετικά με την τρέχουσα σταθερή λύση - οριζόντιες συντεταγμένες, τιμή υψομέτρου, αριθμός δορυφόρων σε χρήση και τύπος λύσης.

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0,9,545,4,M,46,9,M,*47

Κεφαλίδα GGA - NMEA

123519 –Ώρα UTC 12:35:19

4807.038, Β - Γεωγραφικό πλάτος, 48 μοίρες 7.038 λεπτά βόρειο γεωγραφικό πλάτος

01131.000, E - Γεωγραφικό μήκος, 11 μοίρες 31.000 λεπτά Ανατολικά

1 - διάλυμα τύπου, διάλυμα StandAlone

08 - αριθμός χρησιμοποιημένων δορυφόρων

0,9 - γεωμετρικός παράγοντας, HDOP

545,4, M - ύψος πάνω από την επιφάνεια της θάλασσας σε μέτρα

46,9, M είναι το ύψος του γεωειδούς πάνω από το ελλειψοειδές WGS 84

[κενό πεδίο] – χρόνος που έχει παρέλθει από τη λήψη της τελευταίας διόρθωσης DGPS. Συμπληρώνεται όταν είναι ενεργοποιημένη η λειτουργία DGPS

[κενό πεδίο] – αριθμός αναγνώρισης σταθμού βάσης. Συμπληρώνεται όταν είναι ενεργοποιημένη η λειτουργία DGPS.

GSA - γενικές πληροφορίες για δορυφόρους.

Αυτό το μήνυμα NMEA περιέχει μια λίστα με τους δορυφόρους που χρησιμοποιούνται στον υπολογισμό θέσης και τις τιμές των γεωμετρικών παραγόντων DOP που καθορίζουν την ακρίβεια του υπολογισμού της θέσης. Οι παράμετροι DOP καθορίζονται από τη γεωμετρική διάταξη των δορυφόρων στον ουρανό. Όσο καλύτερα «κατανέμονται» οι δορυφόροι στον ουρανό, τόσο χαμηλότερο είναι το DOP και τόσο καλύτερη είναι η ακρίβεια θέσης. Η ελάχιστη τιμή PDOP (= 1) αντιστοιχεί στην κατάσταση όταν ένας δορυφόρος βρίσκεται ακριβώς πάνω από τον χρήστη και οι άλλοι 3 είναι ομοιόμορφα κατανεμημένοι γύρω στο επίπεδο του ορίζοντα. Η τιμή PDOP υπολογίζεται ως η τετραγωνική ρίζα του αθροίσματος των τετραγώνων των HDOP και VDOP.

$GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39

    Κεφαλίδα GSA - NMEA

    A - τύπος επιλογής μεταξύ λύσεων 2D και 3D, Αυτόματο (A-auto, M-manual)

    3 – τύπος λύσης, λύση 3D (1 – χωρίς λύση, 2 – λύση 2D, 3 – λύση 3D)

    04,05… - Κωδικοί PRN που χρησιμοποιούνται στον υπολογισμό της θέσης του δορυφόρου (12 πεδία)

    2.5 - χωρικός γεωμετρικός παράγοντας, PDOP

    1.3 - οριζόντιος γεωμετρικός παράγοντας, HDOP

    2.1 - κατακόρυφος γεωμετρικός παράγοντας, VDOP

GSV - Λεπτομερείς Δορυφορικές Πληροφορίες

Αυτό το μήνυμα NMEA περιέχει λεπτομερείς πληροφορίες για όλους τους δορυφόρους που παρακολουθούνται από τον πλοηγό GPS. Με βάση τον περιορισμό των 80 χαρακτήρων, τα δεδομένα μόνο για 4 δορυφόρους μπορούν να μεταδοθούν ως μέρος ενός μηνύματος NMEA. Αντίστοιχα, απαιτούνται 3 μηνύματα GSV για 12 δορυφόρους. Το πεδίο SNR (Signal to Noise Ration) περιέχει τα επίπεδα των σημάτων πλοήγησης που λαμβάνονται από δορυφόρους. Θεωρητικά, η τιμή του μπορεί να κυμαίνεται από 0 έως 99 και μετράται σε dB. Στην πραγματικότητα, το επίπεδο σήματος βρίσκεται στην περιοχή των 25 ... 35 dB. Αξίζει να σημειωθεί εδώ ότι αυτή η παράμετρος δεν είναι απόλυτη και δεν είναι κατάλληλη για σύγκριση της ευαισθησίας δεκτών διαφορετικών μοντέλων και κατασκευαστών. Οι πλοηγοί GPS μπορούν να χρησιμοποιήσουν διαφορετικούς αλγόριθμους για τον υπολογισμό του επιπέδου λαμβανόμενου σήματος, γεγονός που οδηγεί σε διαφορετικά αποτελέσματα με τον ίδιο βαθμό ευαισθησίας των δεκτών. Για κάθε ορατό δορυφόρο GPS, μεταδίδεται ένα σύνολο πληροφοριών, συμπεριλαμβανομένης της ισχύος σήματος, της ανύψωσης και του αζιμουθίου του δορυφόρου. Ο αριθμός αυτών των "συνόλων" καθορίζεται από τον συνολικό αριθμό των ορατών δορυφόρων, η τιμή των οποίων μεταδίδεται σε ξεχωριστό πεδίο.

$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75

    GSV - Κεφαλίδα NMEA

    2 - αριθμός μηνυμάτων GSV σε ένα πακέτο

    1 – αριθμός μηνύματος στο πακέτο (από 1 έως 3)

    08 - αριθμός ορατών δορυφόρων

    01 - δορυφορικός αριθμός

    40 - γωνία ανύψωσης, σε μοίρες

    083 - αζιμούθιο σε μοίρες

    46 - SNR, επίπεδο σήματος

Αυτό το μήνυμα NMEA περιέχει ολόκληρο το σύνολο των λεγόμενων δεδομένων "PVT". Το "PVT" είναι μια κοινή συντομογραφία για "θέση, ταχύτητα, χρόνος" (θέση, ταχύτητα, χρόνος).

$GPRMC,123519,A,4807.038,N,01131.000,E,022,4,084,4,230394,003,1,W*6A

    Κεφαλίδα RMC - NMEA

    123419 - ώρα UTC, 12:34:59

    A - κατάσταση (A-ενεργό, V-ignore)

    4807.038,N - Γεωγραφικό πλάτος, 48 μοίρες 07.038 λεπτά βόρειο γεωγραφικό πλάτος

    01131.000, E - Γεωγραφικό μήκος, 11 μοίρες 31.000 λεπτά Ανατολικά

    022,4 - Ταχύτητα, σε κόμβους

    003.1,W - Μαγνητικές παραλλαγές

GLL - δεδομένα γεωγραφικού πλάτους και μήκους

Μήνυμα NMEA με την τιμή των συντεταγμένων γεωγραφικού πλάτους και μήκους και τον χρόνο που υπολογίστηκε αυτή η λύση.

$GPGLL,4916.45,N,12311.12,W,225444,A,*31

    GLL - Κεφαλίδα NMEA

    4916,46, Β - γεωγραφικό πλάτος, 49 μοίρες 16,45 λεπτά βόρειο γεωγραφικό πλάτος

    12311.12 W-γεωγραφικό μήκος, 123 μοίρες 11.12 λεπτά δυτικά

    225444 - Διορθώστε την ώρα σε κλίμακα ώρας UTC, 22:54:44

BOD - Αζιμούθιο στον προορισμό

Αυτό το μήνυμα NMEA υποδεικνύει το ρουλεμάν στον προορισμό στη λειτουργία πλοήγησης.

$GPBOD,045.,T,023.,M,DEST,START*01

    Κεφαλίδα BOD - NMEA

    045.,T – αληθινή κατεύθυνση προς το σημείο

    023.,M – μαγνητική κατεύθυνση προς το σημείο

    DEST - αριθμός αναγνώρισης τελικού σημείου

    START - αριθμός αναγνώρισης του σημείου εκκίνησης

$GPRMB,A,0,66,L,003,004,4917,24,N,12309,57,W,001,3,052,5,000,5,V*20

    Κεφαλίδα RMB - NMEA

    A - Τύπος δεδομένων, (A - ενεργό, V - παράβλεψη)

    0,66,L - απόκλιση από την τροχιά. Η παράμετρος ορίζεται σε ναυτικά μίλια. (L-αριστερά, R-δεξιά)

    003 - αριθμός αναγνώρισης του σημείου εκκίνησης

    004 - αριθμός αναγνώρισης τελικού σημείου

    4917,24, N είναι η τιμή γεωγραφικού πλάτους του τελικού σημείου, 49 μοίρες 17,24 λεπτά βόρειο γεωγραφικό πλάτος

    12309,57, W είναι η τιμή γεωγραφικού μήκους του τελικού σημείου, 123 μοίρες 09,57 λεπτά δυτικά

    001,3 – απόσταση από το σημείο, σε ναυτικά μίλια

    000,5 - ταχύτητα, σε κόμβους

    V - πληροφορίες άφιξης (A - άφιξη, V - το σημείο δεν έχει φτάσει ακόμη)

RTE - Πληροφορίες δρομολόγησης

Το μήνυμα NMEA RTE παραθέτει τα σημεία διαδρομής στην ενεργή διαδρομή. Υπάρχουν δύο τύποι μηνυμάτων RTE. Στην πρώτη περίπτωση, εμφανίζονται όλα τα σημεία. Στο δεύτερο, μόνο μια λίστα με τα εναπομείναντα σημεία που πρέπει να επισκεφτείτε κατά τη διάρκεια της διαδρομής. Λαμβάνοντας υπόψη ότι το πρωτόκολλο NMEA έχει έναν περιορισμό ότι το μήκος του μηνύματος δεν πρέπει να υπερβαίνει τους 80 χαρακτήρες, το μήνυμα RTE μπορεί να αποτελείται από πολλές γραμμές.

$GPRTE,2,1,c,0,W3IWI,DRIVWY,32CEDR,32-29,32BKLD,32-I95,32-US1,BW-32,BW-198*69

    Κεφαλίδα RTE - NMEA

    2 - συνολικός αριθμός μηνυμάτων για εμφάνιση της πλήρους λίστας δεδομένων

    1 – αριθμός μηνύματος από τη γενική λίστα

    c – τύπος μηνύματος RTE (с – πλήρης λίστα σημείων, w – λίστα σημείων προς επίσκεψη)

    0 - αναγνωριστικό διαδρομής

    W3IWI,DRIVWY,.. - λίστα σημείων διαδρομής

Χαρακτηριστικά Garmin

Οι δέκτες Garmin υποστηρίζουν τα περισσότερα μηνύματα NMEA που περιέχουν μετρήσεις GPS, συντεταγμένες και χρόνο - GGA, GLL, GSA, GSV, RMC. Καθώς και μηνύματα πλοήγησης - RMB, BOD

Για να εμφανίσετε αυτά τα μηνύματα, πρέπει να αλλάξετε τη διεπαφή από "Garmin" σε "NMEA" στις ρυθμίσεις του δέκτη και ενδεχομένως να ορίσετε την επιθυμητή ταχύτητα. Η ίδια ταχύτητα πρέπει να ρυθμιστεί στο πρόγραμμα πλοήγησης στις ρυθμίσεις της σειριακής θύρας στην οποία είναι συνδεδεμένος ο πλοηγός.

Δυστυχώς, οι δέκτες με θύρα USB δεν υποστηρίζουν το πρωτόκολλο NMEA, περιορίζοντας τις ρυθμίσεις του μόνο στο πρωτόκολλο Garmin.

Για να εμφανίσετε πληροφορίες που έρχονται στη σειριακή θύρα του υπολογιστή, μπορείτε να χρησιμοποιήσετε το πρόγραμμα τερματικού των Windows ή ένα από τα προγράμματα πλοήγησης που υποστηρίζουν αυτήν τη δυνατότητα.

Ακολουθεί μια λίστα με μηνύματα NMEA του δέκτη Garmin eMap που περιέχονται στην ίδια εποχή.

$GPRMC,135412,A,5522.8973,N,03710.1401,E,0.0,0.0,190507,9.3,E,A*1F

$GPRMB,A,,A,A*0B

$GPGGA,135412,5522.8973,N,03710.1401,E,1,04,5,4,205,2,M,15,8,M,*4A

$GPGSA,A,3,08,13,23,25,5.7,5.4,1.0*3C

$GPGSV,3,1,11,02,15,267,00,03,11,085,45,04,05,236,00,08,39,233,00*77

$GPGSV,3,2,11,10,32,308,00,13,63,109,43,16,17,037,00,23,31,111,38*77

$GPGSV,3,3,11,24,09,343,00,25,66,077,44,27,69,229,00*46

$GPGLL,5522.8973,N,03710.1401,E,135412,A,A*43

$GPBOD,T,M,*47

$PGRME,19,1,M,15,2,M,25,3,M*15

$ PGRMZ, 673, f, 3*19

$ PGRMM, WGS 84*06

Εκτός από τα τυπικά μηνύματα NMEA, οι δέκτες Garmin υλοποιούν το δικό τους σύνολο μηνυμάτων, το καθένα από τα οποία περιέχει ένα πρόθεμα "GRM" στην κεφαλίδα, ένα αναγνωριστικό "M" ή "Z" που προσδιορίζει τον τύπο δεδομένων και έναν μόνο χαρακτήρα για το όνομα.

PGRME - Εκτίμηση σφάλματος θέσης

$PGRME,15,0,M,45,0,M,25,0,M*1C

    15,0,M - εκτίμηση του σφάλματος οριζόντιας τοποθέτησης, σε μέτρα

    45,0,M - εκτίμηση κάθετου σφάλματος, σε μέτρα

    25,0,M - ισοδύναμο σφάλμα σφαιρικής τοποθέτησης

PGRMZ - μετρήσεις υψομέτρου

$PGRMZ,93,f,3*21

    93.f είναι η τιμή ύψους, σε λίβρες

    3 - συνθήκες μέτρησης θέσης (2 - ύψος που ορίζεται από τον χρήστη,

    3 - ύψος υπολογισμένο με GPS)

PGRMM - τρέχον δεδομένο

$PGRMM,NAD27 Καναδάς*2F

    NAD27 Canada είναι το όνομα του τρέχοντος οριζόντιου σημείου

Χαρακτηριστικά Sirf

Τα τσιπ Sirf GPS χρησιμοποιούνται σε διάφορους εξοπλισμούς πλοήγησης GPS, που κυμαίνονται από συμβατικές πλακέτες έως φορητούς πλοηγούς GPS και αυτοκινήτου. Αλλά σε αντίθεση με τους πλοηγούς, υποστηρίζουν μόνο μηνύματα NMEA που σχετίζονται με μετρήσεις GPS, υπολογισμό θέσης και χρόνου - GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

Το "Sirf" υποστηρίζει επίσης πολλά "εισερχόμενα" μηνύματα NMEA για διαμόρφωση και ρύθμιση διαφόρων παραμέτρων. Επιπλέον, το "Sirf" εφαρμόζει το δικό του δυαδικό πρωτόκολλο, το οποίο σας επιτρέπει να αλλάξετε πολύ περισσότερες ρυθμίσεις. Αυτά τα 5 "εισερχόμενα" μηνύματα NMEA ξεκινούν με το πρόθεμα $PSFR, σύμφωνα με τους κανόνες. Όλα τα μηνύματα περιέχουν ένα σταθερό σύνολο δεδομένων και τελειώνουν με "\n" (ροή γραμμής)

Για τη διαμόρφωση των παραμέτρων "Sirf", χρησιμοποιείται ένα ειδικό πρόγραμμα "SirfTech". Οι ρυθμίσεις μηνυμάτων NMEA διαμορφώνονται σε ξεχωριστό στοιχείο μενού.

$GPGGA,100643.000,5522.9036,N,03710.1282,E,1.07,1.6,209,9,M,14,9,M,0000*52

$GPGSA,A,3,31,01,23,20,11,30,14,2.1,1.6,1.4*35

$GPGSV,3,1,12,20,84,187,41,01,49,067,46,23,46,238,45,31,45,073,50*7B

$GPGSV,3,2,12,11,25,194,34,13,16,240,04,15,319,30,17,14,273,21*7A

$GPGSV,3,3,12,30,10,026,33,14,05,063,22,05,04,009,25,25,03,195,*7F

$GPRMC,100643.000,A,5522.9036,N,03710.1282,E,0.16,119.11,200507,*0D

Όπως φαίνεται από το παραπάνω παράδειγμα, οι "εργοστασιακές" ρυθμίσεις περιέχουν λιγότερα μηνύματα NMEA σε σύγκριση με τις ρυθμίσεις Garmin. Εάν είναι απαραίτητο, αυτό το σύνολο μπορεί να επεκταθεί ρυθμίζοντας την περίοδο στα μηνύματα NMEA που λείπουν.

$GPGGA,100833.000,5522.9076,N,03710.1270,E,1.07,1.3,222,4,M,14,9,M,0000*53

$GPGLL,5522.9076,N,03710.1270,E,100833.000,A*34

$GPGSA,A,3,31,01,23,20,11,30,17,2.1,1.3,1.6*31

$GPGSV,3,1,12,20,84,180,43,01,49,067,47,23,47,238,45,31,45,072,49*77

$GPGSV,3,2,12,11,24,193,26,13,16,240,26,04,15,319,24,17,13,273,31*78

$GPGSV,3,3,12,30,10,025,26,14,04,064,22,25,04,195,05,04,008,21*7C

$GPRMC,100833.000,A,5522.9076,N,03710.1270,E,0.18,4.86,200507,*00

$GPVTG,4,86,T,M,0,18,N,0,3,K*60

$GPZDA,100834.000,20.05.2007,*5A

PSFR100, PSFR102 - διαμόρφωση σειριακής θύρας

Ο αριθμός μηνύματος NMEA 100 χρησιμοποιείται για τη ρύθμιση της θύρας A, του μηνύματος 102 - θύρας Β. Το μήνυμα 100 έχει ένα πρόσθετο πεδίο που σας επιτρέπει να αλλάξετε τη διεπαφή στο δυαδικό πρωτόκολλο Sirf.

Αντίστοιχα, στο δυαδικό πρωτόκολλο υπάρχει μια εντολή που επαναφέρει τη θύρα στη μορφή NMEA. Πριν μεταβείτε σε ένα δυαδικό πρωτόκολλο, πρέπει να καταλάβετε εάν υπάρχει ένα πρόγραμμα που θα σας επιτρέψει αργότερα να επαναφέρετε το πρωτόκολλο NMEA.

$PSRF100.0.9600.8.1.0*0C

$PSRF102.9600.8.1.0*3C

    PSRF100 - Κεφαλίδα NMEA

    0 - παράμετρος που δείχνει σε ποια λειτουργία άλλαξε το πρωτόκολλο (0-Sirf, 1-NMEA)

    9600 - ταχύτητα θύρας (4800, 9600, 19200, 38400)

    8 - bit δεδομένων (7, 8)

    1 - μπιτ στοπ (0,1)

    0 - ζευγάρωμα (0 - όχι, 1-μονό, 2-ζυγό)

PSFR101, PSFR104 - αρχικοποίηση παραμέτρων δέκτη

Τα μηνύματα NMEA με αριθμό 101 και 104 προορίζονται για την προετοιμασία παραμέτρων για τη λήψη GPS. Ο καθορισμός αυτών των παραμέτρων μπορεί να επιταχύνει τον χρόνο απόκτησης των δορυφόρων GPS. Το μήνυμα 101 ορίζει τις τρέχουσες συντεταγμένες σε μορφή XYZ, μήνυμα 104 - σε μορφή BLH (γεωγραφικό μήκος, γεωγραφικό πλάτος).

$PSRF101,-2686700,-4304200.3851624.95000.497260.921.12.3*22

$PSRF104.37.3875111,-121.97232.0.95000.237759.922.12.3*3A

    PSRF101 - Κεφαλίδα NMEA

    37,3875111 - γεωγραφικό πλάτος σε μοίρες

    121,97232 - γεωγραφικό μήκος σε μοίρες

    0 - ύψος, σε μέτρα

    95000 - μετατόπιση ρολογιού

    237759 - Ώρα GPS, σε δευτερόλεπτα

    922 - Αριθμός εβδομάδας GPS

    12 - αριθμός καναλιών

    3 – τύπος αρχικοποίησης δεδομένων (1 – θερμή εκκίνηση, 2 – θερμή εκκίνηση, 3 – προετοιμασία δεδομένων, 4 – ψυχρή εκκίνηση με πλήρη διαγραφή δεδομένων, 8 – ψυχρή εκκίνηση με επαναφορά εργοστασιακών ρυθμίσεων)

PSFR103 - Διαμόρφωση δημιουργίας μηνυμάτων NMEA

Αυτό το μήνυμα NMEA σάς επιτρέπει να ορίσετε ή να ρωτήσετε την περίοδο δημιουργίας για κάθε "εξερχόμενο" μήνυμα NMEA.

$PSRF103.05.00.01.01*20

    PSRF103 - Κεφαλίδα NMEA

    05 - τίτλος μηνύματος

    01 - περίοδος, σε δευτερόλεπτα (0-255)

    01 – παρουσία αθροίσματος ελέγχου (0- ναι, 1 - όχι)

Αποτελέσματα πειράματος

Υπό κανονικές συνθήκες ορατότητας δορυφόρου, ο δέκτης Garmin eMap εξάγει το ακόλουθο σύνολο μηνυμάτων NMEA:

$GPRMC,104644,A,5522.8965,N,03710.1389,E,0.0,0.0,200507,9.3,E,A*16

$GPRMB,A,,A,A*0B

$GPGGA,104644,5522.8965,N,03710.1389,E,1,07,1,2,186,6,M,15,8,M,*44

$GPGSA,A,3,01,04,13,16,20,23,31,2.1,1.2,1.7*35

$GPGSV,3,1,10,01,34,070,48,04,28,311,40,11,10,190,00,13,32,249,41*7E

$GPGSV,3,2,10,16,11,111,40,20,68,142,50,23,64,247,49,25,21,196,00*70

$GPGSV,3,3,10,30,05,012,00,31,36,055,52*7D

$GPGLL,5522.8965,N,03710.1389,E,104644,A,A*40

$GPBOD,T,M,*47

$PGRME,6,0,M,7,7,M,9,8,M*29

$PGRMZ,612,f,3*1E

$PGRM, WGS 84*06

$GPRTE,1,1,c,*37

Από την ανάλυση των μηνυμάτων, φαίνεται ότι αυτή τη στιγμή ο δέκτης παρακολουθεί 10 δορυφόρους (GSV), εκ των οποίων οι 7 (GGA) χρησιμοποιούνται στον υπολογισμό θέσης. Το σφάλμα οριζόντιας θέσης είναι 6 μέτρα (RME) και ο δείκτης τύπου λύσης είναι 1 (GGA)

Εάν δημιουργήσετε συνθήκες υπό τις οποίες δεν θα λαμβάνεται το σήμα GPS, τότε τα μηνύματα GGA θα περιέχουν "κενά" πεδία και η ένδειξη τύπου λύσης θα λάβει την τιμή 0 (GGA)

$GPGGA,0,00,M,M,*66

$GPGSA,A,1,,*1E

Στην "κανονική" λειτουργία, τα μηνύματα RMB και BOD περιέχουν κενά πεδία. Αφού επιλέχθηκε ως τελικός προορισμός το Σημείο "Δρόμος", αυτά τα πεδία "γεμίστηκαν" με δεδομένα. Όπως προκύπτει από την ανάλυση του μηνύματος, η απόσταση από το σημείο είναι 1.620 μίλια, το αζιμούθιο κίνησης είναι 6.3 μοίρες (BOD). Σε αυτήν την περίπτωση, το αζιμούθιο των μηνυμάτων BOD και RMB διαφέρει κατά 0,1 μοίρες.

$GPRMB,A,0,00,R,Road,5524.501,N,03710.445,E,1.620,6.4,V,A*59

$GPBOD,6,3,T,357,0,M,Δρόμος,*74

Μετά την επιλογή της διαδρομής Home για πλοήγηση, εμφανίστηκε μια λίστα με όλα τα σημεία διαδρομής στη λίστα μηνυμάτων RTE. Και στο μήνυμα RMB - οι αριθμοί αναγνώρισης των σημείων έναρξης και λήξης (επόμενο) της διαδρομής.

$GPRTE,1,1,c,HOME,SLOBODA,IERUSALIM,INSTITUT*01

$GPRMB,A,9,99,R,SLOBOD,IERUSAL,5555.237,N,03649.976,E,34.346,340,6,V,A*1F

συμπέρασμα

Στις περισσότερες περιπτώσεις, ο χρήστης δεν χρειάζεται και δεν ενδιαφέρεται να μάθει ποια δεδομένα και σε ποια πεδία μεταδίδονται. Τα περισσότερα προγράμματα πλοήγησης «αναλύουν» τα δεδομένα του μηνύματος NMEA και τα παρουσιάζουν σε μια φιλική προς το χρήστη μορφή - γραφήματα, γραφήματα, πίνακες κ.λπ.

Ιδιαίτερο ενδιαφέρον παρουσιάζουν τα μηνύματα NMEA για χρήστες που θέλουν να μελετήσουν δεδομένα GPS, να υπολογίσουν μια εκτίμηση των ληφθέντων μετρήσεων ή να αναλύσουν τη συμπεριφορά των δεκτών πλοήγησης σε διάφορες συνθήκες. Υπάρχουν πολλά προγράμματα με τα οποία μπορείτε να λύσετε αυτά τα προβλήματα.

Ωστόσο, για βαθιά ανάλυση δεδομένων GPS, η μορφή NMEA δεν προορίζεται, καθώς δεν περιέχει τις λεγόμενες "ακατέργαστες" μετρήσεις - ψευδοπορτοκύκλωμα, φάση, doppler. Κάθε κατασκευαστής εξοπλισμού πλοήγησης έχει το δικό του «ανοιχτό» ή «κλειστό» πρωτόκολλο που εξάγει αυτές τις πληροφορίες.

Το NMEA είναι μια απλή και κατανοητή μορφή που όχι μόνο επιτρέπει την ανταλλαγή δεδομένων μεταξύ δεκτών GPS και προγραμμάτων πλοήγησης, αλλά δίνει επίσης στους χρήστες μια ιδέα για τις αρχές λειτουργίας του εξοπλισμού δορυφορικής πλοήγησης.

Προσοχή!

Οπως και πηγήχρησιμοποιημένο άρθρο από τον ιστότοπο " Πύλη GPS"