π 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:
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
π οΈ Features
π Real-time Data Display
Showcases live data from the roverβs sensors
πΉ Video Feed
Displays a live video feed from the roverβs camera
π¦ System Status
Provides up-to-date information on the roverβs operational status
π Battery Monitoring
Shows the current battery level and temperature
π‘οΈ Ambient Temperature
Displays the surrounding temperature as detected by the rover
π Interactive Graphs
Visualizes accelerometer and gyroscope data in real-time
π± Responsive Design
Utilizes KivyMD for a modern, responsive user interface
π Prerequisites
- Python 3.7+
- Kivy
- KivyMD
- Firebase Admin SDK
- OpenCV
- Other dependencies listed in
requirements.txt
π» Installation
- Clone the repository:
- Create a virtual environment (optional but recommended):
- Install the required dependencies:
- Set up Firebase:
- Create a Firebase project and obtain the
credentials.jsonfile. - Place the
credentials.jsonfile in the project root directory.
- Create a Firebase project and obtain the
π Usage
To run the BenRover Dashboard:βοΈ Configuration
- Modify the
credentials.jsonfile with your Firebase project credentials. - Adjust the video feed URL in the
update_videomethod of theRoverDashboardclass to match your roverβs camera stream address.
π File Structure
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:- π΄ Fork the repository.
- πΏ Create a new branch for your feature.
- βοΈ Commit your changes.
- π Push to the branch.
- π 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 π§π―