> ## Documentation Index
> Fetch the complete documentation index at: https://benrover-docs.tekbot.io/llms.txt
> Use this file to discover all available pages before exploring further.

# BenRover Dashboard

> A sophisticated graphical user interface for monitoring our Mars rover

## 🌟 Overview

The BenRover Dashboard is a sophisticated graphical user interface designed to monitor our Mars rover. This dashboard provides real-time data visualization and system status updates, leveraging Firebase for data storage and retrieval.

## 🎥 Demo

Here's a quick demonstration of the BenRover Dashboard interface:

<img src="https://mintcdn.com/beetho/0zb_-4Xb7yS9Ow33/images/demo.gif?s=067bdafb1a622bc0fd3ac6b3d3cfde90" alt="BenRover Dashboard Demo" width="1920" height="1080" data-path="images/demo.gif" />

<Callout emoji="🔍">
  This GIF showcases the main features of the BenRover Dashboard, including:

  * Real-time sensor data display (accelerometer and gyroscope)
  * Live video feed from the rover's camera
  * System status updates and battery monitoring
  * Interactive graphs for data visualization
</Callout>

## 🛠️ Features

<CardGroup cols={2}>
  <Card title="📊 Real-time Data Display" icon="chart-line">
    Showcases live data from the rover's sensors
  </Card>

  <Card title="📹 Video Feed" icon="video">
    Displays a live video feed from the rover's camera
  </Card>

  <Card title="🚦 System Status" icon="traffic-light">
    Provides up-to-date information on the rover's operational status
  </Card>

  <Card title="🔋 Battery Monitoring" icon="battery-full">
    Shows the current battery level and temperature
  </Card>

  <Card title="🌡️ Ambient Temperature" icon="thermometer-half">
    Displays the surrounding temperature as detected by the rover
  </Card>

  <Card title="📈 Interactive Graphs" icon="chart-bar">
    Visualizes accelerometer and gyroscope data in real-time
  </Card>

  <Card title="📱 Responsive Design" icon="mobile-alt">
    Utilizes KivyMD for a modern, responsive user interface
  </Card>
</CardGroup>

## 📋 Prerequisites

* Python 3.7+
* Kivy
* KivyMD
* Firebase Admin SDK
* OpenCV
* Other dependencies listed in `requirements.txt`

## 💻 Installation

1. Clone the repository:

```bash theme={null}
git clone https://github.com/BenRover-24/rosws.git
cd Rover_dashboard
```

2. Create a virtual environment (optional but recommended):

```bash theme={null}
python -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate`
```

3. Install the required dependencies:

```bash theme={null}
pip install -r requirements.txt
```

4. Set up Firebase:
   * Create a Firebase project and obtain the `credentials.json` file.
   * Place the `credentials.json` file in the project root directory.

## 🚀 Usage

To run the BenRover Dashboard:

```bash theme={null}
python benrover_dashboard.py
```

## ⚙️ Configuration

* Modify the `credentials.json` file with your Firebase project credentials.
* Adjust the video feed URL in the `update_video` method of the `RoverDashboard` class to match your rover's camera stream address.

## 📁 File Structure

```
benrover-dashboard/
├── benrover_dashboard.py
├── credentials.json
├── requirements.txt
└── img/
    ├── logo.png
    └── placeholder.png
```

* `benrover_dashboard.py`: Main application file containing the dashboard logic and UI.
* `credentials.json`: Firebase credentials file (keep this secure and do not share publicly).
* `requirements.txt`: List of Python dependencies.
* `img/`: Directory containing images used in the dashboard.

## 🤝 Contributing

Contributions to the BenRover Dashboard project are welcome. Please follow these steps:

1. 🍴 Fork the repository.
2. 🌿 Create a new branch for your feature.
3. ✏️ Commit your changes.
4. 🚀 Push to the branch.
5. 🔍 Create a new Pull Request.

## 🙏 Acknowledgements

* Thanks to the Kivy and KivyMD communities for their excellent UI frameworks.
* Gratitude to the Firebase team for their real-time database solution.
* Special thanks to all contributors and testers of the BenRover project.

***

🌟 Developed with passion by the BenRover Team 🇧🇯
