Hallo zusammen Ich habe in einem Ethernet-Netz mit vier Mikrocontrollermodulen. Jedes stellt 8 Temperaturwerte bereit und kann 8 Relais ansteuern. Die uC haben auch einen intetrierten Webserver. Nun würde ich die Messwerte und Steuervariablen aller uc-Module gerne auf einer einzigen Webseite darstellen und von dort aus auch die Relais steuern. Ich könnte mir hierfür z.B. einen zentralen PC vorstellen auf dem der Internet Information Server installiert ist und dort ein Programm läuft, welches die Daten sychronisiert.. Wie würdet ihr das lösen? Gibt es vieleicht schon etwas Fertiges, mit dem ich zumindest die Daten synchronisieren kann und "nur" mehr das Web-Interface programmieren muß? Vielen Dank für eure Tipps und beste Grüsse Geri
mache doch einfach eine Seite mit JavaScript, dann kannst du von einer Seite aus alles Steuern. Wo die Seite liegt spielt keine rolle.
Hallo Peter Vielen Dank für deinen Tipp. Aha, und das geht. Kannst du mir bitte etwas genauer schildern wie das funktioniert? Ich möchte ja Daten von mehreren Controllern auf einer Webseite darstellen und von dort aus steuern. Der Zugriff auf eine Webseite (mit Javascript) erfolgt ja immer nunr auf einen Domain-Namen oder IP-Adresse. Wie kommt man aber zu den Daten der anderen Controller? ..oder vielleicht ab Beste Grüsse Geri
Geri schrieb: > Der Zugriff auf eine Webseite (mit Javascript) erfolgt ja immer nunr auf > einen Domain-Namen oder IP-Adresse. nein macht es nicht. du kannst mit Daten von jeder Belieben Adresse laden. z.b. mit jquery. http://de.wikipedia.org/wiki/Cross-Origin_Resource_Sharing
Vielen Dank, das muss ich mir dann wohl mal genauer anschauen.
So habe nach den Schlüsselwörtern gesurft, bin aber noch nicht richtig schlau daraus geworden. Kennt jemand von euch vielleicht noch ein paar gute Links wo die Techniken des "cross origin resource sharing" für Newbies beschrieben werden - evtl. mit Beispielen Vielen Dank Geri
Geri schrieb: > So habe nach den Schlüsselwörtern gesurft, bin aber noch nicht richtig Sag uns erst mal wie dein Webserver Befehle an die Module weiterleitet wie der konfiguriert ist,... Da muss ja schon irgendwas drauf laufen (PHP,...?) Bullshitbingo kannst du dann später spielen - "cross origin resource sharing" - leck mich fett, für jede Trivialität ein Begriff.
lebensmittelhändler schrieb: > Geri schrieb: >> So habe nach den Schlüsselwörtern gesurft, bin aber noch nicht richtig > Sag uns erst mal wie dein Webserver Befehle an die Module weiterleitet > wie der konfiguriert ist,... Da muss ja schon irgendwas drauf laufen > (PHP,...?) nein muss er nicht. Er braucht einfach nur eine Webseite mit JavaScript. Diese kann lokal auf der Festplatte oder auf irgendeinem Webspace liegen. Du musst dann "nur" JavaScript programieren. mit JQuery ruft er von den Modulen die Daten ab und baut sie in die seite an.
Peter II schrieb: > mit JQuery ruft er von den > Modulen die Daten ab und baut sie in die seite an. Ich vermute genau da liegt der Hund begraben.
Peter II schrieb: > nein muss er nicht. Er will nicht nur Daten abrufen sondern auch Kommandos zurückschicken.
lebensmittelhändler schrieb: > Er will nicht nur Daten abrufen sondern auch Kommandos zurückschicken. das ist bei HTML kein unterschied. ein http://ip/daten?test=x sendet etwas und liefert eine Antwort.
Hallo zusammen Vielen Dank für eure zahlreichen Rückmeldungen. Bei meiner Anwendung ist auf jedem Controller einen Webserver integriert. Auf dem Webserver liegt eine Webseite auf die der Benutzer zugreifen kann und digitale Ausgänge lesen und schreiben kann. Gerne würde ich nun gleichzeitig auf allen Controller einen Ausgang setzen und den Status aller Controller anzeigen. Von mir aus könnte man zentral auch einen Webserver laufen lassen, welcher die Daten irgendwie konsolidiert. Der Benutzer würde dann immer "nur" auf eine Webseite auf dem zentralen Webserver zugreifen. …wenn das halt überhaupt geht… Beste Grüße Geri
Peter II schrieb: > das ist bei HTML kein unterschied. Du wolltest wahrscheinlich http sagen. > ein http://ip/daten?test=x > > sendet etwas und liefert eine Antwort. Es ist schlechter Stil mit einem GET den State auf dem Server zu ändern, auch wenn es geht und viele es so machen, dazu wurde das POST erfunden.
:
Bearbeitet durch User
Peter II schrieb: > lebensmittelhändler schrieb: >> Er will nicht nur Daten abrufen sondern auch Kommandos zurückschicken. > > das ist bei HTML kein unterschied. > ein http://ip/daten?test=x > sendet etwas und liefert eine Antwort. Das ist mir auch klar, nur müsste man mal wissen was "Webserver auf MC" genau ist. Kann der nur statische Seiten raushauen, ist der Code vorhanden, ... Wie soll man da eine brauchbare Empfehlung geben? Mehr als allgemeines Blabla kommt da nicht bei raus.
lebensmittelhändler schrieb: > Das ist mir auch klar, nur müsste man mal wissen was "Webserver auf MC" > genau ist. Kann der nur statische Seiten raushauen, ist der Code > vorhanden, ... spielt doch überhaupt keine rolle, scheinbar kann er jetzt über den Webserver alles machen was er will. Damit kann er es auch von einer gemeinsamen seite bei JavaScript machen.
1. Wenn Du die Daten immer von den gleichen Geräten abrufst kannst Du Dir eine HTML Seite bauen in der Javascript (jQuery ist eine Javascriptbibliothek) enthalten ist. Das Skript dass Du Dir schreiben musst würde die Daten von den Geräten abrufen und auf der Seite sichtbar machen, umgekehrt kannst Du Dir Buttons reinprogrammieren die dann jeweisl auf den Geräten eine Aktion auslösen. Diese HTML Datei mit dem Javascript kopierst Du Dir einfach auf die PCs lokal auf denen Du messen und steuern willst. 2. Kauf Dir einen Minirechner (Raspberry etc.) auf dem ein kleiner Webserver läuft. Auf den die obige Datei kopieren, so kann man mit allen Geräten zugreifen ohne die Datei rumkopieren zu müssen. Stefan
Hallo zusammen
Der Webserver, welcher auf dem Controller läuft, unterstützt Befehle für
die Abfrage und das setzen von Variablen.
In eine html-Webseite, die dort läuft kann man z.B. denn Code z.B
schreiben:
<input type="hidden" name="variable" value="DigitalOut1" size="50">
@Stefan: Vielen Dank für die Hinweise
add 1:
Die Daten würde ich immer von den gleichen Geräten lesen und schreiben.
>>Das Skript dass Du Dir schreiben musst würde die Daten von den Geräten abrufen
.aber eben, wie greift man über eine Webseite auf mehrere dezentrale
Webserver zu?
.. oder vielleicht sehe ich den Wald ohne
add 2: könnte von mir auch auch IIs sein, ich hänge aber bereits bei
Punkt 1:)
Beste Grüsse und vielen Dank!
Geri
Geri schrieb: > .aber eben, wie greift man über eine Webseite auf mehrere dezentrale > Webserver zu? Auf einer Webseite kann JavaScript enthalten sein. JavaScript läuft im Browser. JavaScript kann seinerseits HTTP requests an andere Server ausführen. Das ist das selbe Prinzip wie es bei Werbeverseuchten Webseiten zu finden ist: Du rufst eine Seite unter www.example.com auf und dann beginnt Dein Browser (oder besser gesagt die vielen eingebetteten JavaScript-Schnipsel der Werbebranche *von Deinem Browser aus*) ungefragt und vollautomatisch hunderte von Requests an hunderte von anderen zwielichtigen Servern in der ganzen Welt zu machen von denen Du noch nie was gehört hast. Direkt und ohne Umwege von Dir nach dort. Das ist das selbe Prinzip. So kannst Du das für Deine Zwecke implementieren. Frag in einem Webdesigner-Forum wie das im einzelnen funktioniert. Vielleicht verschaffst Du Dier dort auch erstmal generell einen Überblick wie die Interaktion zwischen einem Webserver und einem Webbrowser abläuft und wo man überall eingreifen oder ansetzen kann und wie das üblicherweise gehandhabt wird auf Webseiten die Elemente von verschiedenen Diensten auf einer einzigen Seite integrieren. Es gibt verscheidene Ansätze, manche sogar komplett ohne JavaScript, nur mit Frames oder Iframes und Du brauchst garantiert auch kein jquery dazu, das ist kein Muss, zu Lehrzwecken kann (oder sollte!) man das auch mal komplett mit nacktem JavaScript (oder ganz ohne JavaScript) durchexerzieren. Das ist eine ganze Wissenschaft für sich mit vielen Facetten (aber auch genausovielen Stolperfallen), also erstmal in Ruhe einen Gesamtüberblick verschaffen über den grundsätzlichen Aufbau des www und der Abläufe darin.
:
Bearbeitet durch User
Servus Bernd Vielen Dank für deine ausführliche Rückmeldung. Werde dann wohl auch mal in einem Web-Designer Forum nachfragen oder ein verseuchte Seite studieren:) Beste Grüße Geri
Einfach alle Seiten über Frames in die neue (gemeinsame) Seite einbinden und schon hat man alle vier Mikrocontrollerseiten auf einer ;-)
Hallo Marceö Hast du hierzu vielleicht ein Beispiel oder zumindest einen Code-Ausschnitt? Beste Grüsse und vielen Dank Geri
Guck dir auf folgender Seite http://de.selfhtml.org/html/frames/definieren.htm#framesets das Detailbeispiel 5 an. Jedes dort im Bild dargestellte Frame gehört zu einem der MCUs. Ist bestimmt nicht die schickste Lösung, aber ziemlich sicher die einfachste.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.