Tabla de contenido:

Rastreador GPS de bricolaje --- Aplicación Python: 5 pasos (con imágenes)
Rastreador GPS de bricolaje --- Aplicación Python: 5 pasos (con imágenes)

Video: Rastreador GPS de bricolaje --- Aplicación Python: 5 pasos (con imágenes)

Video: Rastreador GPS de bricolaje --- Aplicación Python: 5 pasos (con imágenes)
Video: ¿ Cómo SABEN mi UBICACIÓN por el celular? PYTHON 2024, Noviembre
Anonim
Rastreador GPS DIY --- Aplicación Python
Rastreador GPS DIY --- Aplicación Python

Participé en un evento de ciclismo hace dos semanas. Una vez terminado, quería comprobar la ruta y la velocidad que recorría en ese momento. Desafortunadamente, no se logró. Ahora uso ESP32 para hacer un rastreador GPS y lo usaré para registrar mi ruta ciclista la próxima vez. El rastreador GPS puede guardar la información de ubicación y tiempo en la tarjeta SD, y esta información se puede procesar y dibujar un gráfico de distancia y velocidad con el software para PC.

Suministros:

Hardware:

  • MakePython ESP32 (con Wrover)
  • MakePython A9G

La placa MakePython A9G es una placa de expansión GPS / GPRS para MakePython.

  • Batería
  • Cable micro USB

Software:

  • Python 3
  • uPyCraft_v1.1

Paso 1: Conexión

Conexión
Conexión
Conexión
Conexión

Conecte dos placas de acuerdo con los pines. El módulo puede ser alimentado por batería o cable Micro USB.

Paso 2: Software en PC

Software en PC
Software en PC
Software en PC
Software en PC

Python3:

  • Puede descargarlo desde aquí: Python3. Elija la versión 3.8.5, descárguela e instálela.
  • La selección “Agregar Python 3.8 a PATH” debe marcarse durante el proceso de instalación, como se muestra en la Figura 1.
  • Si la biblioteca utilizada por el programa no está instalada, el programa le avisará cuando se esté ejecutando. Puede ejecutar el siguiente comando en cmd.exe para instalar bibliotecas, como se muestra en la Figura 2.

pip install xxx // xxx es el nombre de la biblioteca

pip uninstall xxx // xxx es el nombre de la biblioteca pip list // imprime las bibliotecas instaladas

Código:

  • Puede obtener el archivo Python desde aquí: Código. El archivo de Python es "/Project_Gps-Trace-Analysis-master/Google_trace.py".
  • Dibuja una ruta en el mapa.

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 [ancho - 1], lon_list [ancho - 1], color = 'rojo') gmap.draw ("./ map-trace.html")

Dibuja gráficos de velocidad frente a tiempo, distancia frente a tiempo

plt. subparcela (2, 1, 1)

plt.plot (lista_tiempo [0: -1], velocidad) plt.title ("Velocidad promedio:" + str (avg_speed)) # plt.xlabel ("Tiempo") plt.ylabel ("Velocidad (m / s)") plt.subplot (2, 1, 2) plt.plot (time_list [0: -1], total_distance) plt.title ("Distancia total:" + str (round (total_distance [- 1], 2))) plt.xlabel ("Tiempo") plt.ylabel ("Distancia (m)") plt.draw () plt.pause (0) pasar

Paso 3: firmware sobre ESP32

Firmware sobre ESP32
Firmware sobre ESP32
Firmware sobre ESP32
Firmware sobre ESP32

uPyCraft_v1.1

  • Puede descargarlo desde aquí: uPyCraft.
  • Conecte la placa a la PC mediante un cable USB. Abra uPyCraft_v1.1, seleccione las herramientas:”Herramienta> tablero> esp32” y “Herramientas> puerto> com *”, haga clic en el botón conectado a la derecha.
  • Si la conexión no se realiza correctamente, el mensaje se mostrará como "abra el error de serie, inténtelo de nuevo". Tienes que actualizar el firmware para prometer conexiones exitosas. El enlace de descarga de firmware es LINK. Abra “Herramientas> BurnFirmware”, configure el parámetro, como se muestra en la Figura 3, y haga clic en Aceptar.
  • Abra el archivo Python y haga clic en el botón "Descargar y ejecutar" a la derecha. El programa ha sido descargado a la placa, lo puedes ver en el menú “dispositivo” a la izquierda, como se muestra en la Figura 4.

Firmware y descarga

Puede obtener el firmware desde aquí: Firmware.

Establezca la conexión con el módulo de la tarjeta SD en el archivo: “/Project_Gps-Trace-Analysis-master/workspace/test.py”

# SD init

spi = SPI (1, velocidad en baudios = 400000, polaridad = 1, fase = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Asegúrese de que la pantalla lcd de velocidad en baudios sea la correcta. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Compatible con PCB vfs = os. VfsFat (sd) os.mount (vfs, "/ SD") random.seed (len (os.listdir ("/ SD"))) print ("SD OK") lcd.text ('SPI OK', 0, 16)

Establezca la conexión con el módulo A9G en el archivo: “/Project_Gps-Trace-Analysis-master/workspace/test.py”

# A9G abierto

A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # establece el pin en tiempo bajo.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 abierto', 0, 0)

Comando AT para el módulo A9G

AT + GPS = 1 # 1: Enciende el GPS, 0: Apaga el GPS

AT + UBICACIÓN = 2 #Obtenga la información de la dirección del GPS, siempre que el GPS pueda ver el satélite antes de regresar; de lo contrario, devolverá GPS NO FIJAR AHORA EN + GPSRD = 0 #Detener informes

Conecte la placa a la PC mediante un cable USB y use uPyCraft para descargar todos los archivos en la carpeta “/ Project_Gps-Trace-Analysis-master / workspace”

Paso 4: procesamiento de la información

Procesando informacion
Procesando informacion
  • Copie el archivo TXT que comienza con "trace" en la tarjeta SD en la carpeta “/ Project_Gps-Trace-Analysis-master”.
  • Abra el archivo Python con el bloc de notas y cambie el código.

#Archivo que quieres analizar

trace_file_name = "./trace4.txt"