Skip to content

mascenaa/AIAC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIAC - Artificial Intelligence Arduino Car

Visão Geral

O AIAC (Artificial Intelligence Arduino Car) é um projeto de carro autônomo que pode ser controlado remotamente e possui um sistema interno de decisão aplicada. O projeto utiliza um NodeMCU para controlar o carro e se comunica com uma câmera GoPro para transmitir vídeo em tempo real.

Participantes

Estrutura do Projeto

O projeto está dividido em três principais diretórios:

  • arduino/: Contém o código para o NodeMCU que controla o carro.
  • backend/: Contém a API backend desenvolvida com FastAPI para controlar o carro e processar dados.
  • frontend/: Contém a interface web desenvolvida com Next.js para interagir com o carro.

Arduino

O código do Arduino está localizado em arduino/core/core.ino. Ele configura a conexão WiFi, inicializa os motores e o servo, e define as rotas HTTP para controlar o movimento do carro.

Configuração

  • SSID: JOAO__.2.4 G
  • GoPro SSID: bmwixespm
  • GoPro Senha: goprohero4

Funções Principais

  • setup(): Configura a conexão WiFi, inicializa os motores e o servo, e inicia o servidor HTTP.
  • loop(): Função principal que mantém o servidor HTTP em execução.
  • handleMove(): Manipula os comandos de movimento recebidos via HTTP.

Backend

O backend está localizado em backend/app/main.py e backend/app/test/test_main.py. Ele utiliza FastAPI para criar uma API que controla o carro e processa dados.

Endpoints Principais

  • GET /start-stream/: Inicia a transmissão de vídeo.
  • GET /stop-stream/: Interrompe a transmissão de vídeo.
  • POST /move/: Envia comandos de movimento para o carro.

Testes

Os testes estão localizados em backend/app/test/test_main.py e utilizam TestClient do FastAPI para testar os endpoints.

Frontend

O frontend está localizado em frontend/aiac/. Ele utiliza Next.js para criar uma interface web que permite controlar o carro e visualizar a transmissão de vídeo.

Configuração

Componentes Principais

Deploy

Backend

Para rodar o backend, utilize o Docker Compose:

docker-compose up --build

About

Artificial Intelligence Arduino Car

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published