Show Posts
Pages: 1 ... 85 86 [87] 88 89 ... 94
1291  International / Deutsch / Re: Online-Abfrage von Bahn-Verbindung on: February 11, 2012, 02:34:47 pm
@df6ih: Wozu brauchst Du "Tastatureingaben"? Es ist doch wurscht woher die Daten der Parameter kommen. Da die Werte bekannt sind, werden die beim HTTP-Request in Richtung Webserver der Bahn übertragen. Egal ob per GET oder per POST, die Daten stecken immer in einem Request. Bei GET in der URL, genauer eigentlich URI und beim POST im Body des Request. Die Daten werden doch nicht einzeln übertragen, jedesmal, wenn Du im Formular etwas einträgst oder anklickst. Das geht zwar auch (per AJAX), wird aber im Bahnformular nicht verwendet und war auch nie Gegenstand der Diskussion.
Es gibt auch prinzipiell keinen Unterschied zwischen Deinem Browser und er Arduino-Software. Am Ende schickt ein Programm über eine TCP Verbindung auf Port 80 an die IP 81.200.198.90 einen größeren String, der dann von der Gegenstelle interpretiert wird. Die daraus resultierende Antwort schickt dann der Bahnserver wieder über die gleiche Verbindung zurück.
Spannend bleibt die Frage nach den POST Parametern allemal. Leider ist mein Arduino-Ethernet ziemlich tief in meiner Wetterstation vergraben, daher kann ich das zur Zeit nicht testen. Ich behalte das aber mal im Hinterkopf, denn so offene Fragen zu Sachen die eingentlich funktionieren müßten, mag ich auch nicht.
1292  International / Deutsch / Re: Online-Abfrage von Bahn-Verbindung on: February 11, 2012, 03:13:50 am
Also, wie GET und POST funktioniert, weiß ich schon seit einiger Zeit. Vielen Dank für die Belehrung.
Quote
Die geposteten Variablen werden innerhalb der Übertragung des Servers tranportiert, da kann man erst mal nicht eingreifen. Was du im Link zeigst sind GET Variablen, die kann man sehr wohl beeinflussen, dummerweise handelt es sich im vorliegenden Fall aber um beides.
Was meinst Du hier mit "eingreifen"? Wie bereits zweimal im Thread erwähnt, werden die POST Daten mit dem HTTP-Request vom Arduino mitgeschickt. Die entsprechende Zeile hatte ich im übrigen nocheinmal explizit gepostet. Meine Lösung verwendet tatsächlich nur GET Parameter, was ja offensichtlich auch zu funktionieren scheint. Dabei ging es mir vor allem darum, das diese Lösung Speicher- und Programmtechnisch deutlich einfacher und effektiver ist. Das sollte aber nicht bedeuten, das POST nicht funktionieren kann, was Du offensichtlich zu glauben scheinst.
Quote
Hinzu kommen alle möglichen Sicherheitsabfragen der Server neuerer Bauart ( sprich Betriebssysteme und deren Kompilate) die nach Spam Methoden suchen, eben genau die, die es im erfolgreichen Nutzungsfalle brauchen würde.
Auch hier verstehe ich leider wieder nicht ganz, was Du damit sagen willst. Was hat bitte der Server (gemeint ist die Maschine, das Blech, nicht das Webserver-Programm) und das Betriebssystem mit dem Web-Request zu tun. Von welchen Sicherheitsabfragen redest Du konkret?
Arduio und der Webserver (gemeint ist das Programm und nicht der Computer) der Bahn reden ja schon miteinander. Diese Strecke der Kommunikation können wir also bei der Analyse erstmal vernachlässigen. Nun würde es ehr darum gehen, zu schauen ob die vom Arduino erzeugten HTTP-Requests RFC-konform sind und daher vom Webserver (Programm nicht Computer) korrekt verarbeitet werden können. Hier ist der Vorschlag von Udo das ganze zum Testen über einen Proxy laufen zu lassen schon mal nicht schlecht.
Da hier ein gewisser Aufwand entsteht, sollten wir dauf das Fedback von "nachtaktiv68" warten, ob die reine GET-Methode klappt, oder ob wir weiter mit der POST Methode testen sollen.
1293  International / Deutsch / Re: Welche Programmiersprache ist dem Arduino am ähnlichsten ? on: February 10, 2012, 03:17:17 pm
Quote
Diese Aussage ist falsch. Der Arduino wird in C++ programmiert und nicht in C.
Auch wenn die beiden Sprachen sich oberflaechlich aehnlich sind, so sind es doch zwei voellig unterschiedliche Sprachen.
Also C und C++ sind keine unterschiedlichen Sprachen. C++ ist eine Erweiterung von C um objektorientierte Programmierung, wobei C als vollständige Teilmenge in C++ enthalten ist.
Somit wird der Arduino sehr wohl in C programmiert. Sämtliche Funktionen die Du verwendest und die nicht an einer Klasse respektive Objekt hängen sind C.
Der größte Teil der in der IDE verwendeten Funktionen sind sogar C-Funktionen.
1294  International / Deutsch / Re: Online-Abfrage von Bahn-Verbindung on: February 10, 2012, 03:11:32 pm
POST Variablen lassen sich nicht "setzen", GET natürlich schon, aber die alleine lassen garnichts zu.

Ist doch aber auch klar: So lange ich einen Client simmuliere muss ich auch mit jedem anderen Client (=Browser) in der Lage sein das nachzumachen.

Und so lässt sich relativ einfach feststellen, dass der eingeschlagene Weg (ohne weitere Unterstützung) ein Holzweg ist.

Mindestens das cURL müsste als Befehl in der Arduino Umgebung funktionieren, was es aber allem Anschein nach nicht tut.
Sorry, aber ich verstehe leider überhaupt nicht was Du mit diesen Sätzen sagen willst. Die POST Daten hat der o.p. ja in seinem Request den er absetzt drin.
Code:
clientBahn.println("date=10.02.12&productClassFilter=1&trainname=874&stationFilter=80&start=Suchen");
Was meinst Du mit
Quote
Und so lässt sich relativ einfach feststellen, dass der eingeschlagene Weg (ohne weitere Unterstützung) ein Holzweg ist.
Und wie kommst Du von simulierten Clients (Browser) zu dieser Schlussfolgerung?
Und welcher Befehl soll "cURL" sein?
Ich gebe es zu, aber ich bin verwirrt....
1295  International / Deutsch / Re: Hygrosens I2C TEMOD I2C wie korrekte Temperatur Ausgabe? on: February 10, 2012, 04:21:10 am
Mit folgender Formel:
b1 << 8 , das entspricht der Multiplikation mit 256, also 14*256
das ganze plus b2, also + 46
Dann die Formel aus dem Datenblatt für den Sensor R3 (ist geraten, denn hier passt der Wert zum gemessenen Wert)
V/64 - 32
das entspricht dann:
(14*256+46)/64-32 = 24,71875 ~ 24,72°C
1296  International / Deutsch / Re: Online-Abfrage von Bahn-Verbindung on: February 10, 2012, 03:54:27 am
Cookies sind nicht zwingend egal. Es mag durchaus sein, das in diesem Fall Cookies keine Rolle spielen, aber das kann man nicht verallgemeinern. Wird ein Cookie als Session-Cookie verwendet, z.b. um SPAM-Anfragen zu verhindern, dann spielt das schon ein Rolle.

Unabhängig davon habe ich mit telnet mal ein wenig gespielt und siehe da, es muss nicht zwingend POST sein :-)

Du kannst Deine Parameter auch einfach per GET an den Request-String anhängen. Was ich allerdings gemacht habe ist die "&amp;" in einfache "&" zu ändern, so wie es das Protokoll vorsieht. Vor allem sieht man, das Du den Request auf das GET und den "Host" Parameter eindampfen kannst. Das spart wieder Speicher für Dein Programm, weil Du die ganzen Strings wie Useragent etc. nicht mehr brauchst. Auch der LD-Parameter ist nicht notwendig, Du kannst direkt mit dem "GET /bin/trainsearch.exe/dox?date=10.02.12&productClassFilter=1&trainname=874&stationFilter=80&start=Suchen HTTP/1.1" die Abfrage lostreten.
Siehe hier:
Quote
telnet reiseauskunft.bahn.de 80
Trying 81.200.198.90...
Connected to reiseauskunft.bahn.de.
Escape character is '^]'.
GET /bin/trainsearch.exe/dox?date=10.02.12&productClassFilter=1&trainname=874&stationFilter=80&start=Suchen HTTP/1.1
Host: reiseauskunft.bahn.de

HTTP/1.1 200 OK
Date: Fri, 10 Feb 2012 08:52:47 GMT
Server: Apache
Transfer-Encoding: chunked
Content-Type: text/html; charset=ISO-8859-1

e35
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Deutsche Bahn - </title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="expires" content="-1" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="viewport" content="width=device-width; initial-scale=1.0;" />
<meta name="format-detection" content="telephone=no" />
<meta name="HandheldFriendly" content="true" />
<link rel="shortcut icon" href="http://www.img-bahn.de/v/861/img/favicon.ico" />
<link rel="apple-touch-icon" type="image/x-icon" href="http://www.img-bahn.de/v/861/img/apple-touch-icon.png"/>
<link rel="stylesheet" type="text/css" href="bahn_mobile.min.css" />
<link rel="stylesheet" type="text/css" href="http://www.img-bahn.de/v/861/css/hafas_mobile.css" />
<link rel="stylesheet" type="text/css" href="notouch.min.css" />
</head>
<body >
<div id="doc">
<div id="header">
<div class="logo"><img src="http://www.img-bahn.de/v/861/img/ua_xhtml/l_bahnmobile.gif" alt="DB - Deutsche Bahn" height="15" width="60" /></div>
<div id="branding">
<div class="bar1"> </div>
<div class="bar2"> </div>
</div>
</div>
<div id="content">
<h1>
<img class="prio1Icon" src="http://www.img-bahn.de/v/861/img/ua_xhtml/icon_echtzeit_grau_22x22.gif" height="22" width="22" alt="" /> <span class="bold">Fahrtinformationen</span>
</h1>
<div class="haupt bold">
ICE  874&nbsp;(Zuglauf vom: 10.02.12)</div>
<table class="ovTable">
<tr>
<th class="arrival ovHead2 bold" colspan="2">an<br />ab</th>
<th class="station ovHead2 bold">Halt<br />Aktuelles</th>
</tr>
<tr class="current">
<td>
09:52
</td>
<td>&nbsp;</td>
<td>aktuelle Zeit </td>
</tr>
<tr>
<td class="arrival tqdetail">
09:58
<br />
10:00
</td>
<td class="tqdetail rt top">
<span class="bold green">(+0)</span>
<br />
<span class="bold green">(+0)</span>
</td>
<td class="station tqdetail top">
Braunschweig Hbf
<br />
</td>
</tr>
<tr>
<td class="arrival tqdetail">
10:16
<br />
10:18
</td>
<td class="tqdetail rt top">
<span class="bold green">(+0)</span>
<br />
<span class="bold green">(+0)</span>
</td>
<td class="station tqdetail top">
Wolfsburg Hbf
<br />
</td>
</tr>
<tr>
<td class="arrival tqdetail">
11:11
<br />
&nbsp;
</td>
<td class="tqdetail rt top">
<span class="bold green">(+0)</span>
<br />
&nbsp;
</td>
<td class="station tqdetail top">
Berlin-Spandau
<br />
</td>
</tr>
<tr>
<td class="arrival tqdetail">
11:25
<br />
&nbsp;
</td>
<td class="tqdetail rt top">
<span class="bold green">(+0)</span>
<br />
&nbsp;
</td>
<td class="station tqdetail top">
Berlin Hbf
<br />
</td>
</tr>
<tr>
<td class="arrival tqdetail">
11:37
<br />
&nbsp;
</td>
<td class="tqdetail rt top">
<span class="bold green">(+0)</span>
<br />
&nbsp;
</td>
<td class="station tqdetail top">
Berlin Ostbahnhof
<br />
</td>
</tr>
</table>
<div class="bline">
<a class="nebenbtn" href="http://reiseauskunft.bahn.de/bin/trainsearch.exe/dox?">Zur&#252;ck</a>
</div>
</div>
<div id="footer">
<ul class="footer">
<li class="rline"><a class="footerlinks" href="http://reiseauskunft.bahn.de/bin/detect.exe/dox?">Startseite</a></li>
<li ><a class="footerlinks" href="http://reiseauskunft.bahn.de/bin/help.exe/dox?tpl=imprint&amp;">Impressum</a></li>
</ul>
</div>
<p class="webtrack">
<img src="http://t.bahn.de/b/ss//5/169869896?AQB=1&amp;gn=MOBI_ASK_DEU_de_Zuginfo&amp;ch=MOBI_ASK_DEU_de&amp;ev=event48,event19&amp;AQE=1" width="5" height="5" alt="" />
</p>
</div>
</body>
</html>

0

Connection closed by foreign host.

1297  International / Deutsch / Re: Online-Abfrage von Bahn-Verbindung on: February 10, 2012, 02:51:49 am
Werden von der Seite evtl. Cookies gesetzt, die Du beim Request wieder mitschicken musst?
1298  International / Deutsch / Re: Brauche Hilfe!! Schalter wird zu lange ausgelesen. on: February 09, 2012, 03:48:05 pm
Weil in
Code:
if(last_schalter_stellung = false && schalter_stellung == true) //aufsteigende flanke
immer noch ein Fehler steckt.
Code:
if(last_schalter_stellung == false && schalter_stellung == true) //aufsteigende flanke
Der Vergleich mit dem "==" gilt für beide Teile Deiner if-Bedingung. Außerdem wäre es gut, wenn Du den "#"-Button im Forum zum posten von Code verwenden würdest, das macht uns das Lesen leichter.
Mario.
1299  International / Deutsch / Re: Arduino per Funk an zwei Arduino on: February 09, 2012, 12:18:54 am
Die Module sehen doch recht vielversprechend aus. Zumal im Datenblatt bei Pollin sogar schon ein Programmbeispiel dabei ist. Zwar für den PIC, allerdings sollte sich das übertragen lassen. Und 2x3,45 Euro sind nun sicher auch nicht die Welt, falls man das ganze in den Sand setzt :-)
Mario.
1300  International / Deutsch / Re: Arduino Facebook notificator on: February 09, 2012, 12:11:38 am
Leider beschreibst Du nicht die Lösung, WIE Du an die Notifications kommst. Das macht es natürlich schwer Dir zu helfen. Ich vermute mal, Du fragst eine Art RSS-Feed ab? Da die eigentliche Arbeit Dein Python-Script macht und das läuft auf einem Rechner der über genügend Speicher und Festplattenplatz verfügt, würde ich die Liste der letzten Notifications speichern und nach jedem neuen Abrufen überprüfen ob es Änderungen gibt. Erst dann werden diese signalisiert.
1301  International / Deutsch / Re: Arduino Facebook notificator on: February 08, 2012, 01:12:45 pm
Dann poste doch mal den Code, vielleicht kann Dir hier geholfen werden.
1302  International / Deutsch / Re: Ethershield, HTTP Fragen on: February 08, 2012, 12:14:10 pm
Genau so sieht es aus.

Ein Link würde dann so aussehen: <a href="/temp_innen.html?password=XXXX">Link-Text</a>
temp_innen.html ist natürlich nur ein Beispiel.
Mario.
1303  International / Deutsch / Re: Welche Programmiersprache ist dem Arduino am ähnlichsten ? on: February 08, 2012, 12:11:21 pm
In Berlin gibt es regelmäßig Treffen der "bausteln" Gruppe, soweit ich weiss. Wie das in anderen Städten aussieht weiss ich nicht.
Allerdings finde ich Programmierkurse in größeren Gruppen nicht sehr effektiv. Jeder entwickelt ein anderes Verständnis für den Stoff und hat andere Fragen,
somit ist es für den Kursleiter sehr schwer auf die individuellen Fragen einzugehen.

Ich würde Dir empfehlen einen Einsteigerkurs im Netz zu suchen und den auf Deinem PC mal durchzuarbeiten. Und zwar erstmal ohne Arduino.
Für Windows kannst Du mit http://www.bloodshed.net/dev/devcpp.html eine freie, einfache Entwicklungsumgebung runterladen. Für Linux und Mac OS gibts von Hause aus den gcc-Compiler.
Da Du ja später wieder zum Arduino zurückkommen willst, brauchst Du Dich auch nicht mit der Entwicklung von GUIs oder Graifk beschäftigen. Es reicht einfach kleine Programme zu schreiben, die Ein- und Ausgaben auf der Konsole (Eingabeaufforderung, bzw. Shell) machen.
Wichtig sind vor allem die Grundkonzepte wie Schleifen, Verzweigungen, Variablen und deren Typen. Und dann natürlich die Sache mit dem Speicher und den Pointern (Zeiger).

VG,
Mario.
1304  International / Deutsch / Re: Ethershield, HTTP Fragen on: February 08, 2012, 11:54:19 am
Zunächstmal fehlt Deinem <form> Tag der Parameter "action".
also sowas wie <form action="/" method=get>...</form>
Der Trick ist nun (nicht schön aber erstmal funktionabel) dem Action-Parameter wieder den GET-Parameter für das Passwort mitzugeben:
<form action="/?password=XXXXX" method=get>...</form>, wenn Du die Seite mit dem IO-Formular an den Browser ausgibst.
Damit steht zwar Dein Passwort im Quelltext der Webseite, aber erst nach dem Login. Außerdem steht beim Login das Passwort eh in der URL, daher ist das aus sicherheitstechnischer Sicht auch nicht schlimmer. Alternativ müßtest Du Dir eine Sessionverwaltung programmieren.

1305  International / Deutsch / Re: Online-Abfrage von Bahn-Verbindung on: February 08, 2012, 01:41:13 am
Fall Du den Parameter "ld=xxx" doch benötigst, dann schau Dir mal http://www.arduino.cc/playground/Code/TextFinder an. Du musst ja nicht die gesamte Webseite in den Speicher lesen, wenn Du nur einige Bytes benötigst. Die Lib liest die Daten aus einem Stream und müllt daher nicht den Speicher zu. Wenn Du es geschafft hast, Deinen HTML-Request loszuschicken, musst Du ja auch noch die Antwort parsen, hier kann die TextFinder Lib sicher auch helfen.

Mario.
Pages: 1 ... 85 86 [87] 88 89 ... 94