Оглавление:
- Шаг 1: подключение
- Шаг 2. Программное обеспечение на ПК
- Шаг 3: Прошивка ESP32
- Шаг 4: Обработка информации
Видео: DIY GPS Tracker --- Приложение Python: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Две недели назад я участвовал в велоспорте. После того, как я закончил, я хотел проверить маршрут и скорость, на которой я ехал в то время. К сожалению, этого не произошло. Теперь я использую ESP32, чтобы сделать GPS-трекер, и в следующий раз возьму его, чтобы записать свой велосипедный маршрут. GPS-трекер может сохранять информацию о местоположении и времени на SD-карту, и эту информацию можно обработать и нарисовать карту расстояния и скорости с помощью программного обеспечения для ПК.
Запасы:
Аппаратное обеспечение:
- MakePython ESP32 (с Wrover)
- MakePython A9G
Плата MakePython A9G - это плата расширения GPS / GPRS для MakePython.
- Аккумулятор
- Кабель Micro 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 [ширина - 1], lon_list [ширина - 1], color = 'красный') 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 ("Расстояние (м)") plt.draw () plt.pause (0) pass
Шаг 3: Прошивка ESP32
uPyCraft_v1.1
- Вы можете скачать его отсюда: uPyCraft.
- Подключите плату к ПК с помощью USB-кабеля. Откройте uPyCraft_v1.1, выберите инструменты: «Инструмент> доска> esp32» и «Инструменты> порт> com *», нажмите кнопку подключения справа.
- Если подключение не было успешным, отобразится запрос «откройте последовательную ошибку, попробуйте еще раз». Вы должны обновить прошивку, чтобы обещать успешное соединение. Ссылка для загрузки прошивки - ССЫЛКА. Откройте «Инструменты»> «Записать прошивку», установите параметр, как показано на рисунке 3, и нажмите «ОК».
-
Откройте файл Python и нажмите кнопку «DownloadAndRun» справа. Программа загружена на плату, вы можете увидеть ее в меню «устройство» слева, как на рисунке 4.
Прошивка и загрузка
Получить прошивку можно отсюда: Прошивка.
Установите соединение с модулем SD-карты в файле: «/Project_Gps-Trace-Analysis-master/workspace/test.py»
# SD init
spi = SPI (1, скорость передачи = 400000, полярность = 1, фаза = 0, sck = контакт (14), mosi = контакт (13), miso = контакт (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) # установить низкий уровень для вывода time.sleep (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9G_PWR_.value (1) time.sleep (1) lcd.fill (0) lcd.text ('Открытие A9G', 0, 0)
AT-команда для модуля A9G
AT + GPS = 1 # 1: включить GPS, 0: выключить GPS
AT + LOCATION = 2 # Получить адресную информацию GPS, если GPS может видеть спутник перед возвратом, в противном случае он вернет GPS NOT FIX NOW AT + GPSRD = 0 # Остановить отчет
Подключите плату к ПК с помощью USB-кабеля и с помощью uPyCraft загрузите все файлы в папку «/ Project_Gps-Trace-Analysis-master / workspace»
Шаг 4: Обработка информации
- Скопируйте файл TXT, начинающийся со слова «trace» на SD-карте, в папку «/ Project_Gps-Trace-Analysis-master».
- Откройте файл Python с помощью блокнота и измените код.
# Файл, который нужно проанализировать
trace_file_name = "./trace4.txt"