Offline
Full Member
Karma: 0
Posts: 194
|
 |
« on: October 21, 2012, 06:51:51 am » |
Um nicht jedes mal den PC anschalten zu müssen, um einen Temperaturwert eines entfernten Webservers auszulesen, möchte ich einen bestimmten Wert auf einer Website auslesen. Ich selbst habe Zugang zum Server. Die betreffende Zeile im Source-HTML-Text lautet: <tr><td>Sensor 6</td><td>Nebengebaeude</td><td align="right">13,8</td><td align="left">°C</td><td>13,6 / 13,8</td></tr> Hier möchte ich gerne den Wert 13,8°, der sich stetig ändert auf dem LCD des Arduino darstellen. Anbieten würde sich ja das Beispiel "WebClient", nur da geht es schon los. Wie übermittle ich den Benutzernamen und das Passwort und wie komme ich zu den "13,8°" ? Hat jemand eine Idee oder schon ein ähnliches Projekt gestemmt ? Interessant wäre es auch, wenn man z.B. einen Börsenwert verfolgen möchte. Jedoch für mich ist im Augenblick die Temperatur wichtiger.
Gruß Gerd
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 2
Arduino rocks
|
 |
« Reply #1 on: October 21, 2012, 09:22:36 am » |
Hallo, sowas ähnliches suche ich auch, um RSS-Feeds einzulesen und die Texte möchte ich auf eine große Led-Laufschrift anzeigen. z.B von Elektor gibt es eine RSS Seite mir den neusten Meldungen... Bernd
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3196
20 LEDs are enough
|
 |
« Reply #2 on: October 21, 2012, 09:29:28 am » |
Schritt 1: http lernen und die entsprechenden Tools. Schau Dir die Webseite mal durch sowas wie Fiddler2 an. D.h. Fiddler2 starten und die Daten per Broswer abholen. Dann siehst Du schon wie das geht.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 194
|
 |
« Reply #3 on: October 21, 2012, 09:46:46 am » |
Hallo Udo, diese Antwort bezieht sich doch auf die Frage von Bernd, löst jedoch nicht mein Problem. Hast du da auch noch was im Petto ?
Gruß Gerd
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 194
|
 |
« Reply #4 on: October 21, 2012, 10:27:14 am » |
Hallo Bernd, vielleicht kannst du das für dich "umschreiben"
Gruß Gerd
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
BZ (I)
Offline
Brattain Member
Karma: 161
Posts: 15669
+39 349 2158303
|
 |
« Reply #5 on: October 21, 2012, 11:55:31 am » |
Hallo Gerd
Das was Du uns zitiert hast ist eine Zeile einer Tabelle. <tr> <td>Sensor 6</td> <td>Nebengebaeude</td> <td align="right">13,8</td> <td align="left">°C</td> <td>13,6 / 13,8</td> </tr>
Am einfachsten Du suchst nach dem String "Sensor 6" und liest dann die Zeichen nach x Zeichen aus (offset 45 bis zum Position des ersten Zeichens der Temperatur) und dann alle Zeichen einlesen bis ein < kommt.
Grüße Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 194
|
 |
« Reply #6 on: October 21, 2012, 12:10:04 pm » |
Hallo Uwe, das ist richtig, ich will einen Temperaturwert einer Tabelle aus einer HTML-Seite auslesen und habe hier nur die Zeile im Sourcecode dargestellt. Aber so weit komme ich garnicht, um hier ein wenig zu experimentieren. Als Ansatz wollte ich das Ethernetbeispiel (WebClient) nehmen, aber wie zuvor erwähnt hapert es an der Identifizierung, weil der Webserver Passwort geschützt ist. In dem Beispiel wird eine IP verwendet. Ich könnte die Website auch als IP darstellen, jedoch könnte ich nicht wie hier im Beispiel " http://user:passwort@web-adresse.de" den User und das Passwort übermitteln. Wie kann ich den Usernamen und das Kennwort übermittel ? Gruß Gerd
|
|
|
|
|
Logged
|
|
|
|
|
im Neckartal
Offline
Jr. Member
Karma: 0
Posts: 57
|
 |
« Reply #7 on: October 21, 2012, 12:22:53 pm » |
Hi, Wie kann ich den Usernamen und das Kennwort übermittel ? Gegenfrage: Wie nimmt der Webserver die Zugangsdaten entgegen? Grüßle Bernd
|
|
|
|
|
Logged
|
Theoretisch gibt es keinen Unterschied zwischen Theorie und Praxis ...
|
|
|
|
Offline
God Member
Karma: 8
Posts: 620
42
|
 |
« Reply #8 on: October 21, 2012, 12:26:01 pm » |
Wenn die Benutzerauthentifikation über htaccess abläuft, hast du schlechte chancen, da der Useragent die Art der Anmeldung (User:Passwort@domain) unterstützen muss - was der Arduino anscheinend nicht tut. Hier hilft dann nur noch eine eventuelle Headermanipulation. Wenn sie Datenbank- bzw. Programmgestützt ist, könnte man eventuell über eine bestehende API bzw. über einen GET-Request der die Formulardaten interpretiert arbeiten.
von welcher Seite möchtest du den etwas auslesen?
|
|
|
|
« Last Edit: October 21, 2012, 12:27:48 pm by Marcus W »
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 194
|
 |
« Reply #9 on: October 21, 2012, 12:47:36 pm » |
Hallo Marcus, die "User:Passwort@domain"- Variante habe ich mir auch schon abgeschminkt. Aber bei einem einfachen Test, z.B. if (client.connect(server, 80)) { Serial.println("connected"); // Make a HTTP request: client.println("GET /search?q=Sensor 6 HTTP/1.0"); client.println(); } bekomme ich als Antwort: connecting... connected HTTP/1.0 401 Unauthorized Server: AVR_WEB_Switch WWW-Authenticate: Basic realm="NeedPassword" Content-Type: text/html 401 Unauthorized disconnecting. Eigentlich schon klar, weil die User- und Passwortabfrage nicht mit eingebunden war, aber wie mache ich das ?? Gruß Gerd
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 1
Posts: 29
|
 |
« Reply #10 on: October 21, 2012, 01:00:05 pm » |
Hi, Wenn du nicht ewig die Theorie lesen möchtest (AFAIK http://www.faqs.org/rfcs/rfc2617.html#b), dann würde ich einfach mal mit Wireshark schauen, wie dein Browser die Seite abruft. Das kannste dann ja nachbauen.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 194
|
 |
« Reply #11 on: October 21, 2012, 01:03:40 pm » |
Hallo Bernd, habe dich ganz übersehen, sorry. Wie du etwas weiter unten siehst, komme ich schon auf den Webserver rauf, jedoch kann ich mich nicht identifizieren, weil ich nicht weiss, wie man User und Passwort übermittelt. Per Webbrowser natürlich nicht das Problem  ) Gruß Gerd
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 8
Posts: 620
42
|
 |
« Reply #12 on: October 21, 2012, 01:05:22 pm » |
Wie Holger bereits sagte, lass wireshark mitlaufen und schau, wie es dein Browser macht...
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 194
|
 |
« Reply #13 on: October 21, 2012, 01:08:15 pm » |
Hallo Holger, wie mein Browser die Webseite aufruft, weis ich. Es kann doch aber wirklich nicht schwierig sein, hier eine "Clientantwort" mit einzubinden, ohne sich mit Theorien zu beschäftigen. Ich bin leider zu blöd, um das alleine zu stemmen.
Gruß Gerd
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 8
Posts: 620
42
|
 |
« Reply #14 on: October 21, 2012, 01:10:02 pm » |
|
|
|
|
« Last Edit: October 21, 2012, 01:11:52 pm by Marcus W »
|
Logged
|
|
|
|
|
|