Rover

De Caninos Loucos
Revisão de 19h25min de 25 de junho de 2024 por Christian.bueno (discussão | contribs) (Add seção código fonte.)
Ir para navegação Ir para pesquisar
Tanque de controle remoto

Introdução

O projeto Rover consiste em uma prova de conceito para a viabilidade de um remote lab. De forma resumida, um remote lab consiste em conduzir e operar experimentos e equipamentos em um laboratório de maneira remota. Nesse sentido, foi desenvolvido o projeto Rover, que utiliza a placa labrador e pode ser controlado remotamente através de uma interface web.

Preparando o ambiente de desenvolvimento

Tecnologias

  • Python 3.8.10;
  • Labrador 32 bits;
  • Debian 10.

Componentes

  • Chassi OSEPP Tank Kit;
  • Labrador;
  • Ponte H L298;
  • Bateria 9v, cabos e conectores.

Bibliotecas

  • fastapi 0.103.0;
  • uvicorn 0.22.0;
  • python-socketio 5.9.0;
  • gunicorn 21.2.0.

Recomenda-se o uso de um arquivo requirements.txt para as bibliotecas.

Código fonte

Há duas bases de código para o Rover. Uma delas é uma aplicação web, que roda em um servidor (computador) e atua como uma interface entre o usuário e o Rover. A aplicação apresenta uma página web onde os usuários utilizam o teclado para emitir comandos de movimento para o Rover. Vale ressaltar que essa aplicação não movimenta o carrinho diretamente; ela apenas captura e emite eventos. A movimentação do carrinho ocorre através do interpretador de movimentos, que será apresentado a seguir. Trabalhando em conjunto com a aplicação web, há o interpretador de movimentos (script), que efetua o movimento do carrinho. O interpretador é executado no Rover e mantém uma conexão ativa e em tempo real com a aplicação web. Os comandos de movimento emitidos na interface da aplicação são processados por esse script, que então envia sinais de high ou low para movimentar ou parar o carrinho.