Erste Schritte
Diese Anleitung führt Sie durch die Integration des Capacitor Barometer Plugins in Ihre Anwendung.
Installation
Section titled “Installation”Installieren Sie das Plugin mit npm:
npm install @capgo/capacitor-barometernpx cap synciOS-Konfiguration
Section titled “iOS-Konfiguration”Fügen Sie Folgendes zu Ihrer Info.plist hinzu:
<key>NSMotionUsageDescription</key><string>Diese App nutzt das Barometer, um den atmosphärischen Druck zu messen</string>Android-Konfiguration
Section titled “Android-Konfiguration”Keine zusätzliche Konfiguration erforderlich. Das Plugin fordert automatisch die notwendigen Berechtigungen an.
Grundlegende Verwendung
Section titled “Grundlegende Verwendung”Plugin importieren
Section titled “Plugin importieren”import { Barometer } from '@capgo/capacitor-barometer';Sensorverfügbarkeit prüfen
Section titled “Sensorverfügbarkeit prüfen”const checkBarometer = async () => { const { available } = await Barometer.isAvailable(); console.log('Barometer verfügbar:', available);};Drucküberwachung starten
Section titled “Drucküberwachung starten”const startMonitoring = async () => { await Barometer.start({ interval: 1000 // Aktualisierungsintervall in Millisekunden });
console.log('Barometer-Überwachung gestartet');};Auf Druckereignisse lauschen
Section titled “Auf Druckereignisse lauschen”Barometer.addListener('pressureChange', (data) => { console.log('Druck (hPa):', data.pressure); console.log('Relative Höhe (m):', data.relativeAltitude); console.log('Zeitstempel:', data.timestamp);});Aktuelle Messung abrufen
Section titled “Aktuelle Messung abrufen”const getCurrentPressure = async () => { const reading = await Barometer.getCurrentReading(); console.log('Aktueller Druck:', reading.pressure, 'hPa'); console.log('Relative Höhe:', reading.relativeAltitude, 'm');};Überwachung stoppen
Section titled “Überwachung stoppen”const stopMonitoring = async () => { await Barometer.stop(); console.log('Barometer-Überwachung gestoppt');};Vollständiges Beispiel
Section titled “Vollständiges Beispiel”Hier ist ein vollständiges Beispiel zur Barometer-Integration:
import { Barometer } from '@capgo/capacitor-barometer';
class BarometerService { private listener: any;
async initialize() { // Verfügbarkeit prüfen const { available } = await Barometer.isAvailable(); if (!available) { console.error('Barometer auf diesem Gerät nicht verfügbar'); return; }
// Überwachung starten await Barometer.start({ interval: 1000 });
// Listener hinzufügen this.listener = Barometer.addListener('pressureChange', (data) => { this.handlePressureChange(data); }); }
handlePressureChange(data: any) { console.log('Druck:', data.pressure, 'hPa'); console.log('Höhe:', data.relativeAltitude, 'm');
// UI aktualisieren oder Daten verarbeiten this.updateDisplay(data); }
updateDisplay(data: any) { // hPa in andere Einheiten umrechnen const inHg = (data.pressure * 0.02953).toFixed(2); const mmHg = (data.pressure * 0.750062).toFixed(1);
console.log(`Druck: ${data.pressure.toFixed(1)} hPa`); console.log(` ${inHg} inHg`); console.log(` ${mmHg} mmHg`); console.log(`Höhe: ${data.relativeAltitude.toFixed(1)} m`); }
async cleanup() { // Listener entfernen if (this.listener) { this.listener.remove(); }
// Überwachung stoppen await Barometer.stop(); }}
// Verwendungconst barometerService = new BarometerService();barometerService.initialize();
// Aufräumen wenn fertig// barometerService.cleanup();Messwerte verstehen
Section titled “Messwerte verstehen”Atmosphärischer Druck
Section titled “Atmosphärischer Druck”- Gemessen in Hektopascal (hPa) oder Millibar (mb)
- Standard-Meeresspiegel-Druck: 1013,25 hPa
- Höhere Höhe = niedrigerer Druck
- Wettersysteme beeinflussen Druckmessungen
Relative Höhe
Section titled “Relative Höhe”- Berechnet aus Druckänderungen
- Relativ zum Startbezugspunkt
- Genauigkeit: ±10-30 Meter
- Funktioniert am besten für kurzfristige Verfolgung
Best Practices
Section titled “Best Practices”- Verfügbarkeit prüfen: Immer Sensorverfügbarkeit vor Verwendung überprüfen
- Angemessene Intervalle: Nicht zu häufig abfragen (1000ms ist gut)
- Listener entfernen: Listener aufräumen, wenn nicht benötigt
- Kalibrierung: Bekannte Höhe für genaue Messungen verwenden
- Akkuauswirkung: Akkuverbrauch bei kontinuierlicher Messung überwachen
Häufige Probleme
Section titled “Häufige Probleme”Sensor nicht verfügbar
Section titled “Sensor nicht verfügbar”try { const { available } = await Barometer.isAvailable(); if (!available) { // Auf GPS-Höhe oder manuelle Eingabe zurückfallen showAlternativeMethod(); }} catch (error) { console.error('Barometer-Prüfung fehlgeschlagen:', error);}Verrauschte Daten
Section titled “Verrauschte Daten”class PressureFilter { private readings: number[] = []; private maxReadings = 5;
addReading(pressure: number): number { this.readings.push(pressure); if (this.readings.length > this.maxReadings) { this.readings.shift(); }
// Gleitenden Durchschnitt zurückgeben const sum = this.readings.reduce((a, b) => a + b, 0); return sum / this.readings.length; }}Nächste Schritte
Section titled “Nächste Schritte”- Erkunden Sie die API-Referenz für die vollständige Methodendokumentation
- Schauen Sie sich die Beispiel-App für erweiterte Verwendung an
- Sehen Sie das Tutorial für vollständige Implementierungsbeispiele