FastAPI-Relay einrichten

Das Python-FastAPI-Relay installieren, das Arduino-JSON abfragt und einen stabilen HTTPS-Feed bereitstellt, den ProbeHarbor abrufen kann.

Nahaufnahme weißer Cat-5e-Ethernet-Kabel mit RJ45-Steckern
Das Fühler-JSON verlässt das LAN meist über Ethernet oder ein nahes Relay, nicht direkt übers öffentliche Internet. Foto: DiscDepotDundee.co.uk. CC BY-SA 4.0

Ein kleiner FastAPI-Dienst auf einem Heimserver oder VPS kann den Arduino im LAN per HTTP abfragen und dann eine stabile HTTPS-URL ins Internet stellen. So bleiben TLS und Authentifizierung vom Mikrocontroller fern, während das JSON erhalten bleibt, das dein Dashboard bereits versteht. Soll der Uno die Daten lieber pushen, statt auf eine Abfrage zu warten, nutze sketches/relay/push_https_forward.py und das Beispiel ethernet_dht22_ingest: siehe Python-Feeds.

Minimale Architektur

  1. Ein Scheduler oder Abruf bei Bedarf fragt http://arduino.local/... im LAN ab.
  2. Eine FastAPI-Route liefert den zuletzt zwischengespeicherten Inhalt mit dem richtigen Content-Type aus.
  3. Ein Reverse Proxy (Caddy, nginx) terminiert TLS unter einem öffentlichen Hostnamen.

Tipps zur Konfiguration

  • Setze vernünftige Timeouts: Die Anbindung der Garage ist langsamer als die Latenz im Rechenzentrum.
  • Protokolliere Fehler der Gegenstelle getrennt von 404-Fehlern der Clients.
  • Versioniere das Relay, wenn sich das JSON-Schema ändert.

Cache-Schicht

Ergänze einen Redis-Cache, damit Cloudflare Workers und die Astro-Website deine private IP nicht bei jedem Seitenaufruf bombardieren. Sicherheit: Sicherheit des Relays.