mikrocontroller.net

Forum: PC-Programmierung HTML Daten über serielle Schnittstelle verschicken


Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich würde gern die HTML Daten von http://m.kwick.de/ mit einem 
selbstgeschriebenen Programm auslesen (die verändern sich nie, des heist 
wenn eine neue KWICK Version rauskommt bleibt die mobile version davon 
unberührt) und sie dann über die serielle Schnittstelle an die ein 
433MHZ Sendermodul angeschlossen ist versenden. Mit einem 
Mikrocontroller empfange ich sie dann un zeige sie auf einem Farbdisplay 
an.
Also der Empfängerbaustein funktioniert (Display un Mikrocontroller), 
der Funk is ja nicht das Problem weil der ATmega128 hat C Routinen dafür 
und 433Mhz Module kauf ich mir nen Set des funkt. Das Problem ist wie 
ich die HTML-Daten auslesen kann un weiterschicken. Ich hab keine Ahnung 
wie man mit einem Programm (am liebsten C# weil da hab ich mal nen 
Praktikum gemacht) erstmal den Benutzernamen und des Passwort überträgt 
un dann den Code herunterlädt und an die Schnitstelle weitergibt. (Das 
Programm soll später selbständig ohne Benutzereingaben unter Autoexe 
laufen und für den Benutzer unsichtbar sein) Kann mir jemand helfen? 
Danke schonmal im Vorraus

Tobi

Autor: Rik Langobar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
google mal nach "perl", "LWT" und "post". Damit kannst du das Problem 
mit 10 Zeilen Code erschlagen.

Autor: Aahh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese Funktionalitaet nennt sich Webserver. Du willst einen Webserver 
inplementieren. Ueber Serial. Das geht. Hab ich auch mal gemacht. Du 
must das HTTP Protokol implementieren. Dann die ankommenden anfragen 
bearbeiten. Die infos zu Http findet man im Netz.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wget [options] http://m.kwick.de/ > /dev/ttyS0

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sehe das so:

Der OP will mit einer Anwendung auf einem PC per HTTP-Get-Statement eine 
Webseite von einem Server aus dem Internet abrufen. Darauf antwortet 
dieser mit einem HTML-formatierten Datenstrom (Textfile).

Diesen möchte er über eine serielle Schnittstelle an eine MC-Applikation 
senden. Für die vollständige Darstellung bräuchte er auf dem MC 
tatsächlich eine Browser-Anwendung, die HTML interpretieren kann.

Aber es geht vermutlich auch anders. Man könnte bereits in der 
PC-Anwendung ein Parsing durchführen und nur die Daten zum MC-System 
senden, die dort tatsächlich benötigt werden - am Besten reinen Text. 
Das dürfte die Ansprüche an das MC-System drastisch reduzieren.

Die Anwendung auf dem PC ist mit ein par Zeilen Delphi, VB, Realbasic 
oder was auch immer zu erledigen ...

Frank

Autor: Helfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Lösung von Gast (Gast) für Windows:
curl.exe -d benutzer=bla -d pw=blub http://m.kwick.de/ -o "kwick.htm"
copy "kwick.htm" COM1
Mit mode kannst du die serielle Schnittstelle konfigurieren.

cURL Homepage:
http://curl.haxx.se/

Autor: Tobias Frintz (tobias-frintz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Danke für die Hilfe. Ich hab jetzt mal als zwischenschritt die 
HTML-Daten nicht verschikt per com sondern erstmal in einer Textbox 
angezeigt, mit folgendem Quelltext:

        private void webBrowser1_DocumentCompleted(object sender, 
WebBrowserDocumentCompletedEventArgs e)
        {

            string strHTML = this.webBrowser1.DocumentText;

            int iHTML = strHTML.IndexOf("<body>", 0);

            string strVorabErgebnis = strHTML.Substring(iHTML + 6, 
(strHTML.Length - (iHTML + 6)));

            int iVorabErgebnis = strVorabErgebnis.IndexOf("</body>", 0);

            this.richTextBox1.Text = 
strVorabErgebnis.Remove(iVorabErgebnis);
        }

Als Ausgabe bekomme ich den Quelltext. Wie kann ich jetzt ohne 
Benutzereingaben die 2 Textboxen <input class="text" type="text" 
name="kwick_username" /> und <input class="text" type="password" 
name="kwick_password" /> mit Text füllen und anschlisend einloggen? ich 
schaff des nicht nen string (Benutzername, Passwort) in die HMTL Textbox 
einzufügen.

<div class="top">
<img src="/img/mobile_toplogo.gif" alt="" width="78" height="25" /><br 
/>
</div>
<div class="caption">
KWICK! Mobile - Login
</div>
<form action="/" method="post">
<p>
<small>
Benutzername:
</small>
<br/>
<input class="text" type="text" name="kwick_username" />
<br/>
<br/>
<small>
Passwort:
</small>
<br/>
<input class="text" type="password" name="kwick_password" />
<br/>
<input class="submit" type="submit" name="Login" value="Login" />
</p>

Autor: Helfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>schaff des nicht nen string (Benutzername, Passwort) in die HMTL Textbox
>einzufügen.
das ist auch ein Holzweg

><form action="/" method="post">
sagt uns dass es sich um eine POST Anfrage handelt
d.h. du musst die Daten mit POST verschicken
wie? ich kann kein C#
bei curl gibts dafür die Option -d
curl.exe -d kwick_username=dein_name -d kwick_password=dein_pw -d Login=Login http://m.kwick.de/ -o "kwick.htm"

Autor: Tobias Frintz (tobias-frintz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jaa ich weiß halt nicht wie des richtig geht xD ...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.