PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Webseite um Relais zu Steuern?



Enterprise
22.09.04, 09:19
Hallo,

Ich suche eine Test Homepage über die man den Parallelenport
ansteuern kann, eine Relaiskarte.
Habe schon ge Googelt fand nichts richtiges.
Ich weiß nicht wie man das macht !
Deshalb hätte ich gerne eine Testseite zum spicken.
Vieleicht hat jemand eine Idee !

Windoofsklicker
22.09.04, 10:29
Hm.. spontan würde mir da nur ein Java Applet einfallen.
Das kannst du dann mit einem Webbrowser bedienen.

geronet
22.09.04, 17:22
Eine php Seite die mein Programm mit Parametern aufruft:

http://www.linuxforen.de/forums/showpost.php?p=692559&postcount=3

Enterprise
22.09.04, 20:07
Danke für die Datei.
Ich habe ein kleines Problem mit dem kompalieren.
Hier habe ich den Fehler ausdruck:

lpic.c:30:43: /usr/src/linux/include/asm/io.h: Datei oder Verzeichnis nicht gefunden
lpic.c: In function `main':
lpic.c:87: Warnung: implicit declaration of function `ioperm'
lpic.c:93: Warnung: implicit declaration of function `inb'
lpic.c:138: Warnung: implicit declaration of function `strcmp'
lpic.c:265: Warnung: implicit declaration of function `outb'

Habe nach geschaut den Ordner asm und den Inhalt habe ich nicht.
Was muß ich nach installieren.
gcc C++ make anjuta ist installiert.

Enterprise
23.09.04, 13:13
Habe endlich den Fehler gefunden.
Im Script steht der Pfad /usr/src/linux/include/asm/io.h
und bei mir ist so /usr/src/include/asm/io.h.
Dann konnte ich unter root die Relais ansteuern.
Nun möchte ich es von der Homepage ausführen.
Wie müßte ich es verknüpfen vieleicht als Hyperlink?
Zum anschalten wäre der Befehl "lpic -q 1 on"

geronet
23.09.04, 14:56
Das Programm suid-Rechte geben (Achtung Sicherheit!) und mit php und dem system()-Befehl starten. Den Code dazu habe ich grade nicht da, sollte aber auf PHP Seiten verfügbar sein.

Enterprise
23.09.04, 20:15
Sorry,
Kann mit den Beiden Aussagen nichts anfangen.
Nach was soll ich auf der PHP Seite suchen?
Ich kann suid nicht finden ?
Eas kann ich jetzt tun?

geronet
24.09.04, 12:38
Du sollst dir eine kleine PHP Seite zusammenbauen wo du mit dem system()- Befehl von der Sprache PHP das Programm aufrufen kannst.

Etwa so:

#!/usr/bin/perl
#

&gen_header();

print "<PRE>\n";
system '/sbin/ifconfig';
print "</PRE>\n";

&gen_footer();

exit;


#### sub routines ####


sub gen_header
{
print qq~
<html>
<head>
<title>Status page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#003366" link="#0099CC" vlink="#006699" alink="#FFFFFF">
~;
}

sub gen_footer
{
print qq~
</body>
</html>
~;
}


Das ist jetzt nur mal ein Beispiel wobei der Befehl "ifconfig" beim aufrufen der Seite ausgeführt wird.

Damit die PHP Seite das Programm als root starten kann machst du folgendes:

chmod +s lpic

Damit setzt du das suid-bit womit das Programm als root ausgeführt wird.

Grüsse, Stefan

Enterprise
24.09.04, 23:46
Sorry,
Bin am verzweifeln!!!
Habe dein Script nicht zum laufen bekommen.
Habe dann ein anderes genommen.
<?php
function*mycommand($str)
{
****$print*=*"<pre style=\"text-align: justify;\">";

****ob_start();
********system(*escapeshellcmd(*$str*)*);
********$print*.=*ob_get_contents();
****ob_end_clean();

****$print*.=*"</pre>";

****return*$print;
}
if*(*isset(*$_POST["run"]*)*&&**$_POST["run"]**!=*""*)
*echo*"Mein Kommando ist <br/>".*mycommand(*"/absoluter/pfad/zum/script/lpic -q 1"*);
?>*
<form action="<?php*echo*$_SERVER['PHP_SELF'];*?>" method="post">
<input type="submit" name="run" value="Go" />
</form>

Da erscheint dann ein Button mit Go.

Wenn ich den dann drücke kommt die Fehlermeldung:
Der Befehl kann nicht ausgeführt werden. Die Datei oder das Verzeichnis file:/home/raienz/Webcam/Home9/<?php%A0echo%A0$_SERVER['PHP_SELF'];%A0?> existiert nicht.

Habe dein Tipp ausgeführt mit chmod +s lpic
Dann funzt es auch nicht.
Was kann ich noch tun ?

Enterprise
24.09.04, 23:49
Noch eins habe ich.
Wenn ich ./lpic in der Konsole starten möchte.
Dann erscheint:
Couldn't get the port at 378
try it as root.
Auch wenn ich als root angemeldet bin.
Wenn ich chmod -s lpic mache dann funzt es.

geronet
24.09.04, 23:59
Noch eins habe ich.
Wenn ich ./lpic in der Konsole starten möchte.
Dann erscheint:
Couldn't get the port at 378
try it as root.
Auch wenn ich als root angemeldet bin.
Wenn ich chmod -s lpic mache dann funzt es.

Probier mal
chown root:root lpic
chmod a+rx lpic
chmod +s lpic

Oder mit sudo, geht auch.
Ist vielleicht auch sicherer.
Mit PHP kenn ich mich aber nicht so aus, tut mir leid.

Enterprise
25.09.04, 00:34
So nun mit
chown root:root lpic
chmod a+rx lpic
chmod +s lpic

Funktioniert es in der Konsole wenn ich nicht als root angemeldt
war.
Blos mit dem chmod a+rx lpic das a+rx wollte Suse nicht nehmen.
Wenn ich das PHP File im Konqueror öffne ,kommt immer noch der Fehler.
Mit sudo binn ich nicht klarr gekommen.
Werde mich am Tage mal einlesen.
Im man sudo habe ich nicht so viel verstanden!

`kk
25.09.04, 01:05
Du brauchst Apache + PHP für die PHP-Datei.

Solch klasse Anleitungen wie von geronet kriegst du von mir aber nicht.

http://apache.org
http://php.net

Im Grunde einfach in Yast (du hast doch SuSE?) Apache und PHP installieren. Das war's.

Hm, war ja doch ne klitze kleine Anleitung. :rolleyes:

geronet
25.09.04, 07:28
Hoppala mein php-Beispiel war ja doch mit perl gemacht *duckundwegrenn*
;)

Enterprise
25.09.04, 10:21
Hallo geronet,
Es kein Problem ,daß das Script in falscher Sprach war.
Du brauchst dich nicht *duckundwegrenn*.

Zu 'KK
Bei mir läuft der Apache Server.
Und PHP habe ich auch installiert.
Trotzdem Danke für deine kleine Hilfe.