فهرست مطالب:
- مرحله 1: اتصال
- مرحله 2: نرم افزار روی رایانه
- مرحله 3: سیستم عامل درباره ESP32
- مرحله 4: پردازش اطلاعات
تصویری: DIY GPS Tracker --- برنامه پایتون: 5 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
من دو هفته پیش در یک رویداد دوچرخه سواری شرکت کردم. پس از اتمام کار ، می خواستم مسیر و سرعتی را که در آن زمان حرکت می کردم بررسی کنم. متأسفانه به نتیجه نرسید. اکنون من از ESP32 برای ساخت یک ردیاب GPS استفاده می کنم و دفعه بعد آن را برای ثبت مسیر دوچرخه سواری خود استفاده می کنم. ردیاب GPS می تواند اطلاعات مکان و زمان را در کارت SD ذخیره کند و این اطلاعات را می توان پردازش کرد و نمودار فاصله و سرعت را با نرم افزار PC ترسیم کرد.
تدارکات:
سخت افزار:
- MakePython ESP32 (با Wrover
- MakePython A9G
برد MakePython A9G یک برد توسعه GPS/GPRS برای MakePython است.
- باتری
- کابل میکرو USB
نرم افزار:
- پایتون 3
- uPyCraft_v1.1
مرحله 1: اتصال
دو تخته را مطابق پین ها وصل کنید. ماژول را می توان با باتری یا کابل Micro USB تغذیه کرد.
مرحله 2: نرم افزار روی رایانه
پایتون 3:
- می توانید آن را از اینجا بارگیری کنید: Python3. نسخه 3.8.5 را انتخاب کنید ، بارگیری و نصب کنید.
- انتخاب "افزودن پایتون 3.8 به PATH" باید در طول مراحل نصب ، مانند شکل 1 ، بررسی شود.
- اگر کتابخانه مورد استفاده برنامه نصب نشده باشد ، برنامه در هنگام اجرا درخواست می کند. برای نصب کتابخانه ها می توانید دستور زیر را در cmd.exe اجرا کنید ، مانند شکل 2.
pip install xxx // xxx نام کتابخانه است
pip uninstall xxx // xxx نام کتابخانه pip list // چاپ کتابخانه های نصب شده است
کد:
- می توانید فایل پایتون را از اینجا دریافت کنید: کد. فایل پایتون "/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 (لیست_زمان [0: -1] ، سرعت) plt.title ("میانگین سرعت:" + str (میانگین سرعت)) # plt.xlabel ("زمان") plt.ylabel ("سرعت (متر/ثانیه)") plt.subplot (2 ، 1 ، 2) plt.plot (لیست_زمان [0: -1] ، مجموع_فاصله) plt.title ("کل فاصله:" + str (دور (مجموع_فاصله [- 1] ، 2)))) plt.xlabel ("Time") plt.ylabel ("Distance (m)") plt.draw () plt.pause (0) pass
مرحله 3: سیستم عامل درباره ESP32
uPyCraft_v1.1
- می توانید آن را از اینجا بارگیری کنید: uPyCraft.
- برد را با کابل USB به رایانه وصل کنید. uPyCraft_v1.1 را باز کنید ، ابزارها را انتخاب کنید: "Tool> board> esp32" و "Tools> port> com*" ، روی دکمه متصل در سمت راست کلیک کنید.
- اگر اتصال موفقیت آمیز نبود ، اعلان "باز کردن خطای سریال ، لطفاً دوباره امتحان کنید" نشان داده می شود. برای اطمینان از موفقیت آمیز بودن اتصالات ، باید سیستم عامل را به روز کنید. لینک دانلود سیستم عامل LINK است. "Tools> BurnFirmware" را باز کرده ، پارامتر را مانند شکل 3 تنظیم کرده و روی OK کلیک کنید.
-
فایل پایتون را باز کرده و روی دکمه "DownloadAndRun" در سمت راست کلیک کنید. برنامه روی صفحه بارگیری شده است ، می توانید آن را در منوی "دستگاه" در سمت چپ ، مانند شکل 4 مشاهده کنید.
نرم افزار و بارگیری
می توانید سیستم عامل را از اینجا دریافت کنید: Firmware.
اتصال را با ماژول کارت SD در فایل تنظیم کنید: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# SD init
spi = SPI (1 ، baudrate = 400000 ، قطبیت = 1 ، فاز = 0 ، sck = پین (14) ، mosi = پین (13) ، miso = پین (12)) spi.init () # اطمینان حاصل کنید که baudrate ال سی دی مناسب وجود دارد. 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 = پین (33 ، Pin. OUT) A9G_RESET_PIN.value (0) # پین را روی زمان کم تنظیم کنید. خواب (1) A9G_PWR_KEY = پین (27 ، Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9G_P. ارزش (1) time.sleep (1) lcd.cill (0) lcd.text ("A9G باز" ، 0 ، 0)
فرمان AT برای ماژول A9G
AT+GPS = 1 # 1: GPS را روشن کنید ، 0: GPS را خاموش کنید
AT+LOCATION = 2 #اطلاعات آدرس GPS را دریافت کنید ، مادامی که GPS بتواند ماهواره را قبل از بازگشت مشاهده کند ، در غیر این صورت GPS را بر نمی گرداند در حال حاضر برطرف نمی شود+GPSRD = 0 #گزارش توقف
برد را با کابل USB به رایانه وصل کنید و از uPyCraft برای بارگیری همه فایل های پوشه "/Project_Gps-Trace-Analysis-master/spacepace" استفاده کنید
مرحله 4: پردازش اطلاعات
- فایل TXT که با "trace" در کارت SD شروع می شود را در پوشه "/Project_Gps-Trace-Analysis-master" کپی کنید.
- فایل پایتون را با دفترچه یادداشت باز کرده و کد را تغییر دهید.
#فایلی که می خواهید تجزیه و تحلیل کنید
trace_file_name = "./trace4.txt"