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.json
to thevideo_processing
folder
Important: Keep
yar-v2.json
secure and never expose it publicly. -
Configure Django:
- Add the server's IP address/domain to
ALLOWED_HOSTS
inServer/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.