mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 19:22 Benutzername: Passwort: Auto-Login

Thema: Webformular auf Mikrocontroller, ohne richtigen Server vom 10.01.2015


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Webformular auf Mikrocontroller, ohne richtigen Server
Seite: 1, 2, 3  Weiter
Autor Nachricht
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Sa 10.01.2015 21:47
Titel

Webformular auf Mikrocontroller, ohne richtigen Server

Antworten mit Zitat Zum Seitenanfang

Auf einem Mikrocontroller (16 MHz, 8K RAM, 32K ROM) läuft ein Programm, welches in engen Grenzen auf HTTP-Requests reagieren und HTML-Code ausliefern kann, es gibt kein PHP, keine Sessions, kein Multitasking. Letzteres ist auch nicht nötig, da definitiv nur ein Gerät (Tablet) per Browser darauf zugreift.

Auf dem Tablet sollen einige Bedien-Buttons und Statusmeldungen für eine Maschine (Autowaschanlage) dargestellt werden, was auch prinzipiell schon funktioniert. Solche Daten kann man mit relativ wenig Sourcecode (es stehen nur 32K zur Verfügung!) und ohne jeden externen Zugriff (keine Libs nachladen) dynamisch erzeugen und darstellen.

Das Ganze stellt ein Formular dar, was bei jedem Buttondruck abgesandt wird, um diesen dem Controller zu signalisieren. Das Programm auf dem Mikrocontroller kann die GET-Argumente herausfiltern und daraus entsprechede Steuerbefehle zur Maschine senden.

Was mein Problem ist - nach jedem Formular-Submit will der Browser die Seite neu laden und mein Status ist weg - DAS kann das Controllerprogramm nämlich nicht. Ich bekomme nun quasi eine jungfräuliche Session.

Gibts irgend einen Weg oder Trick, die Sessiondaten (einige JS-Variablen) lokal bzw. im Browser über das Neuladen hinweg zu retten? Ich habe mit Cookies experimentiert, die aktualisieren sich aber immer erst nach zweimal Laden oder Verlassen der Domain und der Rückkehr, was wegen des schwächlichen Controllers nicht möglich ist. Die Daten in hidden-Feldern eines Frameset zu bunkern geht auch nicht, weil ein Frameset ja als Source eine eigene Webadresse hat, die der "Server" nicht zusätzlich bedienen kann ... Tips?

Es gibt ja für Bilder den Trick, die src-Daten Base64-codiert direkt im HTML-Code unterzubringen, ob das mit den src-Daten eines iFrames auch funktioniert? Wer die Technik nicht kennt, hier: http://aktuell.de.selfhtml.org/artikel/grafik/inline-images/
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
top
Moderator

Dabei seit: 25.11.2003
Ort: Hedwig Holzbein
Alter: 52
Geschlecht: Männlich
Verfasst Mo 12.01.2015 09:48
Titel

Antworten mit Zitat Zum Seitenanfang

32K klingt für mich nach einem sportlichen Ziel.

Geht so etwas nicht mit Ajax?
Das Senden der Formulardaten und das Empfangen der Seiteninhalte würde dann über JavaScript laufen, und ein Neuladen der Seite verhindern.

Ich habe leider noch zu wenig Erfahrung mit JS, um dir da mal eben eine Lösung aus dem Ärmel zu schütteln. * Keine Ahnung... *
  View user's profile Private Nachricht senden
Anzeige
Anzeige
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Mo 12.01.2015 17:38
Titel

Antworten mit Zitat Zum Seitenanfang

top hat geschrieben:
32K klingt für mich nach einem sportlichen Ziel. Geht so etwas nicht mit Ajax?
Das Senden der Formulardaten und das Empfangen der Seiteninhalte würde dann über JavaScript laufen, und ein Neuladen der Seite verhindern.


Die Funktionalität von Ajax hätte ich gerne, aber ich fürchte, es wird aufgrund mindestens von zwei Faktoren nicht funktionieren:

a) ich finde die Libs nicht offline, normalerweise werden die ja aus dem Web includiert. Und wenn doch, sind die bestimmt größer als 32k.

b) ich befürchte, die enthaltenen Includes wollen weitere HTTP-Verbindungen öffnen, was nicht geht ...

Trotzdem Danke für den Versuch. Eine Lösung wäre für mich whrscheinlich nur dann eine, wenn Alles in eine HTML-Datei hineinpasst und die Größe nicht überschritten wird.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Zim

Dabei seit: 05.12.2006
Ort: Earth Rocks
Alter: -
Geschlecht: Männlich
Verfasst Mo 12.01.2015 18:57
Titel

Antworten mit Zitat Zum Seitenanfang

Da eine richtige Datenbank wohl oversized ist, schreib das doch in eine textdatei, csv oder ähnliches, und mit dieser repopulierst du dein Formular durch einlesen wieder. Die datei muss dann immer wieder geleert werden und neuer content neu angehängt.
  View user's profile Private Nachricht senden
Morgo

Dabei seit: 10.08.2005
Ort: Von Kowelenz bis Kölle
Alter: 39
Geschlecht: Männlich
Verfasst Mo 12.01.2015 21:09
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Die Funktionalität von Ajax hätte ich gerne, aber ich fürchte, es wird aufgrund mindestens von zwei Faktoren nicht funktionieren:

a) ich finde die Libs nicht offline, normalerweise werden die ja aus dem Web includiert. Und wenn doch, sind die bestimmt größer als 32k.

b) ich befürchte, die enthaltenen Includes wollen weitere HTTP-Verbindungen öffnen, was nicht geht ...


Ich kann nicht ganz nachvollziehen, was du meinst, aber ein simpler ajax-Request ist unkomprimiert nicht mehr als 3 kB:

http://codepen.io/anon/pen/pvRMrN

Klingt für mich trotzdem spannend.


Zuletzt bearbeitet von Morgo am Mo 12.01.2015 21:10, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
remote

Dabei seit: 10.11.2006
Ort: /var/www/
Alter: 109
Geschlecht: Männlich
Verfasst Mo 12.01.2015 22:33
Titel

Antworten mit Zitat Zum Seitenanfang

dein frontend lebt in den 32k und nicht in den x GB des tablets?

dein client kann http requests senden und empfangen ohne, dass die seite verlassen werden muss.
dein server/soc muss nur auf http requests antworten, kein html ausliefern oder jodeln. der browser wird ja wohl auch nicht in 32kb speicher realisiert sein.


Zuletzt bearbeitet von remote am Mo 12.01.2015 22:34, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Flasche89

Dabei seit: 21.02.2012
Ort: Deutschland
Alter: -
Geschlecht: Männlich
Verfasst Di 13.01.2015 14:01
Titel

Antworten mit Zitat Zum Seitenanfang

ich bin auch sehr gespannt, ob es mit Ajax klappt! Kann es mir aber kaum vorstellen, dass es geht...

alternativ würde ich versuchen nicht mit einem iframe zu arbeiten, sondern den iframeinhalt direkt in die html-seite zu integrieren. sollte das klappen, kannst du die variablen im html-formular mit folgendem befehl übergeben, wenn man eine andere seite besucht:

Zitat:
<input type="hidden" name="variablenname" value="wert">


Die Werte müssen dann nur immer zwischen den <form>-Tags stehen.
  View user's profile Private Nachricht senden
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Di 13.01.2015 21:36
Titel

Antworten mit Zitat Zum Seitenanfang

Morgo hat geschrieben:
Ich kann nicht ganz nachvollziehen, was du meinst, aber ein simpler ajax-Request ist unkomprimiert nicht mehr als 3 kB:


Damit ich einen Request absenden kann, muss Ajax erstmal present sein. Ich meine die Ajax-Libs (JS-Code), die bestimmt größer als 32K sind. Das System läuft OFFLINE bzw. in einem Netz ohne Internet (Maschinensteuerung).

Aber eine andere Idee (manchmal sieht man den Wald vor lauter Bäumen nicht!) ist die, einen Webserver mit PHP auf dem Tablet zu installieren - wusste garnicht, dass es sowas gibt, benutze Android normalerweise nicht. Aber wenn das dortige PHP Sockets zulässt, dann bekomme ich meine Steuersignale auch so zur Maschine ... *Thumbs up!*

https://play.google.com/store/apps/details?id=com.andi.serverweb&hl=de

Ist der gut, kenn den jemand?


Zuletzt bearbeitet von qualidat am Di 13.01.2015 21:44, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Hilfe bei Webformular - liegts an php 4 und 5?
Webformular PHP: Woher kommen diese Einträge?
Urlaubsantrag als Webformular-nach Ausfüllen pdf-Generierung
Suche Script: FTP von Server zu Server mit Cronjob
[FTP] Dateien von Server zu Server übertragen
Woher bekomme ich den richtigen Doctype?
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.