Skip to content

callmenoway/Rover32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROVER32

Empowering seamless control for your robotic adventures.

Built with the tools and technologies:

Overview

Rover32 is a versatile ESP32-based robotic platform that combines real-time video streaming, remote control capabilities, and a web interface for management and analytics. It's designed for educational and experimental purposes, providing a flexible architecture for building autonomous robots and remote-controlled vehicles.

Key Features

  • Real-time Video Streaming: Live camera feed via WebSocket connection
  • Remote Control: Control movement, steering, and special functions wirelessly
  • Cross-platform Client: Flutter desktop application for Windows, macOS, and Linux
  • Web Administration: Analytics dashboard and vehicle management
  • OLED Display: Status information and animations on the rover
  • Customizable Lighting: Headlights, taillights, and status indicators

Hardware Components

  • ESP32 Microcontroller: Core processing unit with Wi-Fi and Bluetooth connectivity
  • Camera Module: OV2640 camera for video streaming
  • Motors & L298N Driver: Dual H-bridge motor controller for precise movement
  • SSD1306 OLED Display: 128x32 monochrome display for status information
  • LED Lighting System: Programmable status and navigation lights

Software Architecture

The Rover32 system consists of multiple integrated components:

ESP32 Firmware

  • Written in C++ using PlatformIO/Arduino framework
  • Manages camera capture, motor control, and TCP communication
  • Handles WebSocket connections for both control and camera streaming
  • OLED display management for status information

TCP Protocol

  • Raw TCP sockets for direct communication with minimal overhead
  • Camera streaming (port 8000) and control commands (port 8001)
  • Binary protocol with JPEG frames for video

Flutter Desktop Application

  • Cross-platform desktop application written in Flutter/Dart
  • Provides control interface with keyboard/virtual joystick support
  • Displays camera feed in real-time
  • Manages connection to the rover

Web Dashboard

  • Built with Next.js, React, and TypeScript
  • User authentication and vehicle management
  • Statistics gathering and visualization
  • API for integration with other services

Documentation

Scan this QR code to access the complete documentation:

Documentation QR Code

Or visit the online documentation for:

  • Setup guides
  • API references
  • Hardware schematics
  • Troubleshooting information

Running with nodejs

  1. Clone the repository:

    git clone https://github.com/yourusername/Rover32.git
    cd Rover32
  2. Create an .env file from the example:

    cp .env.example .env
  3. Edit the .env file with your actual configuration values:

    • Generate a NEXTAUTH_SECRET (you can use openssl rand -base64 32)
    • Add your OAuth provider credentials
    • Configure other settings as needed
  4. Install the dependencies:

    npm install
  5. Run the website:

    next dev

    or you can just use node with:

    npm run dev

Running with Docker

Prerequisites

  • Docker and Docker Compose installed on your system
  • Git (to clone the repository)

Quick Start

  1. Clone the repository:

    git clone https://github.com/yourusername/Rover32.git
    cd Rover32
  2. Create an .env file from the example:

    cp .env.example .env
  3. Edit the .env file with your actual configuration values:

    • Generate a NEXTAUTH_SECRET (you can use openssl rand -base64 32)
    • Add your OAuth provider credentials
    • Configure other settings as needed
  4. Build and start the containers:

    docker-compose up -d
  5. Run database migrations:

    docker-compose exec app npx prisma migrate deploy

Stopping the Application

To stop the application:

docker-compose down

To stop and remove all data (including the database):

docker-compose down -v

Troubleshooting

  • If you encounter database connection issues, ensure the Postgres container is healthy:

    docker-compose ps
  • To view logs:

    docker-compose logs -f app

Development

For development without Docker, please refer to the development documentation.

  1. Clone the Repository:
    git clone https://github.com/callmenoway/rover32.git
    cd rover32

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •