> Nur ich kann das nicht über den ESP bekommen.
Das musst du genauer beschreiben. Was erwartest du, zu empfangen, und
was empfängst du stattdessen. Wie verhält sich deine Anwednung mit ESP
im Vergleich zu einem Test am PC mit Netcat?
Log-Auszüge der ganzen Tests solltest du zeigen, kannst die ID's ja
unkenntlich machen.
> GET /data/2.5/weather?id=...................................\r\n
Hier fällt mir auf, dass du vergessen hast, das HTTP Protokoll
anzugeben.
GET /data/2.5/weather?id=...... HTTP/1.0\r\n
Εrnst B. schrieb:> Evtl. musst du auch einen Header "Accept: application/json" mitsenden.
Hi,
die Sachen:
AT+CIPSTART="TCP","api.openweathermap.org",80
AT+CIPSEND=103\r\n
GET /data/2.5/weather?id=...................................\r\n
Host: api.openweathermap.org\r\n
die funktionieren und bekomme alle Wetterdaten. Ich sende dort gar kein
HTTP/1.0, klappt trotzdem?!
Hier geht es um diesen Link:
https://script.googleusercontent.com/macros/echo?user_content_key=9KdUApyqKa0Y0_g2e61WcfwsXKZrv2_mHapbDknbkXtjMzsWuclVsSdhH9OO9wjLonCQ6f-d99SFFKcMF19uw8ca4KGM4fEtm5_BxDlH2jW0nuo2oDemN9CCS2h10ox_1xSncGQajx_ryfhECjZEnJ9GRkcRevgjTvo8Dc32iw_BLJPcPfRdVKhJT5HNzQuXEeN3QFwl2n0M6ZmO-h7C6eIqWsDnSrEd&lib=MwxUjRcLr2qLlnVOLh12wSNkqcO1Ikdrk
Ruft ihn einfach mal auf, und ihr seht was eigentlich zu erwarten ist.
Den habe ich im Netz gefunden, da braucht man keine ID.
Ich habe versucht so zu senden:
AT+CIPSTART="TCP","script.googleusercontent.com",80\r\n
AT+CIPSEND=338\r\n
GET
/macros/echo?user_content_key=_5fcYWA9yfzbGOQ3O0JNrZ4D9A61ZBUmAqa2IdWptG
NKWGc0KVKrrKtsCJquQ0JpBw_zxse2Tzjzxj24GGxQuFXGAaKqr0OYm5_BxDlH2jW0nuo2oD
emN9CCS2h10ox_1xSncGQajx_ryfhECjZEnJ9GRkcRevgjTvo8Dc32iw_BLJPcPfRdVKhJT5
HNzQuXEeN3QFwl2n0M6ZmO-h7C6eIqWsDnSrEd&lib=MwxUjRcLr2qLlnVOLh12wSNkqcO1I
kdrk/1.1\r\n
Host: script.googleusercontent.com\r\n
Ich bekomme dort sofot einen Fehler (ohne Wartezeit). Siehe Screenshot.
Was mache ich dort flasch? Wie muss ich das senden? Ich habe mich
einfach am openweathermap Code orientiert, da dieser funktioniert.
Marius D. schrieb:> Hier geht es um diesen Link:> https://script.googleusercontent.com/macros/echo?user_content_key=9KdUApyqKa0Y0_g2e61WcfwsXKZrv2_mHapbDknbkXtjMzsWuclVsS
um diesen Link geht es eher nicht wirklich - hier lautet das Ding
"https://" - das ist SSL/TLS über Port 443. In deinem Code gibst du aber
Port 80 - also HTTP - an. Das ist ein klitzekleiner Unterschied...
Rufst du o.g. Link in einer Kommandozeile deiner Wahl mal auf z.B. per
curl "http://script...." bekommst du als Antwort dann einen
"301 Moved Permanently" wiederum auf "https://....". Dem folgt die
ESP-Firmware aber ganz sicher nicht...
Offenbar möchte Google nicht, dass man ohne SSL zugreift.
"Früher" jedenfalls konnte die AT-Firmware gar kein SSL - ob sich das
inzwischen geändert hat, weiss ich nicht.
Da sich nach meiner Erfahrung jede AT-Version von der jeweils anderen
Version mehr oder weniger deutlich (bis fatal) unterscheidet, habe ich
es aufgegeben, damit irgendwas Sinnvolles machen zuwollen... :)
Marius D. schrieb:> einfach am openweathermap Code orientiert, da dieser funktioniert.
Der funktioniert, weil der Server dort die Uralt-Version von HTTP (noch
aus den Zeiten vor Versionsnummern, jetzt oft als HTTP 0.9 bezeichnet)
spricht.
Das muss nicht jeder Server so handhaben.
Schreib einfach hinter die URL&vor \r\n noch " HTTP/1.0" (mit space
getrennt)
Wenn der Google-Server jedoch auch noch HTTPS erwartet hilft das alleine
nicht.
Εrnst B. schrieb:> Marius D. schrieb:>> einfach am openweathermap Code orientiert, da dieser funktioniert.>> Der funktioniert, weil der Server dort die Uralt-Version von HTTP (noch> aus den Zeiten vor Versionsnummern, jetzt oft als HTTP 0.9 bezeichnet)> spricht.>> Das muss nicht jeder Server so handhaben.>> Schreib einfach hinter die URL&vor \r\n noch " HTTP/1.0" (mit space> getrennt)>> Wenn der Google-Server jedoch auch noch HTTPS erwartet hilft das alleine> nicht.
Hallo,
der Server wird https erwarten denke ich.
Wenn ich " HTTP/1.0" oder ähnliches hinterhänge, dann bekomme ich gar
keine Antwort mehr. 0. Wenn ich nur "/1.1\r\n" mache ohne Leerzeichen,
dann geht es.
Jan L. schrieb:> Marius D. schrieb:>> Hier geht es um diesen Link:>>> https://script.googleusercontent.com/macros/echo?user_content_key=9KdUApyqKa0Y0_g2e61WcfwsXKZrv2_mHapbDknbkXtjMzsWuclVsS>> um diesen Link geht es eher nicht wirklich - hier lautet das Ding> "https://" - das ist SSL/TLS über Port 443. In deinem Code gibst du aber> Port 80 - also HTTP - an. Das ist ein klitzekleiner Unterschied...>> Rufst du o.g. Link in einer Kommandozeile deiner Wahl mal auf z.B. per>> curl "http://script...." bekommst du als Antwort dann einen> "301 Moved Permanently" wiederum auf "https://....". Dem folgt die> ESP-Firmware aber ganz sicher nicht...> Offenbar möchte Google nicht, dass man ohne SSL zugreift.>> "Früher" jedenfalls konnte die AT-Firmware gar kein SSL - ob sich das> inzwischen geändert hat, weiss ich nicht.> Da sich nach meiner Erfahrung jede AT-Version von der jeweils anderen> Version mehr oder weniger deutlich (bis fatal) unterscheidet, habe ich> es aufgegeben, damit irgendwas Sinnvolles machen zuwollen... :)
Ja und deswegen habe ich eine Version, die sehr stabil läuft und alles
was ich brauche kann. Und bei der bin ich geblieben, weil sonst muss man
monatlich sich neu einarbeiten weil sich alles konfus geändert hatt.
Ich habe V. 1.4.0 und AT Version 0.5
Kennt jmd. vll noch einen anderen Anbieter wo ich simpel á la
openweathermap die Uhrzeit, Tag und Datum bekommen kann, kostenlos im
JSON?
Ich finde da nix wie man das Datum und die Uhrzeit bekommen kann, Wetter
gibt es 1000x anbieter.....
Oder wie geht das das ich diese Daten bekomme?!
Eine weitere Weiterleitung. Wenn man dieser folgt, bekommt man nochmal
ne Weiterleitung, und danach nochmal die vorherige Weiterleitung, eine
Endlosschleife, ich müsste wohl die Cookies mitsenden, aber dass wird
doch langsam zu aufwendig. Ausserdem ist es unwahrscheinlich, dass der
ESP SSL überhaupt unterstützt.
Marius D. schrieb:> Ich finde da nix wie man das Datum und die Uhrzeit bekommen kann, Wetter> gibt es 1000x anbieter.....
ich habe mal meine Musikanlage dabei "ertappt", dass sich selbige diese
Daten hier per Webservice holt:
http://new.earthtools.org/webservices.htm
Jan L. schrieb:> Marius D. schrieb:>> Ich finde da nix wie man das Datum und die Uhrzeit bekommen kann, Wetter>> gibt es 1000x anbieter.....>> ich habe mal meine Musikanlage dabei "ertappt", dass sich selbige diese> Daten hier per Webservice holt:> http://new.earthtools.org/webservices.htm
Hast du da einen Direktlink wo ich die JSON Daten habe?
Sehr undurchsichtig die Seite finde ich.
Marius D. schrieb:> Jan L. schrieb:>> Marius D. schrieb:>>> Ich finde da nix wie man das Datum und die Uhrzeit bekommen kann, Wetter>>> gibt es 1000x anbieter.....>>>> ich habe mal meine Musikanlage dabei "ertappt", dass sich selbige diese>> Daten hier per Webservice holt:>> http://new.earthtools.org/webservices.htm>> Hast du da einen Direktlink wo ich die JSON Daten habe?> Sehr undurchsichtig die Seite finde ich.
...funktioniert doch genau wie's da steht - ok, der Hostname hat sich
geändert:
>> ...und ein Blick auf die Uhr zeigt - stimmt! ;-)
Ich habe das getestet, wenn ich dem ESP das nach dem o.g. Schema sende,
bekomme ich 3 Zeilen zurück das der Header nicht passt aber nicht diese
Daten. Ist in diesem Fall auch XML, muss ich da anders vorgehen?
Stefan U. schrieb:> So geht es.>> Mit HTTP/1.0 geht es nicht.
...jedenfalls muss einfach irgendeine Protokollangabe hin, wird
serverseitig "upgegradet"; und der HOST-Header muss sein.
Marius D. schrieb:> Kennt jmd. vll noch einen anderen Anbieter wo ich simpel á la> openweathermap die Uhrzeit, Tag und Datum bekommen kann, kostenlos im> JSON?>> Ich finde da nix wie man das Datum und die Uhrzeit bekommen kann, Wetter> gibt es 1000x anbieter.....
Falls Dir das reicht:
http://date.jsontest.com/http://time.jsontest.com/
Beschreibung:
http://www.jsontest.com/
guest schrieb:> Marius D. schrieb:>> Kennt jmd. vll noch einen anderen Anbieter wo ich simpel á la>> openweathermap die Uhrzeit, Tag und Datum bekommen kann, kostenlos im>> JSON?>>>> Ich finde da nix wie man das Datum und die Uhrzeit bekommen kann, Wetter>> gibt es 1000x anbieter.....>> Falls Dir das reicht:> http://date.jsontest.com/> http://time.jsontest.com/> Beschreibung:> http://www.jsontest.com/
Das ist geil. Perfekt danke.