Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller Webserver Schaltflächen/textboxen abfragen


von Niklas (Gast)


Lesenswert?

Hallo zusammen,

ich arbeite derzeit mit einem PIC18F67J60 von Microchip. Es funktioniert 
bisher auch alles soweit ganz gut. Ich möchte nun selbst auf der 
Webserver Oberfläche Schaltflächen und Textboxen erstellen und den 
inhalt in Variablen speichern um sie dann im weiteren Mikrocontroller 
Programm zu verarbeiten.

Beispiel: Ich drücke auf der Webserver Oberfläche auf eine Schaltfläche 
und es wird ein bestimmter Wert in einer Variable gespeichert.

Ein Schritt weiter wäre dann selbst eine Zahl eintippen in einem 
Textfeld und diese durch drücken einer Schaltfläche in einer Variable zu 
speichern.

Ich habe mir die von Microchip mitgelieferte Webserver Oberfläche 
angesehen dort sind auch zum Teil Schaltflächen und Textfelder verbaut, 
jedoch konnte ich bisher nicht herausfinden wie das ganze funktioniert. 
Vielleicht hat hier schonmal erfahrungen damit gemacht?

Mir ist die Schnittstelle zwischen Webserveroberfläche und C programm 
nicht so ganz klar. Wo muss ich ansetzen? Ich habe schon herausgefunden 
das es sehr warscheinlich etwas mit der Datei CustomHTTPApp.c zutun hat.

Ich bin über jede Hilfe dankbar!

von David .. (david1)


Lesenswert?

Schau mal in die Firmware zum NETIO von Ulrich Radig, da gibst das auf 
jeden Fall

von Karl H. (kbuchegg)


Lesenswert?

Was ist eine 'Webserver'-Oberfläche?

Ich geh mal davon aus, dass du in Wirklichkeit einen HTML Server meinst, 
der auf dem PIC läuft.

Dann ist der prinzipielle Ablauf so, dass der Webserver eine HTML Seite 
rausrückt, in der die Anweisungen an den Browser eingebaut sind, einen 
Button bzw. eine Textbox hinzumalen, in Form eines HTML-Formulars.

so weit, wo gut, grummel, grummel, grummel, der Benutzer macht was und 
klickt irgendwann auf den Button.

In dem Moment schickt der Client (also der Browser) eine Nachricht zum 
Webserver, in der die Benutzereingaben codiert sind und auch welcher 
Button gedrückt wurde.

D.h. aus Sicht des Servers ist der Button ziemlich uninteressant. Der 
Server rückt eine HTML Beschreibung heraus, so wie er das immer tun 
würde. Und der Server kriegt eine GET oder eine POST Methode (je nachdem 
wie das im HTML Code für das Formular festgelegt wurde), so dass er sich 
aus dieser Nachricht dann die vom Benutzer eingegebenen Werte 
rausklamüsern kann.

Wenn du selbst einen Standard-HTML Server irgendwo laufen hast, dann 
sieh dir mal an und probier ein wenig rum, wie man damit Formulare und 
Auswertung mittels CGI Programmen machen kann. Dazu findet sich genug 
Dokumentation im Web - die allerdings immer aus Sicht des Browsers bzw. 
der CGI Erweiterung geschrieben ist. Allerdings hilft dir dieses 
Verständnis insofern, als du den grundsätzlichen Mechanismus dann besser 
verstehst und daraus dann auch ableiten kannst, wie das in deinem 
PIC-HTML Server prinzipiell eingebaut sein wird bzw. wie und wo du dann 
dort die entsprechenden Erweiterungen machen musst.

von Technik_Freak (Gast)


Lesenswert?

Hallo,

Ich habe mittels des 18F97J60 über einen Webserver, Buttons abgefragt. 
Die Abfrage erfolgte bei mir über AJAX.

Hintergrund:

Wird ein Button betätigt, so wird diese "Anfrage" an den PIC 
übermittelt. Dieser führt dann die gewünschten Aktionen aus. Wenn Du als 
Vorlage die Microchip-Demo-Seite verwendest, kannst Du diese nach deinen 
Wünschen anpassen.

Die Webseite kann z.B. bei einem Tastendruck oder einem Befehl, Die 
Eingegebenen Werte übermitteln.

Der Vorteil von AJAX ist, dass die Website nicht immer neu geladen 
werden muss, wenn z.B. sich Texte oder Shapes ändern.

Vielleicht ist das für Dich geeignet?

Edit:

Der Zugriff auf die Webelemente erfolgt in der Datei CustomHTTPApp, die 
HTTPPrint-Datei wird beim Compilieren (z.B. als MPFS-Image) der Website 
erstellt.

von Niklas (Gast)


Lesenswert?

Danke für eure Antworten. Ich denke ich werde mal versuchen bei AJAX 
anzusetzen. Scheint mir leichter zu sein.

von Wusel D. (stefanfrings_de)


Lesenswert?

AJAX sendet ebenso wie ein herkömmliches Formular einen HTTP GET oder 
POST Request. Nur dass der Server bei AJAX nicht mit einer ganzen HTML 
Seite antwortet, sondern im einfachsten Fall mit einem leeren Dokument.

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.