باستخدام وحدة GPS Neo-6M مع Raspberry Pi

Using the NEO-6M GPS Module with the Raspberry Pi

تعد وحدة GPS NEO-6M خيارًا شائعًا لإضافة وظائف GPS إلى مشاريع Raspberry PI. إنه يوفر بيانات دقيقة ، والارتفاع ، وبيانات التوقيت ، مما يجعلها مثالية للتنقل ، تحديد الموقع الجغرافي ، وتطبيقات التزامن الوقت. سوف يسير هذا الدليل من خلال إعداد واستخدام وحدة GPS Neo-6M مع Raspberry Pi.


ماذا ستحتاج

  1. التوت بي (أي نموذج يحمل دعم GPIO ، على سبيل المثال ، PI 3 ، PI 4)
  2. NEO-6M GPS وحدة
  3. الأسلاك الأسلاك والبلوز
  4. جهاز كمبيوتر به وصول SSH إلى Raspberry Pi أو لوحة مفاتيح متصلة وشاشة
  5. Python مثبت على Raspberry Pi

الخطوة 1: توصيل Neo-6M إلى Raspberry Pi

يتواصل Neo-6M مع Raspberry Pi باستخدام واجهة UART (التسلسلية).

الاتصالات

NEO-6M PIN التوت بي دبوس
VCC 3.3V (دبوس 1)
GND الأرض (دبوس 6)
TXD RXD (PIN 10 ، GPIO15)
RXD TXD (PIN 8 ، GPIO14)

ملحوظة: تأكد من تشغيل NEO-6M بـ 3.3V أو 5V كما هو محدد في الوحدة النمطية. تحقق من ورقة بيانات الوحدة النمطية.


الخطوة 2: تمكين UART على Raspberry Pi

  1. افتح أداة تكوين Raspberry Pi:
    sudo raspi-config
    
  2. انتقل إلى خيارات الواجهة> المنفذ التسلسلي:
    • حدد "لا" عندما سئل عما إذا كنت تريد قشرة تسجيل الدخول عبر الواجهة التسلسلية.
    • حدد "نعم" لتمكين أجهزة المنفذ التسلسلي.
  3. أعد تشغيل Raspberry Pi:
    sudo reboot
    

الخطوة 3: تثبيت الأدوات والمكتبات المطلوبة

  1. قم بتحديث Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. ثَبَّتَ minicom لاختبار وحدة GPS:
    sudo apt install -y minicom
    
  3. تثبيت مكتبات Python للاتصال التسلسلي وحلية GPS:
    pip install pyserial pynmea2
    

الخطوة 4: اختبار وحدة GPS

  1. يفتح minicom للتحقق مما إذا كانت وحدة GPS ترسل البيانات:
    sudo minicom -b 9600 -o -D /dev/serial0
    
  2. يجب أن ترى بيانات GPS بتنسيق NMEA (على سبيل المثال ، $GPGGA, $GPRMC). إذا لم يكن كذلك:
    • تحقق من الأسلاك الخاصة بك.
    • تأكد من أن الوحدة لديها رؤية واضحة للسماء لاكتساب إشارات الأقمار الصناعية.
  3. مخرج minicom بالضغط Ctrl+A، ثم Zواختيار X.

الخطوة 5: اقرأ بيانات GPS باستخدام Python

يقرأ نص Python التالي ويخوض بيانات GPS من وحدة Neo-6M.

مثال رمز بيثون

import serial
import pynmea2

def read_gps():
    # Open serial connection to GPS module
    gps_serial = serial.Serial("/dev/serial0", baudrate=9600, timeout=1)

    while True:
        try:
            line = gps_serial.readline().decode("ascii", errors="replace")
            if line.startswith("$GPGGA"):
                msg = pynmea2.parse(line)
                print(f"Latitude: {msg.latitude}, Longitude: {msg.longitude}")
                print(f"Altitude: {msg.altitude} {msg.altitude_units}")
        except pynmea2.ParseError as e:
            print(f"Parse error: {e}")
        except KeyboardInterrupt:
            print("Exiting...")
            break

if __name__ == "__main__":
    read_gps()

الخطوة 6: تطبيقات وحدة GPS NEO-6M

  1. أنظمة الملاحة: قم بإنشاء أجهزة تتبع GPS للمركبات أو الطائرات بدون طيار.
  2. Geotagging: سجل بيانات الموقع للصور أو الأحداث الأخرى.
  3. تزامن الوقت: استخدم بيانات GPS لحفظ الوقت الدقيق للغاية.
  4. أجهزة إنترنت الأشياء: تمكين الأتمتة القائمة على الموقع.

استكشاف الأخطاء وإصلاحها

  1. لا توجد بيانات GPS في minicom:

    • تحقق من الأسلاك (اتصالات TXD و RXD).
    • تأكد من تشغيل وحدة GPS بشكل صحيح.
    • ضع الوحدة في منطقة مفتوحة للحصول على استقبال عبر الأقمار الصناعية.
  2. نص Python لا يعمل:

    • تحقق من أن serial0 يتم تمكين الواجهة ويمكن الوصول إليها.
    • ضمان مكتبات بيثون (pyserial, pynmea2) مثبتة.
  3. اكتساب بطيء للأقمار الصناعية:

    • السماح بوقت وحدة GPS للحصول على إشارات ، خاصة عند الاستخدام الأول.
    • استخدم هوائيًا خارجيًا إذا لزم الأمر.

خاتمة

وحدة GPS NEO-6M هي أداة متعددة الاستخدامات ودقيقة لإضافة وظائف تحديد الموقع الجغرافي إلى مشاريع Raspberry PI الخاصة بك. باتباع هذا الدليل ، يمكنك إعداد وحدة GPS والبدء في التقاط بيانات الموقع لمجموعة متنوعة من التطبيقات. تجربة مع دمج وحدة GPS في المشاريع التنقل أو التتبع أو إنترنت الأشياء للمشاريع لاستخدام قدراتها بالكامل!

اترك تعليقًا

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.