كود مصدر معالجة بروتوكول Nmea وصف بروتوكول NMEA

كنت بحاجة لاختبار تطبيق يستخدم بيانات GNSS عبر بروتوكول NMEA. كان ذلك بسبب حقيقة أنني كنت أعمل في مشروع لبرنامج ملاحي للطائرات، والاختبار في الهواء مكلف بشكل طبيعي، وقيادة السيارة باستخدام جهاز استقبال GNSS على الأرض ليست مريحة بشكل خاص، لذلك أردت الحصول على بيانات بروتوكول NMEA من نقل المعدات المفترضة على منفذ متوازي افتراضي أثناء الجلوس على مكتبي. في البداية كنت أبحث عن برامج مختلفة، واعتقدت أنني سأجد شيئًا مناسبًا، ولكن معظمها مدفوع الأجر وعناصر التحكم في محاكاة البيانات ليست مريحة للغاية، على الرغم من أنها تحاكي جميع معلمات معيار NMEA تقريبًا. لكنني كنت بحاجة إلى شيء بسيط يحاكي الإحداثيات والسرعة، ولا شيء أكثر من ذلك، وكنت بحاجة إلى ضوابط مريحة ومنطقية إلى حد ما. لذلك كان علي أن أكتب تطبيقًا من هذا النوع بلغة C#.

Fly_nmea


NMEA ("الجمعية الوطنية للإلكترونيات البحرية") - الاسم الكامل هو "NMEA 0183" - بروتوكول نصي للاتصال بين المعدات البحرية (الملاحة عادةً).
يتم نقل البيانات في شكل جمل. صيغة الاقتراح هي كما يلي:
$AAAA[,<данные>]*ح ح ، أين:
$ - رمز بداية الجملة (رمز 24 ساعة)؛
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*hh

كنت بحاجة لمحاكاة أربعة أسطر:

  • GLL – إحداثيات الموقع
  • GSV – الأقمار الصناعية المرئية
  • RMC - مجموعة البيانات الدنيا الموصى بها لنظامي GPS وGLONASS
  • GSA - عامل تدهور الدقة المستخدم في أقمار الملاحة الصناعية
يتم تنظيم المحاكاة بالترتيب التالي:
  • قمنا بتعيين الإحداثيات الأولية في نظام WGS-84
  • ثم ننتقل إلى إسقاط مسطح، على سبيل المثال Mercator (لتحويل الإحداثيات استخدمت مكتبة جاهزة في C#)
  • بمعرفة إحداثيات المستوى x، y، h، نقوم بتنفيذ فيزياء حركة الطائرة باستخدام معلمات متغيرة من خلال واجهة رسومية، مثل: اللفة، درجة الصوت، السرعة
  • تحويل الإحداثيات المسطحة إلى إحداثيات B، L، H لنظام WGS-84
  • نقوم بتكوين حزمة من رسائل NMEA القياسية من الأسطر الأربعة المطلوبة
  • إرسالها إلى المنفذ الموازي الظاهري
Fly_nmea + مستشعر أندرويد
لإجراء اختبار أكثر ملاءمة، قمت أيضًا بضبط استقبال البيانات من أجهزة استشعار Android (زوايا الميل). يرسل Android سطرين مثل:
  • "الزاوية:\t236.04152\t-1.0\t-3.0"
  • "التنسيق:\t-0.46309182\t-0.14982383\t-10.56939"
في تطبيق المحاكاة، أقبلها، واستنادا إلى زوايا الميل، قم بتغيير المعلمات:
  • يقذف
في تطبيق المحاكاة، يمكنك التبديل من التحكم عبر واجهة البرنامج إلى Android Sensor.
اتصال Fly_nmea
لمحاكاة منافذ COM، يعد محاكي المنافذ التسلسلية الافتراضية مفيدًا أيضًا؛ ستحتاج إلى تكوين اتصال منفذي COM افتراضيين، على سبيل المثال: COM1<->COM6، وسيقوم برنامج Fly_nmea بإرسال البيانات إلى COM6، وسيستقبلها برنامج يستخدم بروتوكول NMEA إلى COM1.

خاتمة

بشكل عام، قضيت المزيد من الوقت في البحث عن مثل هذه البرامج، ولم أجد شيئًا يرضيني تمامًا، وسرعان ما كتبته بنفسي. بالإضافة إلى المشروع الذي كنت أعمل عليه، تمكنت أيضًا من توصيل المحاكي بنجاح بالبرامج التي تفهم بروتوكول NMEA، مثل 2Gis وSAS Planet.



FlyNMEA ومستشعر android (مشروع لنقل البيانات من أجهزة الاستشعار عبر UDP)

نميا 0183(من " الرابطة الوطنية للإلكترونيات البحرية") - معيار يحدد بروتوكولًا نصيًا لاتصال المعدات البحرية (الملاحة عادةً) (أو المعدات المستخدمة في القطارات) فيما بينها. لقد أصبح شائعًا بشكل خاص بسبب انتشار أجهزة استقبال GPS التي تستخدم هذا المعيار.

منظر عام للخطوط في NMEA 0183

  • "$" أو "!" (ست عشري 24 أو سداسي 21)
  • معرف الرسالة المكون من 5 أحرف. الحرفان الأولان هما معرف مصدر الرسالة، والأحرف الثلاثة التالية هي معرف تنسيق الرسالة، وفقًا لبروتوكول NMEA 0183 لإصدار معين.
  • قائمة البيانات (الحروف والأرقام والنقاط) مفصولة بفواصل. إذا كانت هناك أي بيانات مفقودة داخلالأسطر، لا تزال الفواصل موضوعة (على سبيل المثال، "،"). بعض الحقول .في نهايةالمطافقد تكون الخطوط مفقودة تمامًا.
  • رمز "*".
  • XOR بثمانية بتات - مجموع كل الأحرف (بما في ذلك "و" و"^") في السطر بين "$" و"*" تم تحويلها إلى حرفين ASCII كبيرين للتمثيل السداسي العشري للبايت (0-9، A -F) .
  • (ست عشري 0D، سداسي عشري 0A).

الحد الأقصى لطول الرسالة يقتصر على 82 حرفًا (NMEA 0183 rev 3.0)

يصف المعيار أكثر من 250 معرفًا لتسلسل NMEA. يحدد المعيار أسعار تبادل البيانات عند 4800 باود. (بالنسبة للسرعات التي تبلغ 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" - وقت تحديد الموقع حسب التوقيت العالمي المنسق: "hh" - ساعات، "mm" - دقائق، "ss.sss" - ثواني. يختلف طول الثواني الكسرية. لا يتم حذف الأصفار البادئة.
  • "أ" - الحالة: "أ" - البيانات موثوقة، "V" - غير موثوقة.
  • "GGMM.MM" - خط العرض. رقمان من الدرجات ("GG")، رقمان من الدقائق الكاملة، وفترة وجزء كسري من الدقائق ذات طول متغير. لا يتم حذف الأصفار البادئة.
  • "P" - "N" للشمال أو "S" لخط العرض الجنوبي.
  • "ggggmm.mm" - خط الطول. 3 أرقام من الدرجات ("ggg")، رقمين من الدقائق الكاملة، فترة وجزء كسري من الدقائق ذات طول متغير. لا يتم حذف الأصفار البادئة.
  • "J" - "E" للشرق أو "W" لخط الطول الغربي.
  • "v.v" هو المكون الأفقي للسرعة بالنسبة للأرض بالعقد. رقم النقطة العائمة. الأجزاء الصحيحة والكسرية ذات الطول المتغير.
  • "b.b" - زاوية المسار (اتجاه السرعة) بالدرجات. رقم النقطة العائمة. الأجزاء الصحيحة والكسرية ذات الطول المتغير. القيمة 0 تقابل الحركة إلى الشمال، 90 إلى الشرق، 180 إلى الجنوب، 270 إلى الغرب.
  • "ddmmyy" - التاريخ: يوم الشهر، الشهر، آخر رقمين من السنة (الأصفار البادئة مطلوبة).
  • "x.x" هو الانحراف المغناطيسي بالدرجات (غالبًا ما يكون مفقودًا)، ويتم حسابه باستخدام بعض النماذج. رقم النقطة العائمة. الأجزاء الصحيحة والكسرية ذات الطول المتغير.
  • "n" - اتجاه الانحراف المغناطيسي: للحصول على مسار مغناطيسي، يجب أن يكون "E" - مطروحًا، "W" - يضاف إلى المسار الحقيقي.
  • "m" - مؤشر الوضع: "A" - مستقل، "D" - تفاضلي، "E" - تقريب، "N" - بيانات غير موثوقة (غالبًا ما تكون مفقودة، هذا الحقل بما في ذلك الفاصلة مفقود في الإصدارات القديمة من NMEA).
  • "hh" - المجموع الاختباري.
  • - البايت هو 0x0D.
  • - البايت هو 0x0A.

أمثلة على سلسلة RMC

مثال 1

$GPRMC،125504.049،أ،5542.2389،ن،03741.6063،ه،0.06،25.82،200906،*17

قيم الحقل:

  • 12 ساعة و55 دقيقة و4.049 ثانية بالتوقيت العالمي المنسق
  • "موثوق
  • خط العرض 55° 42.2389 شمالاً
  • خط الطول 37° 41.6063 شرقاً
  • السرعة 0.06 عقدة

NMEA (الجمعية الوطنية للإلكترونيات البحرية) 2000 هو معيار نقل البيانات للملاحة والاتصالات ومعدات شبكات المعلومات الأخرى.

في معظم الحالات، يتم استخدام NMEA2000 في التطبيقات البحرية. يعتمد هذا البروتوكول على بروتوكول نقل البيانات يستطيع(شبكة منطقة التحكم)، تستخدم بشكل رئيسي في أتمتة السفن.

قامت الرابطة الوطنية للإلكترونيات البحرية (NMEA) بتطوير بروتوكول خاص لضمان التوافق بين المنتجات البحرية من مختلف الشركات المصنعة.

منذ بدايته، خضع بروتوكول NMEA لعدة تعديلات ليشمل حقولًا ورسائل جديدة. الإصدار الحالي الذي يدعمه معظم أجهزة الاستقبال هو الإصدار 2.3، على الرغم من أنه قد تم بالفعل نشر وصف للوصف الجديد الإصدار 3.0.

رسائل NMEA

لا يصف NMEA 2000 البيانات الواردة منه فحسب، بل يصف القياسات أيضًا , والبارومترات وأجهزة الملاحة الأخرى المستخدمة على متن السفن. يتم تنفيذ واجهة تبادل البيانات لمعظم أجهزة استقبال GPS المحمولة وفقًا لمواصفات NMEA. تعرض معظم برامج التنقل التي توفر البيانات في الوقت الفعلي الدعم و"تفهم" بروتوكول NMEA. تحتوي هذه البيانات على قياسات الملاحة الكاملة لجهاز استقبال GPS - الموقع والسرعة والوقت.

المواصفات الكاملة لرسالة NMEA غير متاحة للعامة ولا يمكن تنزيلها رسميًا إلكترونيًا. يمكن العثور على أقسامه الفردية ووصف عام لبروتوكول NMEA والرسائل الأكثر شيوعًا على الإنترنت. يمكنك شراء وثائق NMEA رسميًا على موقع الويب //www.nmea.org/.

رسائل NMEA الصادرة

تتكون جميع رسائل NMEA من مجموعة متسلسلة من البيانات مفصولة بفواصل. كل رسالة فردية مستقلة عن الرسائل الأخرى وهي "كاملة" تمامًا. تتضمن رسالة NMEA ما يلي:

  • عنوان،
  • مجموعة من البيانات ممثلة بأحرف ASCII،
  • حقل "المجموع الاختباري" للتحقق من دقة المعلومات المرسلة.

عنوان

عادة، يتكون العنوان من خمسة أحرف. يحدد أول حرفين نوع الرسالة، بينما تشير الأحرف الثلاثة المتبقية إلى اسمها. على سبيل المثال، يبدأ رأس رسائل GPS NMEA بـ "GP". الرسائل التي لم يتم وصفها في مواصفات NMEA، ولكن يتم تنفيذها في أجهزة استقبال GPS وفقًا للقواعد العامة، تكون مسبوقة بحرف "P" متبوعًا بثلاثة أحرف فريدة لكل شركة. على سبيل المثال، تحتوي رسائل NMEA على البادئة "PGRM"، وMagellan - "PMGN".

بيانات

تبدأ كل رسالة NMEA بـ "$"، وتنتهي بـ "\n" (تغذية السطر) ولا يمكن أن تزيد عن 80 حرفًا. يتم تضمين جميع البيانات في سطر واحد ويتم فصلها بفواصل. يتم تقديم المعلومات في شكل نص ASCII ولا تتطلب فك تشفير خاص. إذا لم تتناسب البيانات مع الأحرف الـ 80 المخصصة، فسيتم "تقسيمها" إلى عدة رسائل. يتيح لك هذا التنسيق عدم تقييد دقة وعدد الأحرف في حقول البيانات الفردية. على سبيل المثال، يمكن تمثيل الجزء الكسري من قيمة الإحداثيات بثلاث أو أربع منازل عشرية، ولكن لا ينبغي أن يؤثر ذلك بأي شكل من الأشكال على تشغيل البرنامج، الذي يستخرج البيانات الضرورية من الرسالة حسب رقم الحقل.

حقل "المجموع الاختباري".

في نهاية كل نمياتحتوي الرسالة على حقل "المجموع الاختباري"، مفصول عن البيانات بالرمز "*". وإذا لزم الأمر، يمكن استخدامه للتحقق من سلامة وصحة كل رسالة مستلمة.

رسائل NMEA الواردة

لا يدعم بروتوكول NMEA 2000 الرسائل الصادرة فحسب، بل يدعم أيضًا الرسائل الواردة، والتي يمكنك من خلالها، على سبيل المثال، تحديث نقاط الطريق أو إضافتها. يجب أن يتم تنسيق هذه الرسائل بشكل صارم بتنسيق NMEA، وإلا فسيتم تجاهلها.

قائمة الرسائل

يصف بروتوكول NMEA قائمة كبيرة من الرسائل المختلفة، منها 24 رسالة يتم استخدامها بشكل نشط في معدات الملاحة. نظرًا للشعبية الكبيرة والعرض البسيط للبيانات، وجد بروتوكول NMEA تطبيقًا ليس فقط في المعدات البحرية، ولكن أيضًا في أجهزة استقبال GPS الجيوديسية والمنزلية والطيران.

AAM - الوصول إلى نقطة الطريق
ALM - بيانات التقويم
APA - بيانات الطيار الآلي "أ"
APB - بيانات الطيار الآلي "B"
BOD - تحمل إلى الوجهة
DTM – المرجع قيد الاستخدام
GGA – معلومات الحل الثابت
GLL - بيانات خطوط الطول والعرض
GSA - معلومات عامة عن الأقمار الصناعية
GSV – معلومات مفصلة عن الأقمار الصناعية
MSK - نقل التحكم إلى جهاز الاستقبال الأساسي
MSS – حالة المتلقي الأساسية
RMA – مجموعة بيانات لوران الموصى بها
RMB - مجموعة بيانات الملاحة GPS الموصى بها
RMC – الحد الأدنى الموصى به لمجموعة بيانات GPS
RTE – معلومات الطريق
VTG - ناقل الحركة والسرعة
WCV – سرعة البيانات بالقرب من نقطة الطريق
WPL - بيانات إحداثية
XTC – خطأ خارج المسار
XTE - خطأ تم قياسه خارج المسار
ZTG - الوقت UTC والوقت المتبقي حتى الوصول إلى الوجهة
ZDA - التاريخ والوقت

قد تحتوي بعض رسائل NMEA على نفس حقول البيانات، أو قد تحتوي بشكل كامل على بيانات رسائل NMEA أخرى أصغر.

1. GGA – معلومات حول الحل الثابت.

توفر رسالة NMEA الأكثر شيوعًا والأكثر استخدامًا معلومات حول الحل الثابت الحالي - الإحداثيات الأفقية وقيمة الارتفاع وعدد الأقمار الصناعية المستخدمة ونوع الحل.

$GPGGA,123519,4807.038,N,01131.000,E,1.08,0.9,545.4,M,46.9,M,*47أين:

GGA - رأس NMEA

123519 - التوقيت العالمي المنسق 12:35:19

4807.038، شمالاً – خط العرض، 48 درجة و7.038 دقيقة شمالاً

01131.000، E – خط الطول، 11 درجة 31.000 دقيقة خط الطول شرقاً

1 – نوع الحل*، حل مستقل

08 – عدد الأقمار الصناعية المستخدمة

0.9 - العامل الهندسي HDOP

545.4 م – الارتفاع عن سطح البحر بالأمتار

46.9، M – ارتفاع المجسم الأرضي فوق المجسم الإهليلجي WGS 84

[حقل فارغ] - الوقت المنقضي منذ تلقي آخر تصحيح DGPS. يتم ملؤه عند تنشيط وضع DGPS

[حقل فارغ] - رقم تعريف المحطة الأساسية. يتم ملؤه عند تنشيط وضع DGPS.

*أنواع الحلول:

2. GSA - معلومات عامة عن الأقمار الصناعية

تحتوي رسالة NMEA هذه على قائمة بالأقمار الصناعية المستخدمة في حساب الموقع وقيم DOPs الهندسية التي تحدد دقة حساب الموقع. يتم تحديد معلمات DOP من خلال الترتيب الهندسي للأقمار الصناعية في السماء. كلما تم "توزيع" الأقمار الصناعية في السماء بشكل أفضل، انخفض DOP وتحسنت دقة تحديد الموقع. وتتوافق القيمة الدنيا لـ PDOP (= 1) مع الحالة التي يكون فيها أحد السواتل فوق المستخدم مباشرةً، ويتم توزيع السواتل الثلاثة الأخرى بالتساوي على مستوى الأفق. يتم حساب قيمة PDOP على أنها الجذر التربيعي لمجموع مربعات HDOP وVDOP.

$GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39أين:

GSA - رأس NMEA

أ – نوع الاختيار بين الحلول ثنائية وثلاثية الأبعاد، تلقائي (A-auto، M-manual)

3 - نوع الحل، حل ثلاثي الأبعاد (1 - لا يوجد حل، 2 - حل ثنائي الأبعاد، 3 - حل ثلاثي الأبعاد)

04.05… – رموز PRN المستخدمة في حساب مواقع الأقمار الصناعية (12 حقلاً)

2.5 – العامل الهندسي المكاني PDOP

1.3 – العامل الهندسي الأفقي HDOP

2.1 – العامل الهندسي العمودي VDOP

3. GSV – معلومات تفصيلية عن الأقمار الصناعية

تحتوي رسالة NMEA هذه على معلومات تفصيلية لجميع الأقمار الصناعية التي يتتبعها نظام تحديد المواقع العالمي (GPS). استنادًا إلى الحد الأقصى البالغ 80 حرفًا، يمكن لرسالة واحدة من NMEA نقل البيانات لأربعة أقمار صناعية فقط. وبناء على ذلك، يتطلب 12 قمرا صناعيا 3 رسائل GSV. يحتوي حقل SNR (نسبة الإشارة إلى الضوضاء) على قيم مستويات إشارات الملاحة المستقبلة من الأقمار الصناعية. من الناحية النظرية، يمكن أن تختلف قيمتها من 0 إلى 99 ويتم قياسها بالديسيبل. في الواقع، يقع مستوى الإشارة في حدود 25 ... 35 ديسيبل. ومن الجدير بالذكر هنا أن هذه المعلمة ليست مطلقة وغير مناسبة لمقارنة حساسية أجهزة الاستقبال من مختلف النماذج والشركات المصنعة. يمكن لملاحي نظام تحديد المواقع العالمي (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

أ - الحالة (أ - نشط، الخامس - تجاهل)

نميا 0183- بروتوكول الاتصال النصي المستخدم في وحدات استقبال GPS. تم إنشاء هذا المعيار للاتصالات الخاصة بمعدات الملاحة البحرية. يوفر البروتوكول نقل الأوامر النصية والرسائل باستخدام أحرف ASCII. وبالتالي، لتلقي الرسائل يكفي استخدام الواجهة التسلسلية UART، في حين يمكن نقل جميع الرسائل مباشرة إلى الكمبيوتر باستخدام منفذ COM، ولكن لا ننسى الحاجة إلى تحويل مستويات الإشارة.

تنقل وحدة GPS رسائل بتنسيقات مختلفة تحتوي على مجموعات مختلفة من البيانات: خطوط الطول والعرض، والسرعة، والعنوان، والوقت، وعدد الأقمار الصناعية، وما إلى ذلك. يتم إرسال الرسائل بشكل تسلسلي ويتم تقسيمها إلى عدة أنواع؛ يحتوي تنسيق كل نوع من الرسائل على معلومات محددة بدقة في مجالاتها. دعونا نلقي نظرة فاحصة على البنية العامة للرسائل التي تنتجها وحدة GPS.

$ - كل رسالة تبدأ بهذا الرمز

ويتبع ذلك معرف مكون من 5 أحرف نصية. يشير الحرفان الأولان إلى نوع نظام الملاحة، على سبيل المثال. "GP" - نظام تحديد المواقع العالمي (GPS).أو " GL" - جلوناسإلخ. الأحرف الثلاثة التالية هي معرف تنسيق الرسالة، الذي يحدد بشكل كامل محتوى البيانات المرسلة اللاحقة. على سبيل المثال "آر إم سي"- هذا هو الحد الأدنى الموصى به من البيانات، والذي يحتوي على معلومات حول الوقت والتاريخ وخطوط الطول والعرض والسرعة والمسار والانحراف المغناطيسي بالدرجات (قد يكون مفقودًا). أو "جي إس إيه"سيتم نقل بيانات القمر الصناعي هنا. سيتم مناقشة هيكل أنواع الرسائل الرئيسية أدناه.

ثم يتبع «,» - فاصلة، يتبعها نص الرسالة مباشرة ببيانات مختلفة، مفصولة عن بعضها البعض بنفس الفاصلة. إذا لم يكن الرقم المرسل عددًا صحيحًا، فإن الفاصل بين العدد الصحيح والأجزاء الكسرية هو نقطة «.» .

تتم الإشارة إلى نهاية نص الرسالة بالرمز «*» . ما يلي هو المجموع الاختباري لجميع الأحرف الموجودة بين "$" و"*"، أي نص الرسالة بالكامل، بما في ذلك البيانات نفسها والمعرفات في بداية الرسالة. يتم حساب المجموع الاختباري عن طريق XORing كافة رموز ASCII السداسية العشرية لأحرف الرسالة.

وفي نهاية كل رسالة يجب أن يكون هناك أحرف سطر جديد

دعونا نلقي نظرة على الغرض وبنية أنواع الرسائل المختلفة.

آر إم سي.- الحد الأدنى الموصى به من بيانات الملاحة. تحتوي الرسالة على الحد الأدنى المطلوب من المعلومات. تتضمن هذه البيانات خطوط الطول والعرض والتاريخ والوقت والسرعة. بالنسبة للعديد من المهام، ليست هناك حاجة إلى المزيد، على سبيل المثال، في الوحدة النمطية كويكتيل L50لقد قمت بإيقاف إرسال جميع أنواع الرسائل الأخرى، لأنني لا أحتاج مطلقًا إلى معلومات حول الأقمار الصناعية ومستوى إشاراتها. والحصول على معلومات غير ضرورية يتطلب تعقيد برنامج معالجة هذه البيانات. هيكل الرسالة هو كما يلي:

$جي بي آر إم سي hhmmss.sss،أ،ddmm.mmmm،ن،com.ddmm. ط ط ط , ه، ضد.ج. ج, ddmmyyyy،x.x،ن،م*ح ح

تحتوي هذه الرسالة على المعلومات التالية:

  • جي بي آر إم سي- نظام الأقمار الصناعية GPS، معرف رسالة RMC
  • hhmmss.sss- الوقت (توقيت غرينتش)، حيث hh - الساعات، mm - الدقائق، ss.sss - الثواني
  • أ- البيانات موثوقة أو الخامس- البيانات غير موثوقة. رمز أسيتم توفير الرسالة بوجود استقبال موثوق للإشارات من الأقمار الصناعية اللازمة لحساب بيانات الموقع. رمز الخامسسيحدث عندما لا يرى جهاز الاستقبال الأقمار الصناعية أو عندما لا يكون عدد الأقمار الصناعية الموجودة كافيًا لحساب الإحداثيات بثقة. على سبيل المثال، إذا قمت بتشغيل وحدة GPS في مكان ما في لوحة التحكم وبعيدًا عن النوافذ، فمن المرجح أن ترى الرمز الخامسفي الرسالة المستلمة.
  • ddmm.mmmm- خطوط العرض والدرجات والدقائق
  • نأو س- الشمال أو الجنوب. نصف الكرة الأرضية الذي أنت فيه. إذا كنت في أستراليا فسوف تظهر س. في يكاترينبورغ، تعطي وحدة GPS الخاصة بي ن.
  • ddmm.mmmm- خطوط الطول والدرجات والدقائق
  • هأو دبليو- نصف الكرة الغربي أو الشرقي
  • v.v- السرعة بالعقدة
  • ج. ج– التوجه فوق الأرض بالدرجات. عند التحرك باتجاه الشمال ستكون 0 درجة.
  • ddmmyyyy- تاريخ
  • x.x- الانحراف المغناطيسي
  • ن- اتجاه الانحراف المغناطيسي. لا أستطيع شرح أي شيء عن هاتين المعلمتين الأخيرتين. على سبيل المثال الوحدة الخاصة بي نظام تحديد المواقع كويكتيل L50أثناء الاستقبال في الشقة، لم يتم عرض هذه البيانات على النافذة على الإطلاق، تم تخطيها ببساطة.
  • م– وضع التنقل: ن- بيانات غير دقيقة، أ- واثق من نفسه، د- التفاضلي

فيما يلي مثال لرسالة RMC:

$GPRMC،105954.000،أ،3150.6731،ن،11711.9399،ه،0.00،96.10،250313،أ*53

  • بتوقيت غرينيتش 10 س 59 د 54 ث
  • أ- البيانات موثوقة
  • خط العرض 31 درجة و 50.6371 دقيقة
  • ن- شمالي
  • خط الطول 117 درجة 11.9399 دقيقة
  • ه- شرقية
  • سرعة 0.00 عقدة
  • حسنًا 96.1 درجة
  • تاريخ 25 مارس 2013
  • معلومات حول الانحراف المغناطيسيلا أحد
  • وضع - واثق من نفسه
  • المجموع الاختباري لأحرف الرسالة 0×053

هناك نقطة واحدة يجب الإشارة إليها هنا. تحتوي بيانات خطوط الطول والعرض على جزء كسري من الدقائق، وهو ما لا يتوافق مع عدد "الثواني" على الإطلاق، لأنه جزء عشري. برامج تحديد المواقع التي جربتها تظهر الإحداثيات على الخريطة بدقة. ولكن إذا قمت بإدخال هذه الأرقام في شريط بحث خرائط جوجل، فسيكون الموقع على الخريطة على بعد عدة كيلومترات من الموقع الفعلي. عند إدخال الإحداثيات التي تم الحصول عليها في هذه الحالة، يجب عليك تقسيم الجزء الكسري لخط العرض وخط الطول على 60 لتحويل هذه الأرقام إلى "ثواني". عندما قمت بتوصيل وحدة Quectel L50 لأول مرة وأدخلت إحداثيات خطوط الطول والعرض التي تم الحصول عليها في شريط بحث خرائط Google، تلقيت موقعًا على الخريطة به خطأ كبير؛ أشارت الخريطة إلى مكان ما في منطقة Uralmash.

فيما يلي بعض أنواع الرسائل الأخرى المستخدمة في هذا البروتوكول:

  • فتغ- اتجاه المسار الحقيقي والسرعة الأرضية
  • جي جي ايه- بيانات الموقع الأخيرة
  • G.S.A.- بيانات عن الأقمار الصناعية النشطة
  • جي إس في- بيانات عن الأقمار الصناعية المرئية ومواقعها وأعدادها وكذلك قوة الإشارة
  • GLL- بيانات خطوط الطول والعرض والوقت
  • ZDA- معلومات الوقت والتاريخ

لم أخوض في التفاصيل حول ما تتكون منه كل رسالة؛ ويرد رابط إلى مستند يصف البروتوكول في نهاية المقالة. قد لا يقوم نوع معين من وحدات GPS بإرسال جميع البيانات المدرجة. يمكنك تعطيل أو تمكين نقل أنواع مختلفة من البيانات، وكذلك تحديد فترة تسليمها. لتكوين الوحدة، هناك أوامر خاصة تبدأ بمعرف $PSRFxxx، أين xxxيحدد نوع الأمر وتنسيقه، تمامًا كما هو الحال في الرسائل الصادرة.

على سبيل المثال، الأمر $PSRF100.0.9600.8.1.0*0C يقوم بتعيين بروتوكول الاتصال وتكوين معلمات المنفذ التسلسلي.

  • $PSRF100 –معرف أمر بروتوكول SIRF الأصلي
  • 0 – بروتوكول SIRF الثنائي, 1 – بروتوكول NMEA
  • 9600 – سرعة بت/ثانية
  • 8 بت البيانات
  • 1 توقف قليلا
  • 0 - تم تعطيل التحقق من التكافؤ

فريق $PSRF103.00.00.02.01*26 تكوين معلمات الإخراج لأنواع مختلفة من رسائل الوحدة النمطية:

  • $PSRF103- معرف أمر البروتوكول الأصلي SIRF
  • ثم بعد العلامة العشرية يوجد رقمان يحددان نوع الرسالة المخصصة: 00 - GGA
    01 - جل
    02 - جي إس إيه
    03 - جي إس في
    04 - آر إم سي
    05 - فتغ
  • يقوم الرقمان التاليان بتكوين الترتيب الذي يتم به إصدار الرسائل، على سبيل المثال: 00 - بشكل دوري
    01 - عند الطلب
  • تحدد الأرقام التالية فترة الرسالة بالثواني: 00 = إيقاف (الرسائل معطلة)
    1-255 – الفاصل الزمني بين الرسائل من هذا النوع بالثواني
  • ثم يتم تمكين/تعطيل إرسال المجموع الاختباري في رسالة NMEA المرسلة بواسطة الوحدة: 00 - تم تعطيل إرسال المجموع الاختباري
    01 - يتم إرسال المجموع الاختباري
  • بعد الحرف "*"، كما هو الحال في رسالة NMEA الصادرة، يتم إرسال المجموع الاختباري وأحرف تغذية السطر.

هذا كل ما أردت توضيحه بإيجاز حول بروتوكول NMEA 0183 وأوامر التحكم في الوحدة على مجموعة شرائح SIRF. يتم تقديم فك تشفير أكثر تفصيلاً لجميع هذه الرسائل والأوامر، على سبيل المثال، في وصف بروتوكول وحدة Quectel L50، والذي يمكن تنزيله من الرابط أدناه.

وصف بروتوكول NMEA.

التنفيذ على أجهزة الاستقبال Garmin وGlobalSat

مقدمة

قامت الرابطة الوطنية للإلكترونيات البحرية (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. يتيح لك هذا التنسيق عدم تقييد دقة وعدد الأحرف في حقول البيانات الفردية. على سبيل المثال، يمكن تمثيل الجزء الكسري من قيمة الإحداثيات بثلاث أو أربع منازل عشرية، ولكن هذا لا ينبغي أن يؤثر بأي شكل من الأشكال على تشغيل البرنامج الذي يختار البيانات اللازمة من الرسالة حسب رقم الحقل. في نهاية كل رسالة NMEA يوجد حقل "المجموع الاختباري" مفصول عن البيانات بحرف "*". وإذا لزم الأمر، يمكن استخدامه للتحقق من سلامة وصحة كل رسالة مستلمة. لا يدعم بروتوكول NMEA الرسائل الصادرة فحسب، بل يدعم أيضًا الرسائل الواردة، والتي يمكنك من خلالها، على سبيل المثال، تحديث نقاط الطريق أو إضافتها. يجب أن يتم إنشاء هذه الرسائل بما يتوافق تمامًا مع تنسيق NMEA، وإلا فسيتم تجاهلها ببساطة بواسطة جهاز استقبال GPS. تجدر الإشارة إلى أنه ليس كل برامج الملاحة ونماذج الاستقبال تدعم هذا الوضع، لأنها تستخدم بروتوكولات الشركات المصنعة - Garmin، Magellan، إلخ - لتحميل النقاط والطرق. منذ بدايته، خضع بروتوكول NMEA للعديد من التعديلات المرتبطة بإضافة حقول ورسائل جديدة. الإصدار الحالي الذي تدعمه معظم أجهزة الاستقبال هو الإصدار 2.3، على الرغم من أنه تم بالفعل نشر الإصدار الجديد 3.0. المواصفات الكاملة لرسائل NMEA غير متاحة للعامة ولا يمكن تنزيلها رسميًا في شكل إلكتروني، ويمكن العثور على أقسامها الفردية ووصف عام لبروتوكول NMEA والرسائل الأكثر شيوعًا على الإنترنت. يمكنك شراء وثائق NMEA رسميًا على http://www.nmea.org/.

قائمة الرسائل

يصف بروتوكول NMEA قائمة كبيرة من الرسائل المختلفة، والتي يمكن من خلالها التعرف على عشرين رسالة يتم استخدامها بشكل نشط في معدات الملاحة. نظرًا للشعبية الكبيرة والعرض البسيط للبيانات، وجد بروتوكول NMEA تطبيقًا ليس فقط في المعدات البحرية، ولكن أيضًا في أجهزة استقبال GPS الجيوديسية والمنزلية والطيران.

    AAM – الوصول إلى نقطة الطريق

    ALM - بيانات التقويم

    APA - بيانات الطيار الآلي "أ"

    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 – التوقيت العالمي المنسق 12:35:19

4807.038، شمالاً – خط العرض، 48 درجة و7.038 دقيقة شمالاً

01131.000، E – خط الطول، 11 درجة 31.000 دقيقة خط الطول شرقاً

1 - نوع الحل، الحل المستقل

08 – عدد الأقمار الصناعية المستخدمة

0.9 - العامل الهندسي HDOP

545.4 م – الارتفاع عن سطح البحر بالأمتار

46.9، M – ارتفاع المجسم الأرضي فوق المجسم الإهليلجي WGS 84

[حقل فارغ] – الوقت المنقضي منذ تلقي آخر تصحيح DGPS. يتم ملؤه عند تنشيط وضع DGPS

[حقل فارغ] - رقم تعريف المحطة الأساسية. يتم ملؤه عند تنشيط وضع DGPS.

GSA – معلومات عامة عن الأقمار الصناعية.

تحتوي رسالة NMEA هذه على قائمة بالأقمار الصناعية المستخدمة في حساب الموقع وقيم DOPs الهندسية التي تحدد دقة حساب الموقع. يتم تحديد معلمات DOP من خلال الترتيب الهندسي للأقمار الصناعية في السماء. كلما تم "توزيع" الأقمار الصناعية في السماء بشكل أفضل، انخفض DOP وتحسنت دقة تحديد الموقع. وتتوافق القيمة الدنيا لـ PDOP (= 1) مع الحالة التي يكون فيها أحد السواتل فوق المستخدم مباشرة، ويتم توزيع السواتل الثلاثة الأخرى بالتساوي على مستوى الأفق. يتم حساب قيمة PDOP على أنها الجذر التربيعي لمجموع مربعات HDOP وVDOP.

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

    GSA - رأس NMEA

    أ – نوع الاختيار بين الحلول ثنائية وثلاثية الأبعاد، تلقائي (A-auto، M-manual)

    3 - نوع الحل، حل ثلاثي الأبعاد (1 - لا يوجد حل، 2 - حل ثنائي الأبعاد، 3 - حل ثلاثي الأبعاد)

    04.05… - رموز PRN المستخدمة في حساب مواقع الأقمار الصناعية (12 حقلاً)

    2.5 – العامل الهندسي المكاني PDOP

    1.3 – العامل الهندسي الأفقي HDOP

    2.1 – العامل الهندسي العمودي VDOP

GSV - معلومات مفصلة عن الأقمار الصناعية

تحتوي رسالة NMEA هذه على معلومات تفصيلية لجميع الأقمار الصناعية التي يتتبعها نظام تحديد المواقع العالمي (GPS). استنادًا إلى الحد الأقصى البالغ 80 حرفًا، يمكن لرسالة واحدة من NMEA نقل البيانات لأربعة أقمار صناعية فقط. وبناء على ذلك، يتطلب 12 قمرا صناعيا 3 رسائل GSV. يحتوي حقل SNR (نسبة الإشارة إلى الضوضاء) على قيم مستويات إشارات الملاحة المستقبلة من الأقمار الصناعية. من الناحية النظرية، يمكن أن تختلف قيمتها من 0 إلى 99 ويتم قياسها بالديسيبل. في الواقع، يقع مستوى الإشارة في حدود 25 ... 35 ديسيبل. ومن الجدير بالذكر هنا أن هذه المعلمة ليست مطلقة وغير مناسبة لمقارنة حساسية أجهزة الاستقبال من مختلف النماذج والشركات المصنعة. يمكن لملاحي نظام تحديد المواقع العالمي (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 – التوقيت العالمي المنسق، 12:34:59

    أ - الحالة (أ - نشط، الخامس - تجاهل)

    4807.038، شمالاً – خط العرض، 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، خط الطول غربًا، 123 درجة 11.12 دقيقة خط الطول غربًا

    225444 – وقت التثبيت بمقياس التوقيت العالمي المنسق، 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

    يوان - رأس NMEA

    أ – نوع البيانات، (أ – نشط، الخامس – تجاهل)

    0.66,L – الانحراف عن المسار. يتم تعريف المعلمة بالأميال البحرية. (L – يسار، R – يمين)

    003 - رقم تعريف نقطة البداية

    004 - رقم تعريف نقطة النهاية

    4917.24,N – قيمة خط العرض لنقطة النهاية، 49 درجة و17.24 دقيقة شمالاً.

    12309.57 غربًا – قيمة خط الطول لنقطة النهاية، 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- رقم الرسالة من القائمة العامة

    с – نوع رسالة RTE (с – قائمة كاملة بنقاط الطريق، w – قائمة النقاط التي لم تتم زيارتها بعد)

    0 - معرف الطريق

    W3IWI,DRIVWY,.. - قائمة نقاط الطريق

مميزات جارمين

تدعم أجهزة استقبال 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، أ،، أ، أ*0ب

$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,م,15.2,م,25.3,م*15

$ PGRMZ,673, f,3*19

$ PGRMM، WGS 84*06

بالإضافة إلى رسائل NMEA القياسية، تقوم أجهزة استقبال Garmin بتنفيذ مجموعة الرسائل الخاصة بها، والتي تحتوي كل منها على بادئة "GRM" في الرأس، ومعرف "M" أو "Z" يحدد نوع البيانات، وحرفًا واحدًا للاسم.

PGRME – تقدير خطأ تحديد المواقع

$PGRME، 15.0، م، 45.0، م، 25.0، م * 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 كندا – اسم المسند الأفقي الحالي

مميزات السيرف

تُستخدم شرائح GPS من Sirf في العديد من معدات الملاحة GPS، بدءًا من اللوحات التقليدية إلى أجهزة الملاحة GPS المحمولة والسيارات. ولكن على عكس الملاحين، فإنهم يدعمون فقط رسائل NMEA المتعلقة بقياسات نظام تحديد المواقع العالمي (GPS)، وحسابات الموقع والوقت - GGA، وGLL، وGSA، وGSV، وRMC، وVTG، وZDA.

يدعم "Sirf" أيضًا العديد من رسائل NMEA "الواردة" المخصصة لتكوين وتعديل المعلمات المختلفة. بالإضافة إلى ذلك، ينفذ Sirf البروتوكول الثنائي الخاص به، والذي يسمح لك بتغيير المزيد من الإعدادات بشكل ملحوظ. تبدأ رسائل 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،05/20/2007،*5A

PSFR100، PSFR102 – تكوين المنفذ التسلسلي

يتم استخدام رسالة NMEA رقم 100 لتعيين المنفذ A، والرسالة 102 - المنفذ B. تحتوي الرسالة 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 - بتات البيانات (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، أ،، أ، أ*0ب

$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،م،7.7،م،9.8،م*29

$PGRMZ,612,f,3*1E

$PGRMM، WGS 84*06

$GPRTE,1,1,ج,*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 على حقول فارغة. بمجرد تحديد نقطة الطريق كوجهة نهائية، تتم تعبئة هذه الحقول بالبيانات. وكما يلي من تحليل الرسالة فإن المسافة إلى النقطة هي 1620 ميلاً، وسمت الحركة 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

بمجرد تحديد المسار الرئيسي للملاحة، تعرض قائمة رسائل RTE قائمة بجميع الإحداثيات الموجودة على المسار. وفي رسالة الرنمينبي - أرقام تعريف نقاط البداية والنهاية (التالية) للمسار.

$GPRTE,1,1,c,HOME,سلوبودا,إيروساليم,معهد*01

$GPRMB,A,9.99,R,SLOBOD,IERUSAL,5555.237,N,03649.976,E,34.346,340.6,V,A*1F

خاتمة

في معظم الحالات، لا يحتاج المستخدم، وليس مهتمًا، بمعرفة ما هي البيانات التي يتم نقلها وفي أي مجالات. تقوم معظم برامج التنقل بتحليل بيانات رسائل NMEA وتقديمها في شكل سهل الاستخدام - الرسوم البيانية والرسوم البيانية والجداول وما إلى ذلك.

تحظى رسائل NMEA بأهمية خاصة للمستخدمين الذين يرغبون في إجراء بحث على بيانات نظام تحديد المواقع العالمي (GPS)، أو حساب تقديرات القياسات المكتسبة، أو تحليل سلوك أجهزة استقبال الملاحة في ظل ظروف مختلفة. هناك عدد من البرامج التي يمكن استخدامها لحل هذه المشاكل.

ولكن لا يزال تنسيق NMEA غير مخصص للتحليل العميق لبيانات GPS، لأنه لا يحتوي على ما يسمى بالقياسات "الخام" - النطاقات الزائفة، والمراحل، ودوبلر. كل مصنع لمعدات الملاحة لديه بروتوكول "مفتوح" أو "مغلق" خاص به يعرض هذه المعلومات

NMEA هو تنسيق بسيط ومفهوم لا يسمح فقط بتبادل البيانات بين أجهزة استقبال GPS وبرامج الملاحة، ولكنه يمنح المستخدمين أيضًا فكرة عن مبادئ تشغيل معدات الملاحة عبر الأقمار الصناعية.

انتباه!

مقال من الموقع " بوابة نظام تحديد المواقع"



 

قد يكون من المفيد أن تقرأ: