جدول المحتويات:

جهاز تعقب GPS DIY - تطبيق Python: 5 خطوات (بالصور)
جهاز تعقب GPS DIY - تطبيق Python: 5 خطوات (بالصور)

فيديو: جهاز تعقب GPS DIY - تطبيق Python: 5 خطوات (بالصور)

فيديو: جهاز تعقب GPS DIY - تطبيق Python: 5 خطوات (بالصور)
فيديو: مشروع بايثون | تتبع موقع رقم الهاتف باستخدام بايثون Python project 2024, سبتمبر
Anonim
DIY GPS Tracker - تطبيق Python
DIY GPS Tracker - تطبيق Python

لقد شاركت في حدث لركوب الدراجات قبل أسبوعين. بعد الانتهاء ، أردت التحقق من الطريق والسرعة التي قطعتها في ذلك الوقت. لسوء الحظ ، لم يتحقق ذلك. الآن أستخدم ESP32 لإنشاء جهاز تعقب GPS ، وسوف آخذه لتسجيل مسار ركوب الدراجات الخاص بي في المرة القادمة. يمكن لجهاز تعقب GPS حفظ معلومات الموقع والوقت على بطاقة SD ، ويمكن معالجة هذه المعلومات ورسم مخطط للمسافة والسرعة باستخدام برنامج الكمبيوتر.

اللوازم:

المعدات:

  • MakePython ESP32 مع Wrover)
  • ماركة بايثون A9G

لوحة MakePython A9G هي لوحة توسيع GPS / GPRS لـ MakePython.

  • بطارية
  • كابل Micro USB

برمجة:

  • بايثون 3
  • uPyCraft_v1.1

الخطوة 1: الاتصال

اتصال
اتصال
اتصال
اتصال

قم بتوصيل لوحين حسب المسامير. يمكن تشغيل الوحدة بالبطارية أو كابل Micro USB.

الخطوة 2: برنامج على جهاز الكمبيوتر

برنامج على جهاز الكمبيوتر
برنامج على جهاز الكمبيوتر
برنامج على جهاز الكمبيوتر
برنامج على جهاز الكمبيوتر

Python3:

  • يمكنك تنزيله من هنا: Python3. اختر الإصدار 3.8.5 وقم بتنزيله وتثبيته.
  • يجب التحقق من اختيار "إضافة Python 3.8 إلى PATH" أثناء عملية التثبيت ، كما في الشكل 1.
  • إذا لم يتم تثبيت المكتبة التي يستخدمها البرنامج ، سيطلب منك البرنامج عندما يكون قيد التشغيل. يمكنك تشغيل الأمر التالي في cmd.exe لتثبيت المكتبات ، مثل الشكل 2.

pip install xxx // xxx هو اسم مكتبة

إلغاء تثبيت pip xxx // xxx هو اسم مكتبة قائمة الأنابيب // طباعة مكتبات مثبتة

الشفرة:

  • يمكنك الحصول على ملف python من هنا: Code. ملف python هو "/Project_Gps-Trace-Analysis-master/Google_trace.py".
  • ارسم طريقًا على الخريطة.

def create_html_map ():

gmap = gmplot. GoogleMapPlotter (lat_list [0]، lon_list [0]، 16) gmap.plot (lat_list، lon_list) gmap.marker (lat_list [0]، lon_list [0]، color = 'blue') gmap.marker (lat_list [width - 1]، lon_list [width - 1]، color = 'red') gmap.draw ("./ map-trace.html")

ارسم رسومات بيانية للسرعة مقابل الوقت والمسافة مقابل الوقت

plt.subplot (2، 1، 1)

plt.plot (time_list [0: -1] ، السرعة) plt.title ("متوسط السرعة:" + str (avg_speed)) # plt.xlabel ("الوقت") plt.ylabel ("السرعة (م / ث)") plt.subplot (2، 1، 2) plt.plot (time_list [0: -1]، total_distance) plt.title ("المسافة الإجمالية:" + str (round (total_distance [- 1]، 2))) plt.xlabel ("الوقت") plt.ylabel ("المسافة (m)") plt.draw () plt.pause (0) pass

الخطوة 3: البرنامج الثابت حول ESP32

البرامج الثابتة حول ESP32
البرامج الثابتة حول ESP32
البرامج الثابتة حول ESP32
البرامج الثابتة حول ESP32

uPyCraft_v1.1

  • يمكنك تنزيله من هنا: uPyCraft.
  • قم بتوصيل اللوحة بجهاز الكمبيوتر عن طريق كابل USB. افتح uPyCraft_v1.1 ، وحدد الأدوات: "أداة> لوحة> esp32" و "أدوات> منفذ> com *" ، انقر فوق الزر المتصل على اليمين.
  • إذا لم ينجح الاتصال ، فسيتم عرض المطالبة على أنها "افتح الخطأ التسلسلي ، يرجى المحاولة مرة أخرى". يجب عليك تحديث البرنامج الثابت لتعهد بالاتصالات بنجاح. رابط تنزيل البرنامج الثابت هو LINK. افتح "Tools> BurnFirmware" ، واضبط المعلمة ، مثل الشكل 3 ، وانقر فوق "موافق".
  • افتح ملف Python ، وانقر فوق الزر "DownloadAndRun" على اليمين. تم تنزيل البرنامج على اللوحة ، يمكنك رؤيته في قائمة "الجهاز" على اليسار ، كما في الشكل 4.

البرامج الثابتة والتنزيل

يمكنك الحصول على البرنامج الثابت من هنا: Firmware.

اضبط الاتصال بوحدة بطاقة SD في الملف: "/Project_Gps-Trace-Analysis-master/workspace/test.py"

# تهيئة SD

spi = SPI (1، baudrate = 400000، polarity = 1، phase = 0، sck = Pin (14)، mosi = Pin (13)، miso = Pin (12)) spi.init () # تأكد من معدل البث بالباود الأيمن. text ('SPI OK'، 0، 8) sd = sdcard. SDCard (spi، Pin (32)) # متوافق مع PCB vfs = os. VfsFat (sd) os.mount (vfs، "/ SD") random.seed (len (os.listdir ("/ SD"))) طباعة ("SD OK") lcd.text ('SPI OK'، 0، 16)

اضبط الاتصال مع وحدة A9G في الملف: "/Project_Gps-Trace-Analysis-master/workspace/test.py"

# A9G مفتوح

A9G_RESET_PIN = Pin (33، Pin. OUT) A9G_RESET_PIN.value (0) # اضبط الدبوس على الوقت المنخفض.sleep (1) A9G_PWR_KEY = Pin (27، Pin. OUT) A9G_PWR_KEY.value (0) time..value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G open'، 0، 0)

أمر AT للوحدة A9G

AT + GPS = 1 # 1: قم بتشغيل GPS ، 0: قم بإيقاف تشغيل GPS

AT + LOCATION = 2 # احصل على معلومات عنوان GPS ، طالما أن GPS يمكنه رؤية القمر الصناعي قبل العودة ، وإلا فإنه سيعيد GPS NOT Fix NOW AT + GPSRD = 0 #Stop الإبلاغ

قم بتوصيل اللوحة بالكمبيوتر الشخصي عن طريق كابل USB ، واستخدم uPyCraft لتنزيل جميع الملفات في المجلد "/ Project_Gps-Trace-Analysis-master / workspace"

الخطوة 4: معالجة المعلومات

معالجة المعلومات
معالجة المعلومات
  • انسخ ملف TXT الذي يبدأ بـ "trace" في بطاقة SD إلى المجلد "/ Project_Gps-Trace-Analysis-master".
  • افتح ملف Python باستخدام المفكرة وقم بتغيير الكود.

# الملف الذي تريد تحليله

trace_file_name = "./trace4.txt"

موصى به: