Linux: början hemautomation på en server. (2 / 11 steg)
Steg 2: Skapa parallellporten kontrollerade program.
$ su
# gcc -o lptout lptout.c
# exit
$
-------------------------------------------------------------------------------
lptout.c (du måste skapa filen på servern)
Filen är nu kopplad som jag använt.
[code]
/*
* Enkel parallellporten output control program för Linux
* Skriftlig och copyright av Tomi Engdahl 1998
* (e-post: tomi.engdahl
*
* Programmet produktionen datavärdet till PC parallellporten data stift
* (lpt1 I/O standardadressen 0x378). Datavärdena ges som den
* kommandoradsparameter till programmet. Antalet kan vara
* i decimal (0..255) eller hexadecimalt format (0x00... 0xFF).
*
*/
/ * Se den bifogade filen för den innehåller.
*/
/ * & #lt; Ersätt med en < symbol och & #gt; Ersätt med en > symbol * /
#include & #lt;stdio.h & #gt;
#include & #lt; stdlib.h & #gt;
#include & #lt60;unistd.h & #gt;
#include & #lt;sys/io.h & #gt;
#define basera 0x378 / * skrivare basadressen * /
Main (int argc, char ** argv)
{
int värde;
om (argc! = 2)
fprintf (stderr, "fel: fel antal argument. Detta program behöver ett argument som är tal mellan 0 och 255.\n"), exit(1);
om (sscanf (argv [1], "%i", och värdet)! = 1)
fprintf (stderr, "fel: parametern är inte en numrera. \n"), exit(1);
om ((value<0) || (Value>255))
fprintf (stderr, "fel: Ogiltigt numeriskt värde. Parametern numret måste vara mellan 0 och 255\n"), exit(1);
om (ioperm(base,1,1))
fprintf (stderr, "fel: kunde inte få hamnen i %x\n", bas), exit(1);
outb ((unsigned char) värde, bas);
}
[/code]
Uppdatering: Jag ingår källfilen jag använde separat eftersom www.instructables.com torkas del av den.