Hallo zusammen! Hat hier jemand eine Idee oder einen Tip parat? Mein Arduino-Ethernetshield arbeitet als Webserver. Dieser soll nun an einen Event-Server, der außerhalb steht, einen String senden, damit beim Server eine Webseite aufgeht. Wie kann das realisiert werden, bzw. wie müsste der String aussehen? Hat jemand Programmfetzen? Freue mich über jede Hilfe! LG
:
Verschoben durch Admin
Es ist üblich, dass ein Web-Browser per HTTP-Protokol bei einem Webserver eine Webseite anfordert und diese dann darstellt. Mary Ann schrieb: > damit beim Server eine Webseite aufgeht. Deshalb ist der vorstehende Satz unklar. Warum sollte die Webseite beim Server aufgehen? Nach meinem Verständnis wird die Webseite an den Client geliefert und dort dargestellt ("sie geht beim Client auf"). Gruß Joachim
Hi Joachim! Es ist ja egal, ob das in diesem Fall Client oder Server genannt wird. Wichtig ist hier nur, dass ein gesetzter Eingang des Mikrocontrollerboardes das Ethernetshield veranlassen soll, einen String an den PC zu senden, damit dort eine bestimmte Webseite "aufgehen" kann. Gedacht ist, dass es klingelt und auf dem PC wird das Bild einer Kamera ausgegeben. Gibt es Ideen? Habe bis jetzt das Beispielprogramm UDPSendReceiveString von Arduino gefunden. Vielleicht kriege ich es damit hin... LG
Die Funktion Udp.send macht bei mir aber Probleme, sie soll kein "member der class Udp" sein, verstehe ich nicht so ganz. Außerdem soll sie zu viele Argumente beinhalten: UdpSend(ReplyBuffer, IP, port); Hatte dieses Problem auch schon jemand? Hilflose Grüße
Die Herangehensweise ist falsch herum. Ein Webserver reagiert immer nur auf Anfragen des Clients, und kann nicht unaufgefordert Daten an den Client senden. Das ist auch gut so, man stelle sich die Sicherheitsprobleme vor, wenn das ginge. Trotzdem ist das ganze kein Problem; die Clients müssen halt eine bestimmte Seite vom Webserver laden, die dann im ganz simplen Fall sich selbst zyklisch neu lädt oder, was eleganter ist, mit AJAX-Mitteln sich ebenfalls zyklisch dynamische Inhalte vom Webserver holt und diese in die bereits geladene Seite einblendet. Das ist auch mit einfachsten Webservern problemlos zu erledigen, das dafür erforderliche Javascript wird schließlich auf der Clientseite ausgeführt, wo deutlich mehr Performance zur Verfügung steht als auf dem hier angesprochenen Webserver. Und das "X" in AJAX (das für XML steht) kann man getrost ignorieren, zur Datenübertragung zwischen Webserver und Javascript auf dem Client lässt sich auch ein ganz simples zeilenorientiertes Textprotokoll verwenden.
ich würde da eher eine kleine .NET applikation für den rechner schreiben. das framework bringt dermassen viel zeugs mit. zB einen TCP listener. mit dem könntest du auf einem bestimmten port auf ein paket vom uC warten und dann aktionen durchführen. nur so grundsätzlich.
Frank Meier schrieb: > ich würde da eher eine kleine .NET applikation für den rechner > schreiben. Das hätte natürlich den "Vorteil", daß diese Applikation auf jedem Client installiert werden müsste, und daß das dann nur mit .Net-fähigen Betriebssystemen nutzbar ist. Javascript im Browser funktioniert ohne Installation unter praktisch allen Betriebssystemen (wenn sie denn einen Browser bieten).
Mary Ann schrieb: > Jetzt habe ich dafür die Udp-Library eingebunden und bekomme aber > laufend Fehlermeldungen wie z.B.: > no matching function for call to 'UdpClass::sendPacket(char[13], > String&, int&)' > Was ist an dem Programm faul, bzw. wie kann ich das Senden realisieren? Der Compiler sagt doch recht eindeutig, was das Problem ist: Du versuchst, in der Klasse UdpClass eine Memberfunktion aufzurufen, die es nicht gibt. Wahrscheinlich heißt die Funktion anders. Sie könnte auch andere Parameter als die von dir übergebene erwarten, aber dann hätte die Fehlermeldung auch gesagt, wie sie eigentlich aussehen müßten.
Hallo! Ja, das könnte sein, dass die Funktion anders heißt, aber das ist das Problem, da bei Open Source jeder die Namen verändern kann und die Originale untergehen. Mit welcher Bibliothek könnte denn das Senden möglich werden? Es handelt sich um ein Arduino Ethernetshield und da gibt es z.B. die PString-Library, da weiß ich aber nun auch nicht, wie genau das alles ins Programm geschrieben werden muss und welche Parameter genau gemeint sind...
Rufus Τ. Firefly schrieb: > Das hätte natürlich den "Vorteil", daß diese Applikation auf jedem > Client installiert werden müsste, und daß das dann nur mit .Net-fähigen > Betriebssystemen nutzbar ist. achso, das ist mir neu ... alle lösungen für ein problem haben vor und nachteile. der TE klang nur so als ob es nur um eine maschine ging. ausserdem sind heterogene umgebungen extrem selten, jedenfalls was die clientseite angeht.
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.