Forum: Mikrocontroller und Digitale Elektronik Problem mit ENC28J60 Webserver


von Andreas R. (blackpuma)


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.
1
.
2
.
3
<td>
4
Toggle LEDs:
5
</td>
6
<td>
7
<input type="button" value="LED1" onclick="GetServerFile('0?0=LED1','')" />
8
</td>
9
.
10
.

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

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

BG
Andreas

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

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

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

Sascha

von Andreas R. (blackpuma)


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

von Andreas R. (blackpuma)


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

von Sascha W. (sascha-w)


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

von David M. (md2k7)


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:
1
<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

von Sascha W. (sascha-w)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.