جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
NMEA-0183 هو معيار كهربائي لتوصيل GPS و SONAR وأجهزة الاستشعار والوحدات التجريبية الآلية وما إلى ذلك في السفن والقوارب. بخلاف معيار NMEA 2000 الأحدث (استنادًا إلى CAN) ، يعتمد NMEA 0183 على EIA RS422 (تستخدم بعض الأنظمة القديمة و / أو البسيطة RS-232 ، أو سلكًا واحدًا).
أريد أن أوضح لك كيفية توصيل Raspberry Pi 3B بأي جهاز NMEA-0183 بإخراج تفاضلي. على الرغم من أن الدعوات القياسية للمدخلات والمخرجات المعزولة ، فمن المفيد استخدام RS422 / RS485 HAT بواجهة معزولة.
الخطوة 1: الأدوات والبرامج
المواد:
فطيرة التوت
RS422 / RS485 هات
جهاز NMEA0183 تسلسلي
برمجة:
تمتد Raspbian
محاكاة NMEA
الخطوة 2: الاتصال بـ NMEA 0183
في الصورة أعلاه ، يمكنك رؤية جهاز NMEA النموذجي مع خرج تفاضلي. المحطات هي NMEA OUT + و NMEA OUT- أو TX + أو TX-. أسلاك NMEA IN + و NMEA IN- اختيارية.
إذا كان لديك سلك إرسال واحد من جهازك (على الأرجح يسمى TX أو NMEA OUT أو شيء من هذا القبيل) ، فإن جهازك يستخدم بروتوكول RS-232. في هذه الحالة سوف تحتاج إلى محول RS232 بسيط.
الخطوة 3: إعدادات تبديل DIP
الخطوة 4: حرر الخط التسلسلي وتمكين UART من Raspberry Pi
أسهل طريقة هي استخدام أداة raspi-config لتحويل UART إلى دبابيس GPIO14 / 15. التقط صورة Raspbian جديدة
sudo raspi-config
الانتقال إلى "5 خيارات التواصل"
الانتقال إلى "P6 Serial"
"هل ترغب في أن يكون الوصول إلى غلاف تسجيل الدخول عبر التسلسل؟" لا
"هل ترغب في تمكين أجهزة المنفذ التسلسلي؟" نعم
إنهاء raspi-config
أعد تشغيل Raspberry Pi
يمكنك الآن الوصول إلى UART عبر / dev / serial0
الخطوة 5: البرامج الثابتة
يمكنك العثور على الكثير من حزم Python البرمجية المختلفة NMEA-0183 لـ Raspberry Pi حل بسيط للغاية هو مكتبة NMEA بواسطة Nick Sweeting:
github.com/nsweeting/NMEA0183
يرجى ملاحظة: pyserial مطلوب للتوصيلات التسلسلية:
github.com/nsweeting/NMEA0183
الخطوة 6: اختبار التشغيل
سيقوم برنامج Python بفك تشفير بروتوكولات NMEA الواردة. إذا لم يكن لديك جهاز NMEA في المنزل ، فيمكنك أيضًا استخدام Simulator على جهاز الكمبيوتر الخاص بك ومحول USB بسيط إلى RS485 بدلاً من جهاز حقيقي.