جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
لقد شاركت في حدث لركوب الدراجات قبل أسبوعين. بعد الانتهاء ، أردت التحقق من الطريق والسرعة التي قطعتها في ذلك الوقت. لسوء الحظ ، لم يتحقق ذلك. الآن أستخدم 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
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"