Índice:

DIY GPS Tracker --- Aplicativo Python: 5 etapas (com imagens)
DIY GPS Tracker --- Aplicativo Python: 5 etapas (com imagens)

Vídeo: DIY GPS Tracker --- Aplicativo Python: 5 etapas (com imagens)

Vídeo: DIY GPS Tracker --- Aplicativo Python: 5 etapas (com imagens)
Vídeo: Создаем свое ANDROID приложение на PYTHON 2024, Junho
Anonim
DIY GPS Tracker --- Aplicativo Python
DIY GPS Tracker --- Aplicativo Python

Participei de um evento de ciclismo há duas semanas. Depois de terminar, quis verificar o percurso e a velocidade que rodei naquele momento. Infelizmente, isso não foi alcançado. Agora eu uso o ESP32 para fazer um rastreador GPS e vou usá-lo para registrar minha rota de bicicleta na próxima vez. O rastreador GPS pode salvar as informações de localização e hora no cartão SD, e essas informações podem ser processadas e traçar um gráfico de distância e velocidade com o software para PC.

Suprimentos:

Hardware:

  • MakePython ESP32 (com Wrover)
  • MakePython A9G

A placa MakePython A9G é uma placa de expansão GPS / GPRS para MakePython.

  • Bateria
  • Cabo micro usb

Programas:

  • Python 3
  • uPyCraft_v1.1

Etapa 1: Conexão

Conexão
Conexão
Conexão
Conexão

Conecte duas placas de acordo com os pinos. O módulo pode ser alimentado por bateria ou cabo Micro USB.

Etapa 2: Software no PC

Software no PC
Software no PC
Software no PC
Software no PC

Python3:

  • Você pode baixá-lo aqui: Python3. Escolha a versão 3.8.5, baixe e instale.
  • A seleção “Adicionar Python 3.8 ao PATH” deve ser verificada durante o processo de instalação, conforme Figura 1.
  • Se a biblioteca usada pelo programa não estiver instalada, o programa irá avisar quando estiver em execução. Você pode executar o seguinte comando em cmd.exe para instalar bibliotecas, conforme Figura 2.

pip install xxx // xxx é o nome da biblioteca

pip uninstall xxx // xxx é o nome da biblioteca pip list // imprime as bibliotecas instaladas

Código:

  • Você pode obter o arquivo python aqui: Código. O arquivo python é “/Project_Gps-Trace-Analysis-master/Google_trace.py”.
  • Desenhe uma rota no 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 [largura - 1], lon_list [largura - 1], cor = 'vermelho') gmap.draw ("./ map-trace.html")

Desenhe gráficos de velocidade x tempo, distância x tempo

plt.subplot (2, 1, 1)

plt.plot (time_list [0: -1], velocidade) plt.title ("Velocidade média:" + str (avg_speed)) # plt.xlabel ("Tempo") plt.ylabel ("Velocidade (m / s)") plt.subplot (2, 1, 2) plt.plot (time_list [0: -1], total_distance) plt.title ("Distância Total:" + str (round (total_distance [- 1], 2))) plt.xlabel ("Tempo") plt.ylabel ("Distância (m)") plt.draw () plt.pause (0) pass

Etapa 3: Firmware sobre ESP32

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

uPyCraft_v1.1

  • Você pode baixá-lo aqui: uPyCraft.
  • Conecte a placa ao PC pelo cabo USB. Abra o uPyCraft_v1.1, selecione as ferramentas:”Ferramenta> placa> esp32” e “Ferramentas> porta> com *”, clique no botão conectado à direita.
  • Se a conexão não for bem-sucedida, o prompt será mostrado como “abra o erro serial, tente novamente”. Você tem que atualizar o firmware para prometer conexões com sucesso. O link para download do firmware é LINK. Abra “Ferramentas> BurnFirmware”, defina o parâmetro, conforme Figura 3, e clique em OK.
  • Abra o arquivo Python e clique no botão “DownloadAndRun” à direita. O programa foi baixado para a placa, você pode vê-lo no menu “dispositivo” à esquerda, conforme Figura 4.

Firmware e download

Você pode obter o firmware aqui: Firmware.

Defina a conexão com o módulo de cartão SD no arquivo: “/Project_Gps-Trace-Analysis-master/workspace/test.py”

# SD init

spi = SPI (1, taxa de transmissão = 400000, polaridade = 1, fase = 0, sck = Pino (14), mosi = Pino (13), miso = Pino (12)) spi.init () # Garanta a taxa de transmissão correta lcd. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Compatível com PCB vfs = os. VfsFat (sd) os.mount (vfs, "/ SD") random.seed (len (os.listdir ("/ SD"))) print ("SD OK") lcd.text ('SPI OK', 0, 16)

Defina a conexão com o módulo A9G no arquivo: “/Project_Gps-Trace-Analysis-master/workspace/test.py”

# A9G open

A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # definir o pino para baixo time.sleep (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9G_PWR_KEY.value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G aberto', 0, 0)

Comando AT para o módulo A9G

AT + GPS = 1 # 1: liga o GPS, 0: desliga o GPS

EM + LOCALIZAÇÃO = 2 # Obtenha as informações de endereço do GPS, desde que o GPS possa ver o satélite antes de retornar, caso contrário, retornará GPS NÃO CORRIGIDO AGORA AT + GPSRD = 0 #Parar relatório

Conecte a placa ao PC por um cabo USB e use o uPyCraft para baixar todos os arquivos da pasta “/ Project_Gps-Trace-Analysis-master / workspace”

Etapa 4: Processamento de informações

Processando informação
Processando informação
  • Copie o arquivo TXT começando com "trace" no cartão SD para a pasta “/ Project_Gps-Trace-Analysis-master”.
  • Abra o arquivo Python com o bloco de notas e altere o código.

#Arquivo que você deseja analisar

trace_file_name = "./trace4.txt"