Wetterstation mit APRS

Zu Weihnachten gab es eine kleine smarte Wetterstation von Bresser (Link). Eine Einbindung in das Tuya (auch SmartLife) Smart Home ging schnell und die ersten Daten sind auf dem Display, wie auf dem Handy zu sehen.

 

Wetterdaten abfragen

Nun war die Idee, diese Daten auch grafisch am PC dazustellen und diese auch noch ins APRS zu senden. Die Schwirigkeit bestand aber nun darin, die Wetterdaten von der Wetterstation ersteinmal abzufragen. Nach langer Recherche bin ich auf ein paar kleine Projekte gestoßen:

  1. Tuyapi: https://github.com/codetheweb/tuyapi
  2. TuyaAPI: https://bitbucket.org/serkanp/smg.tuyaapi/src/TuyaApi

Beide Projekte gaben mir ein kleinen Grundstein für mein Projekt. Ich erstellte auf https://iot.tuya.com/ einen Account und erstellte mein erstes Projekt (Datacenter: Central Europe Data Center) mit folgenden Services:

  • IoT Core
  • Authirization Token Management
  • Smart Home Scene Linkage

Nach der Erstellung habe ich meine API Zugangsdaten bekommen, diese benötigen wir später für den Code. Zudem muss einmalig das Konto mit der App verknüpft werden, das geht am einfachsten per QR-Code Scan mit dem Handy und schon tauchen die Geräte mit ID im Browser auf.

 

Wetterdaten ablegen

Nachdem wir nun Zugriff auf die Daten haben, müssen wir diese nur abfragen und speichern. Am besten eignet sich eine InfluxDB dafür. Diese habe ich einfach als Docker Container auf einem Ubuntu 22.04 gestartet und ein Bucket angelegt. Die Daten werden dann per HTTP Request in das Bucket übertragen.

 

Wetterdaten anzeigen

Für die Anzeige der Daten habe ich mich für Grafana entschieden, das lässt sich auch einfach per Container betreiben. Die Datenquelle InfluxDB lässt sich dabei spielend einbinden und nach belieben Grafiken erstellen lassen. Das Dashboard habe ich hier zusammengestellt: Grafana Dashboard

Grafana Waether Dashboard

Public URL: http://weather.he-it.eu

 

Wetterdaten an APRS senden

Damit nun auch die Daten an APRS gesendet werden können, muss ein Passcode erstellt werden. Dieses geht ganz einfach hier: https://apps.magicbug.co.uk/passcode/

Das Programm sendet die Wetterdaten als String per Telnet an die APRS Server. Die URL wird als rotate.aprs.net angegeben und verbindet sich mit einem Loadbalancer auf einen der APRS Server.

Die Wetterdaten in APRS sehen wie folgt aus:

APRS Weather Data

 

Das Programm

Nachdem wir alle Punkte zusammen haben, muss das ganze nur noch in ein Programm gebracht werden, was auf einem Server ausgeführt werden kann. Ich habe zudem das als Service verfasst und kann diesen interaktiv auf dem Windows Server laufen lassen.

Der Quellcode befindet sich im Git Repository: https://github.com/Stiles96/WeatherTuyaAPI

Nach dem Clone müssen die passenden Zugangsdaten eingetragen werden, wie das Programm compilet werden und mit dem beiliegenden Batch File als Service installiert werden.