Hallo Zusammen, folgendes Problem: 1. Ein Mikrocontroller ist über eine serielle Schnittstelle mit einem PC verbunden 2. Der PC ist mit dem Internet verbunden 3. von irgendwo auf der Welt soll der Mikrocontroller über einen Webbrowser angesprochen werden Hat jemand eine Idee, wie man dieses Problem am besten löst? Im Moment schwebt mir ein Java-Webserver mit RXTX vor.
chris schrieb: > Hat jemand eine Idee, wie man dieses Problem am besten löst? Apache auf dem PC installieren, dann ein kleines CGI-Skript basteln, das aus den Daten des µC eine Webseite bastelt.
Danke für die Antwort. Mit CGI kenne ich mich nicht aus. Wie spricht man dann die serielle Schnittstelle an? Meine erste Idee war, anstatt APACHE einen kleine Java-Server zu schreiben. Das ist seit Java 1.6 ziemlich einfach. Dann ist mir eingefallen, dass ich den Mikrocontroller unter anderem mit einem Schieberegler steuern will. Das scheint mit Java-Applets zu gehen.
Faszinierendes Projekt. Danke :-) Mit SLIP werden( wenn ich es richtig verstanden habe ) die Daten einfach vom Ethernet auf die serielle Schnittstelle geleitet. Das Problem ist dann, dass man den TCP/IP Stack im Mikrocontroller implementieren muss. Der PC arbeitet dann eigentlich nur als großer Ethernet/RS232 Konverter. Mein Ziel wäre eher in folgender Art: Ein Webserver auf dem PC stellt ein Serielles Terminal in einem Browser dar. Der Vorteil dann: im Mikrocontroller muss quasi kein Protokoll implementiert werden.
Da führt Dich das hier sicher schneller zum Ziel ... http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_AVR_NET_IO.html http://shop.ulrichradig.de/Projekte/AVR-Webmodul/
chris schrieb: > Danke für die Antwort. Mit CGI kenne ich mich nicht aus. Wie spricht man > dann die serielle Schnittstelle an? Stark Vereinfacht: ein CGI ist nicht anderes als ein Programm/script etc. deiner Wahl was von denn Webserver gerufen wird. Seine Parameter Erhalt das Programm über die commandline seine Ausgabe nach stdout wird an den Browser durch gereicht. Du kannst also ein Stateless Programm in einer Sprache deiner Wahl schrieben das über die Serielle Schnittstelle mit denn Mikrocontroller Kommuniziert.Es bleibt in diesen fall also dir überlassen wie du den µC ansprichst, vielleicht mit ein C Programm, shellscript, Perl je nach persönlichen Geschmack. Generell ich denke wenn du nur ein µC in das Internet über ein PC bringen willst, solltest du vielleicht von so einen Fetten Webserver wie Apache absehen, wenn nicht so wie so schon eine Instanz wegen andere Sachen am Start ist. Ich Persönlich finde das Lighttpd mit seiner CGI und FastCGI Schnittstelle, schneller aufzusetzen und leichter zu Warten ist. Außerdem läuft auf den Ding yahoo, scheint also auch was die Perfomens angeht nicht Grund verkehrt zu sein. Außerdem solltest du dir die Frage stellen, was macht der PC sonst noch ? wenn er nur denn µC ans Netz anschließen soll dann, würde ich auch dessen Berechtigung in zweifel Ziehen. Es gibt auch embedded Systems mit Webserver, CGI und Serielle Schnittstelle, sogar auf AVR Basis oder ARM9 mit Linux, Lighttpd und eben CGI.Egal was auch immer So ein PC ist ein ganz schönner Stromfresser ( ja auch die ATOM CPUs) und das was du in die Anschaffung von so ein Bord steckst das hast du bereits nach 1 Jahr an Strom kosten gespart.
>Ich Persönlich finde das Lighttpd mit seiner CGI >und FastCGI Schnittstelle, schneller aufzusetzen und leichter zu Warten >ist. Außerdem läuft auf den Ding yahoo, scheint also auch was die >Perfomens angeht nicht Grund verkehrt zu sein. Das hört sich gut an, ich werde mal in diese Richtung weiter suchen. Wenn das mit dem CGI funktioniert, bleibt immer noch die Frage mit mit einer geeigneten Oberfläche im Webbrowser. Ein HTML-Scribt ist ja eher etwas statisches und muss, damit es seinen Inhalt ändert, nachgeladen werden. Soweit ich weiß, kann man im Scribt einen Timer setzen, damit sich dieses automatisch nachlädt. Leider geht das nur im Sekundenbereich, so dass keine flüssige Bedienung möglich ist. >Außerdem solltest du dir die Frage stellen, was macht der PC sonst noch ? Es muss leider der PC sein, dieser existiert schon. @bingo >Da führt Dich das hier sicher schneller zum Ziel ... >http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetz... >http://shop.ulrichradig.de/Projekte/AVR-Webmodul/ Nein, es führt überhaupt nicht zu meinem Ziel, Besserwisser.
oder: XPORT und Port-Weiterleitung im Router. Der XPORT läuft direkt am RS232. VG, /th.
Hallo, > Ein HTML-Scribt ist ja eher etwas statisches und muss, > damit es seinen Inhalt ändert, nachgeladen werden. Stichwort: AJAX, das loest Deine Probleme. Ich habe so etwas aehnliches schonmal gebaut, um eine Webcam aus dem Browser raus zu drehen (Webserver -> Microcontroller -> Schrittmotor), das war relativ simpel. Die Einarbeitung in AJAX ist nicht wahnsinnig schwierig, die serverseitigen Scripts mit CGI sehr einfach - also alles in allem kein Problem. Viele Gruesse, TommyS
@chris: Dein 1. Post sah so aus, als ob Du nur den µC ans Netz bringen willst, dass der PC ein "muss" ist, ging daraus nicht hervor. Da ist ein kleiner Platinen-Webserver einfacher und stromsparender als ein PC dazwischen. Daraus gleich einen "Besserwisser" zu machen, ist schlichtweg unhöflich.
Das kannst du ganz einfach mit COM2TCP machen. http://www.astrogeeks.com/AstroGeeks/COM2TCP/download.html Damit kannst du ganze einfach eine Serielle Verbindung ueber das Internet fortfuehren.
>Stichwort: AJAX, das loest Deine Probleme. Hmm, sieht so aus, als wenn AJAX dafür geeignet wäre. Allerdings scheint mir der Einarbeitungsaufwand nicht ganz so klein: http://de.wikipedia.org/wiki/Ajax_%28Programmierung%29 >http://www.astrogeeks.com/AstroGeeks/COM2TCP/download.html Das sieht auch nicht schlecht aus, hat aber leider auf beiden Seiten eine RS232. Es ist auch "closed source", was mir bei WEB-Sachen immer das ungute Gefühl des "Heimtelefonierens" gibt. Kennt jemand "processing" ? Das lässt sich ziemlich einfach programmieren, z.B. Datenserver: http://www.processing.org/reference/libraries/net/Server.html Die serielle Schnittstelle ist auch einfach anzusprechen: http://processing.org/reference/libraries/serial/Serial.html Mir scheint fast, das könnte der einfachste Weg sein.
PHP geht genauso für sowas.
chris schrieb: > Mein Ziel wäre eher in folgender Art: Ein Webserver auf dem PC stellt > ein Serielles Terminal in einem Browser dar. Das sollte z.B. mit shellinabox sehr einfach sein. http://code.google.com/p/shellinabox/
Vielen Dank für Eure Antworten, da ist ja doch einiges an Material zusammen gekommen, was ich mir noch genauer ansehen muss. @bingo >Da führt Dich das hier sicher schneller zum Ziel ... >Daraus gleich einen "Besserwisser" zu machen, ist schlichtweg unhöflich. Entschuldigung. Ich war einfach etwas verärgert, weil ich mir doch extra so Mühe gegeben habe, die Frage möglichst genau zu formulieren.
Hallo, ich weiß dass der thread schon sehr alt ist, aber ich habe eine ziemlich einfache lösung Wie bereits erwähnt gibt es Ja TCP2COM, was nur auf dem server pc installiert sein und ausgeführt werden muss. Auf dem Client pc kann man sich dann mithilfe einer Portfreigabe/Im Lokalen Netzwerk/über hamachi/irgendwie anders mit Einem Ganz normalen TCP client verbinden und die Befehle eingeben, etc jenachdem MfG, Oliver
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.