Files
garmin_fernausloeser/README.md

109 lines
4.5 KiB
Markdown

# 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
```