HTML-Seite erstellen für Zugriff auf eigene Hardware (RS232/USB)

Gast #2142263
Lesenswert?

Hallo,

ich habe ein Problem, dass wohl viele "Hardwerker" haben:

Ich habe eine eigene HW gebaut mit RS232(bzw. USB) Interface zum PC.
Die Steuerung erfolgt derzeit über ein Terminalprogramm mit propritären 
Befehlen. Also eine Art Kommandozeilenbedienung.

Nun möchte ich aber die Befehle, Werte etc. komfortabler über eine 
Webseite steuern, habe von des (Web/PC-)Programmierung aber nur wenig 
Ahnung. Meine Controller-SW schreibe ich in ASM und C.

Also im wesentlichen geht es darum Werte darzustellen die per 
RS232/USB-String ankommen und Werte die man in ein Feld eintragen kann, 
dann per Mausklick und bestimmtem Befehl versenden. Später dann noch 
irgendwelche grafischen Gimmiks (Temperaturkurven etc.)- das ist aber 
erst mal nicht das Thema.

Kennt irgendjemand ein gutes Tool oder Beispiele die einem Anfänger da 
schnell zu Ergebnissen kommen lassen?
Idealerweise natürlich Freeware-Tools.

Für jeden Tip / Link wäre ich dankbar.

Über die Forumssuche war ich nicht erfolgreich.
Persönliche Seite #2142361
Lesenswert?

Vlad Tepesch schrieb:
> Aber der Apache ist vielleicht ein bisschen dick

Ist zwar im PC Umfeld sowas von egal, da sollte man sich überlegen ob 
man ein "dickes" (weswegen eigentlich? Apache ist recht modular...) 
Paket holt was viele kennen oder irgendwas schlankes wo man Mühevoll 
sich die Infos zusammen suchen muß. Etwas das von sich behauptet sehr 
schlank zu sein und auch PHP unterstützt ist z.B. 
http://www.lighttpd.net/
#2142366
Lesenswert?

usuru schrieb:
> Ich meinte das so, dass er keine neue Hardware baut - die hat er ja
> schon - sondern dass er die Software auf seine Hardware anpasst. Hab
> mich da etwas unklar ausgedrückt.

er hat ja aber eine Serielle Verbingung, kein Ethernet.

Läubi .. schrieb:
> Vlad Tepesch schrieb:
>> Aber der Apache ist vielleicht ein bisschen dick
>
> Ist zwar im PC Umfeld sowas von egal, da sollte man sich überlegen ob
> man ein "dickes" (weswegen eigentlich? Apache ist recht modular...)

Ich bin davon ausgegangen, dass er keine Erfahrungen hat.
da ist der Apache schon ein Monster, was Konfiguration an geht.
Da ist eine kleine Fire-And-Forget-Lösung besser, die man startet und 
die dann einfach alle Dokumenten eines Verzeichnisses ausliefert, ohne, 
dass erst 1000 Configeinträge angepasst und Rechte gesetzt werden 
müssen.
Persönliche Seite #2142376
Lesenswert?

DU lädst dir XAMP (oder Apache Webserver alleine) runter, folgst dem 
Setup und kopierts dann die gewünschte Datei in den ordner htdocs da muß 
man nichts konfigurieren oder rechte setzen. Das schlägst du doch selbst 
im ersten Post vor??

Und wem das schon zu viel ist der Scheitert garantiert an:
Newby schrieb:
> Nun möchte ich aber die Befehle, Werte etc. komfortabler über eine
> Webseite steuern, habe von des (Web/PC-)Programmierung aber nur wenig
> Ahnung.

und sollte erst recht nicht einen Port ggf. ins Weltweite Netz öffnen...
Gast #2142377
Lesenswert?

@Vlad,

ja du hast mich 100% verstanden -> endlich mal jemand ;-)

Mein serielles Protokoll kann ich easy anpassen, das ist kein Problem.
Nur auf der PC-Seite möchte ich es einfach haben, nach dem Motto:

Ein Button drücken auf PC-Seite und der schickt einen propritären Befehl 
an meine HW, die dann wiederum eine Antwort liefert die in einem Feld 
angezeigt wird:

PC: Befehl "Schicke mir Termperaturwert von Sensor_1"
MC: Antwort "Sensor_1  : 25,4°C"

Irgendwelche öffentliche Seiten/Beispiele?
Persönliche Seite #2142382
Lesenswert?

Newby schrieb:
> Irgendwelche öffentliche Seiten/Beispiele?
Für die Babybrei Lösung muss man i.A. zahlen, für alles andere gilt: 
Selbst nachdenken.
Du hast doch schon die "Lösung" (dein Terminal)

Newby schrieb:
> PC: Befehl "Schicke mir Termperaturwert von Sensor_1"
> MC: Antwort "Sensor_1  : 25,4°C"

Du musst nur dies jetzt in eine Form bringen das es als Website 
ausgeliefert wird, dafür wirst du nur nix vorgekautes finden!
Und da du nicht mal sagst ob du unter Linux oder Win, Mac os oder 
wasweißich arbeitest ist es auch schwer dir Tipps zu geben.
#2142387
Lesenswert?

Läubi .. schrieb:
> DU lädst dir XAMP (oder Apache Webserver alleine) runter, folgst dem
> Setup und kopierts dann die gewünschte Datei in den ordner htdocs da muß
> man nichts konfigurieren oder rechte setzen. Das schlägst du doch selbst
> im ersten Post vor??

genau, wenn ich mich recht entsinne, war es als ich damals den XAMP 
aufgesetzt hatte, nicht ganz so einfach mit den Perl Skripten zum laufen 
bekommen. da mussten noch Ordner definiert werden, in denen die 
Ausführung von cgi-Skripten erlaubt ist.
Kann mich aber auch täuschen, ist schon 6-7 Jahre her ;)
Gast #2142393
Lesenswert?

@Laeubi:
Windows - vorzugsweise!

>Du musst nur dies jetzt in eine Form bringen das es als Website
>ausgeliefert wird, dafür wirst du nur nix vorgekautes finden!
>Und da du nicht mal sagst ob du unter Linux oder Win, Mac os oder
>wasweißich arbeitest ist es auch schwer dir Tipps zu geben.

Entschuldige mein "Unwissen" an der Ecke.
Aber wäre mir alles klar, hätte ich auch keinen Eintrag im Forum 
generiert ;-)

Andersrum:
Könnte ich über meine Schnittstelle einfach eine Art html-Protokoll 
ausgeben und mir das dann im Webbrowser anzeigen lassen?
Oder benötige ich dann einen Server bzw. Ethernet?
#2142401
Lesenswert?

Nimm dir Windows mit IIS und .net 2.0, da kannst du dann ASP.net drauf 
laufen lassen. Zur Entwicklung dann Visual Studio Web Developer 2010. 
Hat den Vorteil, dass du via .net Framework sofort auf den COM Port 
zugreiffen kannst und du die einzelnen Webpages einfach "zusammen 
klickst". Ausserdem bietet das Visual Studio eine Funktion die so 
enstandene Homepage sofort auf deinen IIS zu laden.
Ist nach meiner Erfahrung eine sehr schnelle und komfortable Lösung, da 
du z.B. mit PHP keinen direkten COM-Port Zugriff hast.

Steuere über eine so entwickelte WEB-Oberfläche mehrere über RS232 
verbundene RGB Leds an, funktioniert super!
#2142402
Lesenswert?

Newby schrieb:
> Andersrum:
> Könnte ich über meine Schnittstelle einfach eine Art html-Protokoll
> ausgeben und mir das dann im Webbrowser anzeigen lassen?
> Oder benötige ich dann einen Server bzw. Ethernet?

das macht nicht viel Sinn, wenn du nicht auch die Anfragen in der Form 
behandeln willst - und das willst du nicht.
da du (vorerst) sowieso einen PC für die Umsetzung Seriell<->Netzwerk 
brauchst, kannst du die Übersetzung htmlsprech<->dein Protokoll auch da 
machen.
Persönliche Seite #2142409
Lesenswert?

Vlad Tepesch schrieb:
> da du (vorerst) sowieso einen PC für die Umsetzung Seriell<->Netzwerk
Nein, siehe XPORT.
Dieser hat auch einen Modus in welchem man mittels einem Java Applet 
welches einfach einen Stream öffnet auf welchem die Serielle Verbindung 
umgeleitet wird wenn man nun partou sich die paar Zeilen Code für ein 
http Protokoll sparen will.

Diesen "Modus" könnte man auch nutzen um das ganze einfach in PHP 
mittels fopen als Datei zu öffnen.
Gast #2142410
Lesenswert?

Ähhhmmm:

IIS sagt mir leider auch nichts.

Visaul Studio hatte ich testweise schon am Laufen; auch eine Verbindung 
über COM.Port hatte ich hin bekommen; dann war mir aber der weitere 
Aufwand zu groß, deshalb suche ich jetzt einen einfachere Lösung. 
Vielleicht gibts die auch nicht!
#2142423
Lesenswert?

IIS: Internet Information Service, ist der Server welcher die ASP.net 
Seiten ausliefert.

Eigentlich ist das ganze mit Visual Studio schon sehr einfach...
1. Neue ASPX Seite erstellen
2. Button aus der Toolbox auf die Seite ziehen
3. Button doppelklicken
4. In die enstandene Methode eine Instanz von Serialport erstellen.
5. Alle benötigten Parameter (Baudrate usw.) definieren
6. Mit WriteLine den gewünschten Text senden.

Fertig!
Persönliche Seite #2142642
Lesenswert?

Newby schrieb:
> Vielleicht gibts die auch nicht!
Jetzt schon ;)

Ich habe mal eine kleine Demo auf Java Basis mit Jetty und der RXTX Lib 
gebaut:
http://laeubi-soft.de/downloads/tools/serieller-webserver.html

Die Demo sendet den eingegeben String an der Seriellen Schnittstelle 
raus und gibt die Antwort wieder aus.
Wichtig! Der Controller muss antworten mit einem \n terminiertem String 
auch wenn er das Kommando nicht kennt!
Die Version enthält nur die DLL für Windows für andere Betriebssysteme 
muß die passende nativeLib von RXTX genutzt werden.

Ich konnte das bisher nicht vollständig testen, da ich kein Serielles 
Gerät hab mit dem sich das testen ließe...
... ein Feedback wäre also nicht schlecht.
Gast #2144279
Lesenswert?

wie wärs einfach mit ein bisschen C(++)?
liefert ein schlankes programm, das genau das kann was du willst. und 
das ganze läuft dann auch noch ohne zig-mb lufzeitumgebung.

und wenn sorgfältig programmiert kann man (bis auf kleine teile) das 
ganze auf ein anderes os portieren...
#2144532
Lesenswert?

Ich hab mal genau so einen Server auf dem Mega644 controller gebaut. Die 
Seiten wurden hochgeladen und waren auf einem externen Flash 
gespeichert. Daher ist es machbar. Aber nicht einfach oder kostenlos. 
Wir wollten dann ein devkit dazu verkloppen. Die Nachfrage war aber 
bescheiden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren