⛈Regenvorhersage aus Internet-Wetterdaten mit ESP8266 (Arduino core)

Gast #6007039
Lesenswert?
• ▲
▼
- Gibt es einen kostenlosen Wetterdienst mit "API", der mir sagen kann, 
ob es gleich/heute noch regnet?

- Wie sähen diese Daten im besten Fall aus (z.b. nützt "Possible light 
rain tomorrow afternoon and evening." [darksky.com] nicht viel)?
Wie könnte man die Wahrscheinlichkeiten (precipProbability) der "hourly" 
Vorhersage dazu nutzen? Reicht ein fester Schwellwert? Welcher?

- Die Wetterdaten müssen kompakt sein (Filter möglich?), denn z.B. lässt 
sich ein 16 kB JSON Paket von darksky nicht mit ArduinoJSON auf ESP8266 
parsen (NoMemory error).

Die Verarbeitug sollte direkt geschehen, d.h. z.B. eine Art 
JSON-Filter-Proxy (siehe EEL) auf separatem Rechner möchte ich 
vermeiden.

Also muss man sich wahrscheinlich die Daten gezielt aus dem Stream 
picken.

Hier noch ein paar Links:


- https://openweathermap.org/api
- https://api.darksky.net/
- https://www.arduino.cc/en/Reference/WiFiClient
- 
https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/client-secure-class.html
Gast #6007072
Lesenswert?
• ▲
▼
Ich nutze als Filter proxy 'google scripts' auf google drive. Dann die 
von dir erwähnten openweather api und filtere damit für den esp8266 die 
Daten vor. Google scripts ist zwar streng genommen ein externer 
Rechner... Aber den muss ich nicht warten/pflegen.
Gast #6007167
Lesenswert?
• ▲
▼
Uli Spizig schrieb:
> Ich nutze als Filter proxy 'google scripts' auf google drive. Dann die
> von dir erwähnten openweather api und filtere damit für den esp8266 die
> Daten vor. Google scripts ist zwar streng genommen ein externer
> Rechner... Aber den muss ich nicht warten/pflegen.

https://en.wikipedia.org/wiki/Google_Apps_Script
Sehr cool, das kannte ich noch nicht.
Gibt es dazu Näheres oder kannst du es im Detail beschreien?
Wird folgende Library benötigt?:
https://github.com/electronicsguy/ESP8266/tree/master/HTTPSRedirect

@Mick
Danke, die basieren beide auf JsonStreamingParser (bzw. Varianten).


Ich versuch's gerade mit
1
const char search[] = "ability\": ";
2
  while ( client.available() ){
3
    ok = client.find(search);
4
...

aber der string wird nicht gefunden - und ich weiß noch nicht, wieso...
Gast #6007378
Lesenswert?
• ▲
▼
Bei yr.no gibt's die Daten als XML -- die Doku dazu ist allerdings nur 
auf norwegisch verfuegbar. Einfach eine Stadt waehlen und dann in der 
URL hinten "forecast.xml" dranhaengen. Die Regenvorhersage ist in mm 
fuer den angegebenen Zeitraum (normalerweise pro 6h fuer die normale 
Vorhersage und pro 1h bei "time for time").
(Firma: Lurch Hobby Tec) #6007548
Lesenswert?
• ▲
▼
Hallo,

hier ein praktisches Beispiel für den m5stack, bringt auch gleich ein 
Display mit.
Anzeigewerte sind Luftdruck, Temperatur und Feuchte. Außerdem die 
Wetterdaten der ausgewählten Stadt. ( City ID )
Wenn man die Seite aufruft, kann man seine persönliche ID für die API 
anfordern.
Diese dann eintragen im Projekt.
WLAN ist erforderlich, programmiert ist das alles in µPython.
Wir haben das in einem Seminar als Gruppe getestet und es hat bei allen 
funktioniert.

Viel Spaß beim probieren!

Gruß
MURKEL
Angehängte Dateien:
Gast #6007574
Lesenswert?
• ▲
▼
Info schrieb:
> Wie könnte man die Wahrscheinlichkeiten (precipProbability) der "hourly"
> Vorhersage dazu nutzen? Reicht ein fester Schwellwert? Welcher?

Eine Wahrscheinlichkeit ist eine Wahrscheinlichkeit. Die lebt, um es mit 
den Worten der Statistiker zu sagen, von einer Grundgesamtheit.

Regen kann sehr lokal auftreten, d.h. ein Schwellwert für deine 
"precipProbability" nützt dir überhaupt nichts für einen bestimmten Ort. 
Sie sagt dir, wie groß die Chance ist, nass zu werden, aber nicht ob du 
nass wirst.

Beim Lotto kannst du auch den Jackpot knacken, obwohl die 
Wahrscheinlichkeit gering ist.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.