Skip to content
callmenowayPublic

About

No description, website, or topics provided.

Resources

Stars

18 stars

Watchers

1 watching

Forks

Latest commit

 

History

92 Commits

Folders and files

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

Stars

18 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages