# Foto Companion & Garmin Remote Ein Fernauslöser-System für Samsung Galaxy Smartphones und Garmin Smartwatches (Forerunner 955, Fenix 7s Pro) mit Live-Vorschau. ## Repository `https://git.klenzel.net/admin/garmin_fernausloeser` --- ## 🖥️ Anleitung für Windows (Schritt-für-Schritt) Diese Anleitung ist für Nutzer gedacht, die das Projekt auf einem Windows-PC kompilieren und installieren möchten. ### 1. Vorbereitungen installieren Bevor es losgeht, installiere bitte folgende Programme: 1. **Git (Versionsverwaltung):** * Lade "Git für Windows" herunter: [git-scm.com/download/win](https://git-scm.com/download/win) * Installiere es (einfach immer "Weiter" klicken). 2. **Java JDK 17:** * Lade das "JDK 17" für Windows (x64 Installer) herunter: [Oracle Java Downloads](https://www.oracle.com/java/technologies/downloads/#java17) * Installiere es. 3. **Android Studio:** * Lade Android Studio herunter: [developer.android.com](https://developer.android.com/studio) * Installiere es mit den Standard-Einstellungen. 4. **Visual Studio Code (VS Code):** * Lade VS Code herunter: [code.visualstudio.com](https://code.visualstudio.com/) * Installiere es. 5. **Garmin SDK Manager:** * Gehe zu [Garmin Developer](https://developer.garmin.com/connect-iq/sdk-manager/) und lade den SDK Manager herunter. * Starte ihn, logge dich ein und lade das neueste SDK sowie die Geräte "Forerunner 955" und "Fenix 7s Pro" herunter. ### 2. Projekt herunterladen (Clonen) Anstatt ZIP-Dateien herunterzuladen, nutzen wir Git direkt in Android Studio, um alles sauber zu bekommen. ### 3. Android App einrichten (Das Handy-Programm) 1. **Projekt in Android Studio laden:** * Starte Android Studio. * Klicke auf **"Get from VCS"** (oder "Get from Version Control"). * Gib bei URL ein: `https://git.klenzel.net/admin/garmin_fernausloeser.git` * Klicke auf "Clone". * Das Projekt wird nun heruntergeladen und geöffnet. 2. **Connect IQ Bibliothek hinzufügen:** * Lade das **"Connect IQ Mobile SDK"** von der Garmin-Webseite herunter. * Entpacke die ZIP-Datei. * Suche darin die Datei `connectiq.jar` (manchmal in einem Unterordner). * Kopiere diese Datei in deinen Projektordner (im Windows Explorer) nach: `garmin_fernausloeser/android-app/app/libs/` (wenn der Ordner `libs` fehlt, erstelle ihn). 3. **App installieren:** * Schalte auf deinem Samsung Handy den **Entwicklermodus** an (Einstellungen -> Telefoninfo -> Softwareinformationen -> 7x auf "Buildnummer" tippen). * Aktiviere **USB-Debugging** in den Entwickleroptionen. * Verbinde das Handy per USB mit dem PC. * Klicke in Android Studio oben auf den grünen **"Play"**-Button (Run). * Erlaube den Zugriff auf die Kamera auf dem Handy! ### 4. Garmin App einrichten (Das Uhr-Programm) 1. **VS Code einrichten:** * Starte Visual Studio Code. * Klicke links auf das "Puzzle"-Symbol (Extensions). * Suche nach **"Monkey C"** (von Garmin) und installiere es. 2. **Projekt öffnen:** * Gehe in VS Code auf "Datei" -> "Ordner öffnen...". * Wähle den Unterordner `garmin-app` aus dem Verzeichnis, das Android Studio gerade heruntergeladen hat (`garmin_fernausloeser/garmin-app`). 3. **Entwickler-Schlüssel erstellen:** * Drücke `Strg + Umschalt + P`. * Tippe ein: `Connect IQ: Generate Developer Key`. * Speichere die Datei im Ordner `garmin-app`. 4. **App auf die Uhr laden:** * Verbinde deine Garmin Uhr per USB-Kabel. * Drücke `Strg + Umschalt + P`. * Tippe ein: `Connect IQ: Build for Device`. * Wähle deine Uhr aus (z.B. `fenix7spro`). * Die erstellte Datei (`foto_companion.prg`) liegt nun im Ordner `bin/`. * Kopiere sie im Explorer in den Uhr-Ordner: `GARMIN/APPS/`. --- ## 🐧 Anleitung für Linux / CLI ### Voraussetzungen 1. **Java 17 (JDK):** `sudo apt install openjdk-17-jdk` 2. **Android SDK Command Line Tools** 3. **Garmin Connect IQ SDK** (Entpackt und `bin/` im PATH) 4. **Connect IQ Mobile SDK** (`connectiq.jar` in `android-app/app/libs/`) ### Build Skript Für Linux-Nutzer liegt ein automatisches Build-Skript bei: ```bash # Setup ausführen (lädt SDKs lokal) und bauen chmod +x setup_and_build.sh ./setup_and_build.sh ``` ### Manuelle Kompilierung **Android:** ```bash cd android-app ./gradlew assembleDebug # APK: app/build/outputs/apk/debug/app-debug.apk ``` **Garmin:** ```bash monkeyc -o bin/app.prg -f monkey.jungle -y developer_key.der -d fenix7spro -w ```