5.9 KiB
5.9 KiB
Setup Guide - Claude's Eyes
Voraussetzungen
Hardware
- Waveshare ESP32-S3-Touch-LCD-2
- OV5640 Kamera mit 120° Weitwinkelobjektiv
- Freenove 4WD Car Kit
- USB-C Kabel zum Flashen
- Powerbank (oder LiPo Akku)
Software
- PlatformIO (VS Code Extension oder CLI)
- Python 3.9+
- Git
Teil 1: ESP32 Firmware
1.1 Repository klonen
cd ~/Dokumente/programmierung/esp32
# Das Projekt ist bereits in claudes_eyes/
1.2 WiFi konfigurieren
Öffne esp32_firmware/src/config.h und ändere:
#define WIFI_SSID "DEIN_WLAN_NAME"
#define WIFI_PASSWORD "DEIN_WLAN_PASSWORT"
#define API_KEY "dein_geheimer_api_key"
1.3 Firmware kompilieren
cd claudes_eyes/esp32_firmware
# Mit PlatformIO CLI:
pio run
# Oder in VS Code:
# PlatformIO Icon -> Build
1.4 Firmware flashen
- ESP32-S3 via USB-C anschließen
- Boot-Modus aktivieren (falls nötig: BOOT-Taste halten beim Einstecken)
pio run --target upload
# Monitor öffnen:
pio device monitor
1.5 Erfolg prüfen
Im Serial Monitor solltest du sehen:
╔═══════════════════════════════════════╗
║ Claude's Eyes v1.0 ║
║ Autonomous Exploration Robot ║
╚═══════════════════════════════════════╝
[Main] Initializing display...
[Main] Initializing camera...
[Camera] PSRAM found, using double buffering
...
╔═══════════════════════════════════════╗
║ SYSTEM READY ║
║ IP: 192.168.178.xxx ║
║ Waiting for Claude... ║
╚═══════════════════════════════════════╝
Teil 2: Python Bridge
2.1 Python Environment einrichten
cd claudes_eyes/python_bridge
# Virtuelle Umgebung erstellen (empfohlen)
python -m venv venv
# Aktivieren
# Linux/Mac:
source venv/bin/activate
# Windows:
venv\Scripts\activate
# Dependencies installieren
pip install -r requirements.txt
2.2 PyAudio installieren (für Mikrofon)
Linux:
sudo apt install python3-pyaudio portaudio19-dev
pip install pyaudio
Windows:
pip install pipwin
pipwin install pyaudio
Mac:
brew install portaudio
pip install pyaudio
2.3 Konfiguration anpassen
Kopiere die Konfiguration:
cp config.yaml config.local.yaml
Bearbeite config.local.yaml:
esp32:
host: "192.168.178.XXX" # IP des Roboters
api_key: "dein_api_key" # Muss mit config.h übereinstimmen!
claude:
api_key: "" # Oder setze ANTHROPIC_API_KEY Environment Variable
2.4 Anthropic API Key
Erstelle einen API Key auf https://console.anthropic.com/
# Linux/Mac:
export ANTHROPIC_API_KEY="sk-ant-..."
# Windows (PowerShell):
$env:ANTHROPIC_API_KEY="sk-ant-..."
2.5 Bridge starten
# Normal:
python bridge.py
# Mit eigener Config:
python bridge.py --config config.local.yaml
# Simulation ohne Hardware:
python bridge.py --simulate
# Debug-Modus:
python bridge.py --debug
Teil 3: Hardware zusammenbauen
3.1 Freenove Kit
- Folge der Freenove Anleitung für den mechanischen Aufbau
- NICHT den mitgelieferten ESP32 einbauen!
- Motorverkabelung zum Shield notieren
3.2 Waveshare Board einbauen
- Montiere das Waveshare Board anstelle des Freenove ESP32
- Verbinde die Kabel gemäß
docs/gpio_mapping.md - Kamera an den 24-Pin Connector anschließen
3.3 Verkabelung
Freenove Shield Waveshare Board
─────────────────────────────────────────
Motor A IN1 <---> GPIO 39
Motor A IN2 <---> GPIO 40
Motor A PWM <---> GPIO 41
Motor B IN1 <---> GPIO 42
Motor B IN2 <---> GPIO 2
Motor B PWM <---> GPIO 1
Servo 1 (Pan) <---> GPIO 38
Servo 2 (Tilt) <---> GPIO 37
US Trigger <---> GPIO 21
US Echo <---> GPIO 47
5V <---> 5V
GND <---> GND
3.4 Stromversorgung
- Option A: USB-C Powerbank am ESP32
- Option B: LiPo Akku am Waveshare Batterieanschluss
- Motoren können separate Stromversorgung brauchen
Teil 4: Testen
4.1 API testen
# Im Browser:
http://192.168.178.XXX/
# Kamera testen:
http://192.168.178.XXX/api/capture?key=dein_api_key
# Status abrufen:
curl "http://192.168.178.XXX/api/status?key=dein_api_key"
# Motor testen:
curl -X POST "http://192.168.178.XXX/api/command?key=dein_api_key" \
-H "Content-Type: application/json" \
-d '{"action":"forward","speed":30,"duration_ms":500}'
4.2 Python Client testen
python esp32_client.py 192.168.178.XXX
4.3 TTS/STT testen
python tts_engine.py
python stt_engine.py
Troubleshooting
ESP32 bootet nicht
- USB-Kabel prüfen (manche sind nur zum Laden)
- Boot-Taste beim Einstecken halten
- COM-Port in PlatformIO prüfen
Kamera funktioniert nicht
- Flexkabel prüfen (richtig eingesteckt?)
- PSRAM aktiviert? (sollte automatisch sein)
- Pin-Konflikte mit Display prüfen
WiFi verbindet nicht
- SSID und Passwort prüfen
- 2.4 GHz Netzwerk? (5 GHz wird nicht unterstützt)
- Router in Reichweite?
Motoren drehen nicht
- Stromversorgung prüfen
- GPIO-Pins korrekt verbunden?
ENABLE_MOTORSin config.h auftrue?
TTS/STT funktioniert nicht
- PyAudio korrekt installiert?
- Mikrofon-Berechtigung erteilt?
- Audio-Ausgabegerät prüfen
Nächste Schritte
- Hardware zusammenbauen
- GPIO-Pins verifizieren und ggf. in
config.hanpassen - Firmware flashen
- Python Bridge einrichten
- Ersten Testlauf machen
- Claude die Wohnung erkunden lassen!
Viel Spaß beim Erkunden! 🤖