Hallo Zusammen,
ich würde gerne einen exteren Schalter (ganz einfacher Schalter mit 2 Positionen) an meinem Debian-system anbringen. Von welchem ich dann den Status in einem .sh-Script mit eine IF-Abfrage abfragen kann. Ich hatte mit gedacht, das ganze vieleicht über eine Serielle-Schnittstelle zu bewerkstelligen. Leider habe ich keine ahnung, wie ich das bewerkstelligen soll.
OS: Debian GNU/Linux, kernel 2.6.18-5-686
Des Ding läuft ohne Tastatus und Monitor als Samba-Server.
Freue mich schon auf Antworten
Gruß
Ivo
exteren Schalter
moin, moin,
mit statserial kannst du die Steuerleitungen einer seriellen
Schnittstelle abfragen. Wenn du den Schalter z.B. zwischen
DTR (Pin 4) und DSR (Pin 6) am COM1 anschließt, liefert dieser
Ausdruck eine 0 für AUS und eine 256 für EIN:
Sollte das wider Erwarten nicht funktionieren, könntest du
nachmessen, ob an DTR mindestens +5 Volt rauskommen
und/oder externe 5 bis 12 Volt in den DSR-Pin einspeisen.
Bei 25-poligen COM-Ports ist DSR auch auf 6, DTR auf 20.
mit statserial kannst du die Steuerleitungen einer seriellen
Schnittstelle abfragen. Wenn du den Schalter z.B. zwischen
DTR (Pin 4) und DSR (Pin 6) am COM1 anschließt, liefert dieser
Ausdruck eine 0 für AUS und eine 256 für EIN:
Code: Alles auswählen
$((`statserial -d /dev/ttyS0` & 256))
nachmessen, ob an DTR mindestens +5 Volt rauskommen
und/oder externe 5 bis 12 Volt in den DSR-Pin einspeisen.
Bei 25-poligen COM-Ports ist DSR auch auf 6, DTR auf 20.
Beware of programmers who carry screwdrivers.
- Lord_Carlos
- Beiträge: 5578
- Registriert: 30.04.2006 17:58:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Dänemark
HI AnyoneAnyone hat geschrieben:So, hab alles fertig und funktioniert perfekt.
Danke für die hilfe!
Ivo
Ich würde gerne mal sehen wie dein fertiges script aussieht.
Ich habe in diesem Bereich leider Null Erfahrung.
Code: Alles auswählen
╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!
Natürlich...
Ist ein kleines Script, welches ab 10 uhr Abends per Cron alle 5 min ausgeführt und alle Rechner hier anpingt. Wenn kein Rechner mehr erreichbar ist, fährt er runter. Morgens fährt er dann ab 10 uhr wieder automatisch hoch (Bios Einstellung).
Der kleine Externe Schalter soll das ganze einfach unterdrücken.
Gruß
Ivo
Ist ein kleines Script, welches ab 10 uhr Abends per Cron alle 5 min ausgeführt und alle Rechner hier anpingt. Wenn kein Rechner mehr erreichbar ist, fährt er runter. Morgens fährt er dann ab 10 uhr wieder automatisch hoch (Bios Einstellung).
Der kleine Externe Schalter soll das ganze einfach unterdrücken.
Code: Alles auswählen
##!/bin/sh
clear
if [ $((`statserial -d /dev/ttyS0` & 256)) = 256 ]
then
shutdown=true
else
shutdown=false
fi
export ips="2 3 4 5 6 7 9"
if $shutdown; then
for I in $ips
do
if ping -c1 -q 192.168.1.$I > /dev/null
then
shutdown=false
echo 192.168.1.$I ist erreichbar
else
echo 192.168.1.$I ist nicht erreichbar
fi
done
fi
if $shutdown; then
echo SERVER wird heruntergefahren
datum=`date +%Y-%m-%d" "%H:%M:%S`
echo $datum - SERVER wird heruntergefahren >> /home/log.txt
halt
else
echo SERVER wird nicht heruntergefahren
fi
Ivo