File size: 4,883 Bytes
90389e2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | # Quick Start Guide
This guide will help you quickly set up the Reachy Mini Home Assistant Voice Assistant.
## Prerequisites
- Reachy Mini robot (connected and powered on)
- Home Assistant instance with ESPHome integration
- Python 3.8 or higher installed on Reachy Mini
- Network connection between Reachy Mini and Home Assistant
## Step 1: Install Dependencies
```bash
# SSH into your Reachy Mini
ssh reachy@<reachy-ip>
# Clone the repository
git clone https://github.com/yourusername/reachy_mini_ha_voice.git
cd reachy_mini_ha_voice
# Create virtual environment
python -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -e .
```
## Step 2: Download Wake Word Models
```bash
# Download Okay Nabu model (default)
cd wakewords
wget https://github.com/kah0st/microWakeWord/raw/main/models/okay_nabu.tflite -O okay_nabu.tflite
cp okay_nabu.json.example okay_nabu.json
# Optional: Download Hey Jarvis model
wget https://github.com/kah0st/microWakeWord/raw/main/models/hey_jarvis.tflite -O hey_jarvis.tflite
wget https://github.com/kah0st/microWakeWord/raw/main/models/hey_jarvis.json -O hey_jarvis.json
cd ..
```
## Step 3: Configure Audio Devices
```bash
# List available audio devices
python -m reachy_mini_ha_voice --list-input-devices
python -m reachy_mini_ha_voice --list-output-devices
# Note the device names you want to use
```
## Step 4: Create Configuration
```bash
# Copy environment template
cp .env.example .env
# Edit .env file
nano .env
```
Add your configuration:
```env
# Audio Configuration
AUDIO_INPUT_DEVICE=Reachy Microphone
AUDIO_OUTPUT_DEVICE=Reachy Speaker
AUDIO_SAMPLE_RATE=16000
AUDIO_CHANNELS=1
AUDIO_BLOCK_SIZE=1024
# Voice Configuration
WAKE_WORD=okay_nabu
WAKE_WORD_DIR=wakewords
# Motion Configuration
MOTION_ENABLED=true
SPEECH_REACTIVE=true
# ESPHome Configuration
ESPHOME_HOST=0.0.0.0
ESPHOME_PORT=6053
ESPHOME_NAME=Reachy Mini
# Robot Configuration
ROBOT_HOST=localhost
ROBOT_WIRELESS=false
# Logging
LOG_LEVEL=INFO
```
## Step 5: Start the Application
```bash
# Start the voice assistant
python -m reachy_mini_ha_voice
# Or with custom configuration
python -m reachy_mini_ha_voice \
--name "My Reachy Mini" \
--audio-input-device "Reachy Microphone" \
--audio-output-device "Reachy Speaker" \
--wake-model okay_nabu
```
## Step 6: Connect to Home Assistant
1. Open Home Assistant
2. Go to **Settings** → **Devices & Services**
3. Click **Add Integration**
4. Search for **ESPHome**
5. Click **Set up another instance of ESPHome**
6. Enter Reachy Mini's IP address and port (default: 6053)
7. Click **Submit**
## Step 7: Test
1. Say the wake word: **"Okay Nabu"**
2. Reachy Mini should nod to acknowledge
3. Speak your command
4. Reachy Mini should respond with motion and voice (if configured)
## Troubleshooting
### Wake Word Not Detected
- Check if the wake word model is downloaded: `ls wakewords/`
- Verify the model name in configuration matches the file
- Check microphone is working: `python -m reachy_mini_ha_voice --list-input-devices`
- Increase microphone volume if needed
### No Audio Output
- Check speaker is working: `python -m reachy_mini_ha_voice --list-output-devices`
- Verify audio output device name in configuration
- Check speaker volume
### Cannot Connect to Home Assistant
- Verify network connectivity: `ping <home-assistant-ip>`
- Check ESPHome port (6053) is not blocked by firewall
- Ensure Home Assistant ESPHome integration is installed
- Check Home Assistant logs for connection errors
### Motion Not Working
- Verify Reachy Mini is connected: Check if robot responds to basic commands
- Check robot host in configuration
- Ensure Reachy Mini SDK is installed: `pip show reachy-mini`
- Check robot is not in sleep mode
## Advanced Configuration
### Custom Wake Word
1. Train your own wake word model (see wakewords/README.md)
2. Place the model files in wakewords/ directory
3. Update configuration to use your model
### Multiple Wake Words
```bash
# Add additional wake word models to wakewords/ directory
# Update configuration to enable multiple wake words
```
### Web UI
```bash
# Start with Gradio web interface
python -m reachy_mini_ha_voice --gradio
# Access at http://<reachy-ip>:7860
```
### Wireless Reachy Mini
```bash
# For wireless version
python -m reachy_mini_ha_voice --wireless
```
## Next Steps
- Read the full [README.md](README.md) for detailed documentation
- Check [ARCHITECTURE.md](ARCHITECTURE.md) for system architecture
- See [REQUIREMENTS.md](REQUIREMENTS.md) for detailed requirements
- Explore [profiles/](profiles/) for personality customization
## Support
- GitHub Issues: https://github.com/yourusername/reachy_mini_ha_voice/issues
- Documentation: https://github.com/yourusername/reachy_mini_ha_voice#readme
- Community: Join our Discord server
---
**Happy talking with your Reachy Mini!** 🤖 |