mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit ENC28J60 Webserver


Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schönen Nachmittag!

Ich habe mich mit meinem Board weiter gespielt und bin wieder auf ein 
Problem gestossen. Ich verwende den TCP/IP Stack mit einem ENC28J60 und 
einem PIC18F46K20.

Der Webserver läuft. Es wird auch gleich angezeigt wenn eine Taste 
gedrückt wird. Ich habe jetzt aber das Problem das ich von der 
Weboberfläche aus die LED nicht schalten kann und habe keine Ahnung 
warum. Im index.htm steht folgendes drinnnen.
.
.
<td>
Toggle LEDs:
</td>
<td>
<input type="button" value="LED1" onclick="GetServerFile('0?0=LED1','')" />
</td>
.
.

Wenn ich das index.cgi verwende funktioniert das Umschalten aber. 
index.cgi sieht so aus:
.
.
<form method="get" action="0">
  <b>Actions</b><br>
  Toggle LEDs:<br>
  <input type="submit" name="2" value="LED3"></input>
  <input type="submit" name="1" value="LED2"></input>
  <input type="submit" name="0" value="LED1"></input>
</form>
.
.

Hatte einer von euch schon mal das Problem bzw. kann mir helfen?

BG
Andreas

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

welchen Stack verwendest du?
was steht in der javascript-funktion GetServerFile() drin

>... GetServerFile('0?0=LED1','') ...
                    |
           was soll die Null dort?

Sascha

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sascha Weber schrieb:
> Hallo,
>
> welchen Stack verwendest du?
> was steht in der javascript-funktion GetServerFile() drin
>

Ich verwende den Microchip TCP/IP Stack 5.25.

GetServerFile() ist in dem Java Script nicht zu finden. Ich weiß nicht 
so das herkommen soll. Ich verwende eigentlich das Script der Demo.

>>... GetServerFile('0?0=LED1','') ...
>                     |
>            was soll die Null dort?

Was diese Null dort ist weiß ich nicht. Ich verstehe den Befehl nicht. 
Ich finde aber auch keine Beschreibung dazu.


Eine Komische Sache ist auch noch wenn ich das Verzeichnis in dem die 
Webdateien liegen durchsuche. Ich suche nach enthaltenen Worten 
GetServer.... Ich finde keine Datei die das enthält! Wenn ich die 
index.htm aufmache steht aber genau das in der Datei!

BG
Andreas

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal:

Ich habe etwas herausgefunden:

>>>... GetServerFile('0?0=LED1','') ...
>>                     |
>>            was soll die Null dort?
>
>Was diese Null dort ist weiß ich nicht. Ich verstehe den Befehl nicht.
>Ich finde aber auch keine Beschreibung dazu.

Die erste Null gibt an das es ein Digitaler Ausgang ist.
Steht dort eine 1 ist es eine Ausgabe auf ein LCD.

Die zweite Zahl gibt die Auswahl in der Case Anwendung an. 0 ist die 
erste LED, 1 die zweite, ....

Das LED1 dahinter ist anscheinend nur eine Beschreibung dazu und hat 
keine Bedeutung für die Auswertung.

Wenn ich den Button im Internet Explorer drücke <input type="button" 
value="LED1" onclick="GetServerFile('0?0=LED1','')" /> dann bekomme ich 
eine Fehlermeldung. Anscheinend kann er mit dem GetServerFile nichts 
anfangen. Ich komme aber nicht dahinter wo ich die Funktion her bekomme.

BG
Andreas

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also den Stack kenne ich nicht, aber wenn das Umschalten der LED's mit 
dem <form> geht, dann lass mal die o.g. Null weg.
Das Form übergibt an den Server folgendes z.B. folgendes '?0=LED1' also 
Fragezeichen als Trennung zwischen der Seitenadresse, Name des 
Parameters und Wert des Parameters. Die GetServerFile() scheint ja das 
selbe zu senden, nur das dann die Null zu viel ist.
Hast du mal einen Link zu den Beispieldateien?

Sascha

Autor: David Madl (md2k7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch, die 0 ist dort richtig, wenn die Form funktioniert. Die Form ruft 
nämlich auch diese URL ab (<form ... action="0">).

Probiers mal damit:
<input type="button" value="LED1" onclick="location.href ='0?0=LED1'" />

Leerzeichen nach location.href oben im Code löschen, leider meint sonst 
der Server, ich würde Spam posten.

Du kannst natürlich auch die Javascript-Funktion schreiben, sodass sie 
genau das macht (URL mit location.href ... setzen).

Gruß
David

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@David

äh ja super URL (<form ... action="0">), '0' was für ein toller 
Dateiname für die Website - ist mir deshalb gar nicht aufgefallen.

Sascha

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.