Съдържание:
- Стъпка 1: Свързване
- Стъпка 2: Софтуер на компютър
- Стъпка 3: Фърмуер за ESP32
- Стъпка 4: Обработка на информация
Видео: Направи си сам GPS тракер --- Приложение Python: 5 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
Участвах в колоездене преди две седмици. След като приключих, исках да проверя маршрута и скоростта, която карах по това време. За съжаление не беше постигнато. Сега използвам ESP32, за да направя GPS тракер и следващия път ще го използвам, за да запиша моя маршрут за колоездене. GPS тракерът може да запише информацията за местоположението и часа на SD картата и тази информация може да бъде обработена и да се начертае диаграма на разстоянието и скоростта със софтуера на компютъра.
Консумативи:
Хардуер:
- MakePython ESP32 (с Wrover)
- MakePython A9G
Платката MakePython A9G е платка за разширение на GPS/GPRS за MakePython.
- Батерия
- Микро USB кабел
Софтуер:
- Python 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 uninstall xxx // xxx е име на библиотека pip list // отпечатайте инсталирани библиотеки
Код:
- Можете да получите файла python от тук: Код. Файлът 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 ("Скорост (m/s)") plt.subplot (2, 1, 2) plt.plot (time_list [0: -1], total_distance) plt.title ("Общо разстояние:" + str (кръг (total_distance [- 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, изберете инструментите: „Инструмент> дъска> esp32“и „Инструменти> порт> com*“, щракнете върху свързания бутон отдясно.
- Ако връзката не е успешна, подканата ще се покаже като „отворете серийната грешка, моля, опитайте отново“. Трябва да актуализирате фърмуера, за да обещаете успешно свързване. Връзката за изтегляне на фърмуера е LINK. Отворете „Инструменти> BurnFirmware“, задайте параметъра, както е на Фигура 3, и щракнете върху OK.
-
Отворете файла Python и щракнете върху бутона „DownloadAndRun“вдясно. Програмата е изтеглена на дъската, можете да я видите в менюто „устройство“вляво, както е показано на Фигура 4.
Фърмуер и изтегляне
Можете да получите фърмуера от тук: Фърмуер.
Задайте връзката с модула SD карта във файла: „/Project_Gps-Trace-Analysis-master/workspace/test.py“
# SD инициал
spi = SPI (1, скорост на предаване = 400000, полярност = 1, фаза = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Уверете се, че вдясно е прехвърлен lcd. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Съвместим с печатни платки vfs = os. VfsFat (sd) os.mount (vfs, "/SD") random.seed (len (os.listdir ("/SD"))) print ("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.sleep (1) A9G_PW.value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G отворен', 0, 0)
AT команда за модула A9G
AT+GPS = 1 # 1: Включете GPS, 0: Изключете GPS
В+ЛОКАЦИЯ = 2 #Вземете адресната информация на GPS, стига GPS да може да види сателита, преди да се върне, в противен случай той няма да върне GPS НЕ СЕ ПОПРАВЯ СЕГА НА+GPSRD = 0 #Прекратете отчитането
Свържете дъската към компютъра чрез USB кабел и използвайте uPyCraft, за да изтеглите всички файлове в папка „/Project_Gps-Trace-Analysis-master/работно пространство“
Стъпка 4: Обработка на информация
- Копирайте TXT файла, започващ с „trace“в SD картата в папката „/Project_Gps-Trace-Analysis-master“.
- Отворете Python файла с бележника и променете кода.
#Файл, който искате анализ
trace_file_name = "./trace4.txt"