Rover: mudanças entre as edições

De Caninos Loucos
Ir para navegação Ir para pesquisar
Add seção código fonte.
Add link do código fonte das bibliotecas.
Linha 27: Linha 27:
*gunicorn 21.2.0.
*gunicorn 21.2.0.


Recomenda-se o uso de um arquivo '''requirements.txt''' para as bibliotecas.
Recomenda-se o uso de um arquivo '''requirements.txt''' para as bibliotecas. As aplicações


= Código fonte =
= Código fonte =
Linha 33: Linha 33:
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.
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.
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.
[https://github.com/inova-steam-lab/rover-api-socketio/tree/main Acesse o código fonte da aplicação web aqui] e [https://github.com/inova-steam-lab/rover-remote-control acesse o interpretador dos eventos aqui].

Edição das 19h34min de 25 de junho de 2024

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. As aplicações

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.

Acesse o código fonte da aplicação web aqui e acesse o interpretador dos eventos aqui.