|
|
Dit document is beschikbaar in: English Castellano Deutsch Francais Italiano Nederlands Russian Turkce Korean |
door Guido Socher <guido(at)linuxfocus.org> Over de auteur: Guido is al lang een Linux fan. Meestal ontwikkelt hij programma's of doet werk voor LinuxFocus, maar zo af en toe vind hij het leuk om aan hardware te knutselen. Vertaald naar het Nederlands door: Tom Uijldert <Tom.Uijldert(at)cmgplc.com> Inhoud: |
Kort:
In dit artikel ontwerpen we een drukknop die je op de seriële poort van je machine aan
kunt sluiten. Met deze knop kun je de machine afsluiten.
Als ik een computer koop kijk ik altijd of de BIOS een instelling heeft waarmee je de controle op de aanwezigheid van een toetsenbord kunt uitzetten. Iedere behoorlijke moederbord- fabrikant heeft die optie tegenwoordig. Sommige fabrikanten denken nog steeds dat mensen alleen maar Windows op hun PC hebben en deze PC's hebben dus een toetsenbord nodig om op te starten. Het is af te raden om dergelijke hardware aan te schaffen.
Een machine zonder toetsenbord en monitor is de ideale computer om te gebruiken als firewall, web-server, NFS bestandsserver, mail-server, ADSL-adapter enz. Het hoeft geen dikke machine te wezen. Een oude Pentium op 100 MHz met voldoende intern geheugen kan makkelijk honderd of meer machines bedienen.
De afwezigheid van externe apparatuur hiervoor is makkelijk want de server is dan gereduceerd tot een kleine doos die je overal neer kunt zetten. In een hoek of op een plank in de kelder. Soms echter, heb je de behoefte aan een knop waarmee je de machine op een nette manier neer kan halen zonder dat je hoeft in te loggen en het shutdown commando moet draaien. Wellicht omdat je al in de serverruimte bent en het dichtstbijzijnde werkstation 100 meter verder is. Of er is iemand die wel bij de machine kan maar het wachtwoord van de machine niet heeft en toch de machine af moet sluiten voordat hij de voeding eruit haalt.
Simpelweg de stekker eruit trekken is geen goede oplossing omdat je daarmee data kunt verliezen en een disk-check (fsck) bij opstarten duurt eindeloos.
De oplossing hiervoor is het kleine en goedkope apparaatje dat we hier bespreken.
Na deze drie seconden zal het groene licht uitgaan om aan te geven dat het afsluiten is
begonnen. Het commando "/sbin/shutdown/ -t2 -h now
" wordt nu uitgevoerd.
Het geel zal knipperen tijdens het afsluiten. Nadat het knipperen is gestopt moet je nog 10
seconden wachten voordat de stekker eruit gaat. Het knipperen stopt nadat alle processen
gestopt zijn en de schijven offline worden gehaald.
Als je computer is uitgerust met automatische power off dan hoef je je niet druk te
maken over de 10 seconden. Wacht gewoon totdat hij zichzelf uitschakelt.
ioctl()
systeemfuncties. Dat betekent dat je de kernel niet hoeft te
veranderen om een LED aan te sturen of om de status van een drukknop af te lezen. De poort
heeft net genoeg spanning om 2 kleine LED's aan te kunnen sturen. We zullen de pennen
RTS en DTR gebruiken voor het aansluiten van de LED's en de
Carrier Detect voor het uitlezen van de stand van de drukknop.
9 PIN D-SUB MALE aan de computerkant.
9 PIN-connector | 25 PIN-connector | Afko | Richting | Benaming |
---|---|---|---|---|
1 | 8 | CD | invoer | Carrier Detect |
2 | 3 | RXD | invoer | Receive Data |
3 | 2 | TXD | uitvoer | Transmit Data |
4 | 20 | DTR | uitvoer | Data Terminal Ready |
5 | 7 | GND | -- | System Ground |
6 | 6 | DSR | invoer | Data Set Ready |
7 | 4 | RTS | uitvoer | Request to Send |
8 | 5 | CTS | invoer | Clear to Send |
9 | 22 | RI | invoer | Ring Indicator |
Hierboven zie je de printplaat weergegeven. Ik heb geen precies schema voor je voor de inrichting van de plaat omdat ik kleine schakelingen het liefst uit de hand direct op de plaat teken met ets-ongevoelige inkt.
Het hele apparaatje is te zien op het plaatje aan het begin van dit artikel. Je kunt volstaan met voorzichtig 3 gaatjes in het voorpaneel van je server te boren. Twee gaten van 3 mm voor de LED's en eentje voor de drukknop. Het geheel is heel licht en de schroef van de drukknop is voldoende om het vast te zetten.
/etc/rc.d/rc3.d
kan
worden gestart. De systeemfuncties ioctl(fd, TIOCMSET, ...)
en
ioctl(fd, TIOCMGET, ...)
worden gebruikt voor het lezen en schrijven naar de
poort. Je kunt sled-0.1.tar.gz van het net halen.
Een makefile en gebruiksaanwijzing zijn er bij inbegrepen.
|
Site onderhouden door het LinuxFocus editors team
© Guido Socher, FDL LinuxFocus.org Klik hier om een fout te melden of commentaar te geven |
Vertaling info:
|
2002-06-08, generated by lfparser version 2.28