yaR is an open-source AI wearable device designed to assist visually impaired individuals in navigating the world with greater confidence and independence.
yaR started as a hackathon project and has evolved into a sophisticated AI-powered pendant. It uses a Raspberry Pi to capture visual input and process it to provide audio feedback to the user.
- Visual input processing using AI
- Audio feedback for users
- Lightweight and wearable design
- Open-source for community contributions
The repository is organized into two main folders:
Client: Contains the Python code for the Raspberry PiServer: Contains the Django Python code for the server
main.py: The main script for the Raspberry Piaudio_utils.py: Utilities for audio processingrequest_handler.py: Handles requests to the serverLogger.py: Logging utilitiesyaRException.py: Custom exception handlingrequirements.txt: Required Python packages for the client
manage.py: Django management scriptvideo_processing/: Django app for video processingviews.py: Contains the view functionsurls.py: URL configurationsutils/: Utility functions for various tasks
server/: Django project settingsrequirements.txt: Required Python packages for the server
-
Create a virtual environment and install the required Python packages:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` pip install -r requirements.txt -
Set up environment variables:
OPENAI_API_KEY: OpenAI API keyANTHROPIC_API_KEY: Anthropic API key
-
Firebase Credentials Setup:
- Create a new Firebase project in the Firebase Console
- Generate a new private key:
- Go to Project Settings > Service Accounts
- Click "Generate new private key"
- Rename the downloaded JSON file to
yar-v2.json - Move
yar-v2.jsonto thevideo_processingfolder
Important: Keep
yar-v2.jsonsecure and never expose it publicly. -
Configure Django:
- Add the server's IP address/domain to
ALLOWED_HOSTSinServer/server/settings.py
- Add the server's IP address/domain to
-
Run the Django server:
python manage.py runserver 0.0.0.0:8000
-
Set up the Raspberry Pi hardware (Hardware Guide coming soon)
-
Install required Python packages:
pip3 install -r requirements.txt -
Set up environment variables:
VIDEO_PROCESSING_URL: URL/IP address of the serverAPI_TOKEN: API token for the server (e.g., "1234")
-
Run the client:
python main.py
This project is licensed under the MIT License.