Sensordaten mit der TreeSense API einbinden

|

Du möchtest TreeSense-Sensordaten direkt in deine eigene Anwendung einbinden? Das ermöglicht dir die TreeSense API.

Alle verfügbaren Befehle findest du in der Dokumentation.

Das folgende Python-Beispiel zeigt dir, wie du Datenpunkte von einem bestimmten Sensor abrufst.

Python Packages laden

Zunächst laden wir die notwendigen Python-Packages.

import requests
import os
from dotenv import load_dotenv

Anmeldedaten sicher laden

Passwörter gehören niemals in den Quellcode. Speichere Email und Passwort stattdessen in einer .env-Datei im Projektordner und lade sie dynamisch.

load_dotenv()

EMAIL = os.getenv("TREESENSE_EMAIL")
PASSWORD = os.getenv("TREESENSE_PASSWORD")

Einloggen und Access Token abrufen

Sende deine Anmeldedaten an den /v1/login-Endpunkt. Du erhältst im Response einen Access Token.

BASE_URL = "https://api.treesense.net"

login_response = requests.post(
    f"{BASE_URL}/v1/login",
    json={
        "email": EMAIL,
        "password": PASSWORD
    }
)

login_response.raise_for_status()
tokens = login_response.json()

access_token = tokens["accessToken"]

Sensordaten abrufen

Rufe nun den /v1/data-Endpunkt auf und übergib den Access Token im Header. Um anzugeben, für welchen Sensor die Daten abgerufen werden sollen, gibst du bei einem LoRaWAN-Sensor die DevEUI und bei einem Narrowband-IoT-Sensor die IMEI in den Parametern an. Zudem kannst du den Zeitraum der Abfrage sowie die Fenster-Größe für die Mittelwertbildung definieren. Wir wählen hier “1d”, was den Mittelwert über einen ganzen Tag bedeutet.

data_response = requests.get(
    f"{BASE_URL}/v1/data",
    headers={
        "Authorization": f"Bearer {access_token}"
    },
    params={
        "DevEUI": "YOUR_DEVEUI",
        "start": "2026-04-01",
        "end": "2026-04-02",
        "interval": "1d"
    }
)

data_response.raise_for_status()
data = data_response.json()

print("Sensor Daten:", data)

Fertig! Du erhältst die angeforderten Sensordaten als JSON-Response.

Sensor Daten: {
    'meta': {
        'sensorType': 'Pulse',
        'networkType': 'LW',
        'name': 'Beispiellinde',
        'devEUI': 'SENSOR_ID'
    },
    'units': {
        'temperature': '°C',
        'battery': 'V',
        'resistance': 'kOhm',
        'moisture_content': '%'
    },
    'data': [
        {
            'hardware_serial': 'YOUR_DEVEUI',
            'battery': 3.32,
            'resistance': 52.21,
            'temperature': 7.87,
            'time': '2026-04-02T00:00:00Z',
            'moisture_content': 0.83
        }
    ]
}

Was du nun mit den Daten machst, bleibt ganz dir überlassen. Du könntest zum Beispiel den Verlauf über mehrere Tage hinweg mit Matplotlib visualisieren.

Das ist hilfreich Das ist nicht hilfreich
Zurück zu TreeSense Wiki