C programm von Linuxvariante in Windowsvariante umbauen
lima-city → Forum → Programmiersprachen → C/C++ und D
anwendung
aufrufen
aufwand
bedienen
betriebssystem
download
helfen
http
jemand
karte
kenntnis
leistung
programm
relais
rufen
serielle schnittstelle
setzen
software
versuchen
windows
-
Hey leute, ich habe folgendes problem. ich hab mir eine Relaiskarte gekauft und suche nun was passendes an programm. hab da was für windows gefunden nur das gefällt mir noch nicht so ganz. hab dann für linux eine möglichkeit gefunden die über die Textoberfläche arbeitet was mich wesentlich mehr anspricht. nun kam ich auf die idee, gibts nicht eine möglichkeit den code für windows umzustricken damit man das über die dosebene mit parameterübergabe das gleiche hat wie unter linux oder geht das nicht? wenn das geht kann mir jemand vielleicht helfen? oder gibts ne möglichkeit die linuxvariante unter windos nutzbar zu machen? also so ein art linux emulator oder so weil so ne virtuelle maschine schon bischen mehr leistung zieht und mein netbook hat davon nicht ganz so viel.
vielleicht kann mir jemand helfen. kurz noch ma zusammen gefasst:
ein fertiges c programm in windows umbauen oder
einen linux emulator in commandebene oder
eine variante wo nicht zu viel leistung gezogen wird wie bei vmware und co
hier ein link zum originalcode:
http://vesta.homelinux.net/mediawikidir/b/b3/K8056_20051007.tgz
ich hoffe mir kann jemand helfen, da mir leider kenntnisse für c fehlen und ich auch keinen direkt kenne der sich mit sowas auskennt.
danke schon mal im vorraus.
Michael -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ähm...was soll das Prog überhaupt machen?
Das ist mir aus deinem Beitrag nicht ganz klar geworden. -
Wenn du den Quellcode hast, kannst du einfach versuchen das Programm mit MinGW unter Windows zu compilieren. Falls das nicht klappt, hol dir Cygwin und versuche es nochmal, indem du den Source gegen die Cygwin.dll linkst.
-
Jedenfalls kein ANSI-C deshalb wäre eine Anpassung an Windows nötig. Was wiederum C Kenntnisse voraussetzt.
Oder wie bladehunter sagte per Cygwin.
-
das programm soll relaiskarten per commandooberfläche steuern, sprich man ruft das programm mit parametern auf, mit den parametern bestimme ich welches relais auf welcher karte angesprochen wird. ich hoffe man versteht was ich meine.
gibts den vielleicht jemand der mir damit mit dem umstricken helfen würde, gut eeheer gesagt es für mich machen. wäre sehr dankbar.
Mfg
Michael -
Handelt es sich um diese Karte?
http://www.velleman.be/ot/en/product/view/?id=351282
Dann brauchst du eine Software, die die serielle Schnittstelle ansteuern kann.
Auf der Downloadseite
http://www.vellemanprojects.com/be/en/download/files/
des Anbieters gibts zumindest eine VisualBasic-Demo-Software:
http://www.velleman.be/downloads/files/downloads/k8056_vb_demo.zip
Möglicherweise gibts aber noch andere Möglichkeiten. Scheinbar sind viele dieser Relais-Karten auf die gleiche Weise ansteuerbar:
http://www.supernature-forum.de/hardware-forum/60648-muss-serielle-schnittstelle-senden-um-diese-relais.html
Die Python-Ansteuersoftware sollte betriebssystem-unabhängig funktionieren, wenn alle benötigten Python-Packages (PySerial, win32all) installiert sind:
http://www.kaffeefloh.de/k8056.html
Dann wäre da noch licht24pro, welches mit verschiedenen Relaiskarten zusammenarbeiten soll:
http://www.bksoft.de/index_licht24pro.htm
Das ist 'ne kommerzielle Software, es kann also sein, dass du nur eine Demo-Version downloaden kannst.
Diese Karte wird auch von Conrad vertrieben. Möglicherweise haben die auch eine passende Software dazu -- irgendwo auf deren Website gibts eventuell einen Downloadbereich. Ich habe zwar versucht, was auf der conrad.de-Website zu finden, aber das scheiterte dank schwachsinnig "programmierter" Verlinkung (mit JavaScript) und höchstwahrscheinlich Browserinkompatibilitäten. Selbst das Suchformular funktioniert nur mit JavaScript (bei mir funktionierts weder mit noch ohne JS). Gut, dass ich dort schon lange nichts mehr kaufe ...
Wenn's bei dir funktioniert, suche einfach nach "k8056".
Ich sehe gerade, dass deine Linux-Software schon veraltet ist. Die aktuelle (naja, von 2006) findest du hier:
http://vesta.homelinux.net/mediawiki/index.php/The_K8056_interface_board_from_Velleman_on_Linux
... und falls du tatsächlich selbst ein Ansteuerprogramm schreiben willst, empfehle ich dir diese Google-Suche:
http://www.google.de/search?hl=de&safe=off&q=windows%20xp%20serial%20device%20programming%20msdn
*nachtrag*
Anscheinend ist das Programmieren der seriellen Schnittstelle unter Windoze nicht ganz trivial ...
Für den lcc-win32 gibt's eine Library, die das Arbeiten vereinfachen soll:
http://www.johnfindlay.plus.com/lcc-win32/libs/libs.htm
(Sapi)
... und dann gibts auch noch ein schönes Tutorial von codeproject.com:
http://www.codeproject.com/KB/system/serial_com.aspx
Beitrag geändert: 11.12.2008 21:32:43 von alopex -
so, erstmal ich wollte keine software neu schreiben sondern wenn es irgendwie geht ohne grosen aufwand die Linuxsoftware so um zu bauen, das ich diese per CMD (=auch bekannt als Comandoebene , ehemals DOS bzw das ist noch ein teil davon) aufrufen kann. also OHNE grafische oberfläche und sowas. weil ich finds einfacher das comando einzugeben, unter Linux rufe ich nur die anwendung auf und dahinter kommt -a um die karteadresse einzutragen und dann nur noch -S+Relaisnummer für setzen bzw -C+Relaisnummer zum rücksetzen. den bei den grafischen windoof lösungen gibts immer den harken das man hier ne comandobox ändern muss dann wieder hier und da drücken und da ist einfach die komandoebene einfacher.
Michael -
so, erstmal ich wollte keine software neu schreiben sondern wenn es irgendwie geht ohne grosen aufwand die Linuxsoftware so um zu bauen, ...
Gut, dann kürzer: Es geht nicht -- zumindest nicht ohne größeren Aufwand. Es sei denn, du findest jemanden, der dir einen Abstractionslayer für die Ansteuerung der seriellen Schnittstelle unter Windoze und Linux schreibt. Beide Betriebssysteme steuern die serielle Schnittstelle anscheinend auf unterschiedlichen Wegen an.
... und hast du es schon mal mit der Conrad-Website versucht? Ich kann mir kaum vorstellen, dass die ein per PC ansteuerbares Produkt verkaufen, für dass sie keine (einfache) Windoze-Steuersoftware dazu liefern könnten.
... das ich diese per CMD (=auch bekannt als Comandoebene , ehemals DOS bzw das ist noch ein teil davon) aufrufen kann.
Oh, das ist mir durchaus bekannt, ich habe schon Batch-Dateien geschrieben, da bist du noch mit der Trommel um den Weihnachtsbaum ...
Ach, vergiss es einfach!
Nebenbei: Aktuelle Windows-Versionen (NT und folgende) bieten zwar eine Kommandozeilenoberfläche, die an (MS-)DOS erinnert, aber die direkte Hardwareansteuerung wie zu DOS-Zeiten ist damit nicht möglich.
... also OHNE grafische oberfläche und sowas.
Ist prinzipiell klar. Dass sowohl das von mir (als Beispiele) verlinkte Licht24, als auch das Python-Script auf eine grafische Oberfläche setzen -- ist mir auch aufgefallen. Aber möglicherweise lässt sich ersteres auch über die Kommandozeile bedienen. Du müsstest es halt mal downloaden, testen und eventuell die Bedienungsanleitung studieren ... Beim Python-Script sollte es möglich sein, die Klasse RelayCard auch von der Kommandozeile aus zu bedienen. Wenn nicht, sollte es kein Problem darstellen, ein einfaches Script zu stricken, dass Kommandozeilenparameter an die Klasse durchreicht. Und wer C-Programme (um)schreiben kann, kann auch Python verstehen.
Natürlich stellt eine komplette Python-Installation einen gewissen Overhead dar. Kleiner ginge es eventuell mit LUA:
http://lua-users.org/wiki/SerialCommunication
Aber damit kann man nur die serielle Schnittstelle direkt ansteuern. Die speziellen Befehle, die deine Relaiskarte benötigt, müsstest du dann selbst rausbekommen.
weil ich finds einfacher das comando einzugeben, unter Linux rufe ich nur die anwendung auf und dahinter kommt -a um die karteadresse einzutragen und dann nur noch -S+Relaisnummer für setzen bzw -C+Relaisnummer zum rücksetzen. den bei den grafischen windoof lösungen gibts immer den harken das man hier ne comandobox ändern muss dann wieder hier und da drücken und da ist einfach die komandoebene einfacher.
Da stimme ich dir zu.
Beitrag geändert: 13.12.2008 9:59:49 von alopex -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage