Portál AbcLinuxu, 8. května 2025 08:03

Dotaz: Vypínání PC přes sériový port - Slackware 10.2.

24.4.2006 20:21 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
Vypínání PC přes sériový port - Slackware 10.2.
Přečteno: 231×
Odpovědět | Admin
Potřebuju vypínat ATX základní desku (Pentium II). Problém je v tom, že k pc není připojen monitor ani klavesnice. Šlo by to vypínat třeba přes sériový port (třeba tím že by se spojily dva drátky ze sériového portu)?
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.4.2006 20:29 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Odpovědět | | Sbalit | Link | Blokovat | Admin
A má to PC ATX vypínač? Tak potom to bude nejjednodušší přes něj.
Weblate - překládání přes web | Gammu SMSD - posílání SMS | Blog
24.4.2006 20:46 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Já ale potřebuji aby se při vypnutí odpojily všechny disky.
24.4.2006 20:51 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Nojo - to je pravda, jestli to má čudlík, tak bude lepší si nastavit událost na ACPI button event. Ale to bývá nastavené defaultně, nebo ne? S tím sériovým portem to možná nebude nutné.
24.4.2006 20:55 lt
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Jak se nastaví událost na ACPI button event?
24.4.2006 21:04 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Je to popsáno v man acpid. ACPI událost na čudlík bývá běžně nastavena takto:
$ cat /etc/acpi/events/sample.conf
# This is a sample ACPID configuration

event=button/power.*
action=/sbin/shutdown -h now
24.4.2006 20:44 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jasně, to je hračka - tady máš na to prográmek:
#!/usr/bin/env python
import tty, os, fcntl, subprocess

fd = os.open('/dev/ttyS0', os.O_RDWR | os.O_SYNC)
fcntl.ioctl(fd, tty.TIOCMIWAIT, tty.TIOCM_CTS)
reboot = subprocess.Popen('poweroff')
Jakmile propojíš CTS a RTS, počítač se vypne. Nezkoušel jsem to, takže v tom určitě bude nějaká chyba ;-)
15.8.2006 19:51 martin
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Potrebuju neco podobnyho pod debian 3.1 (2.4.27). Kdyz se spoji dva dratky na seriovym portu tak to vypne PC. Zakladni deska ma AT zdroj. Ten program co to bude hlidat se musi spustit automaticky po startu systemu.
15.8.2006 19:52 martin
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Idealni by bylo kdyby to spustilo prikaz halt .
15.8.2006 21:15 Jan Martinek
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
A kdyz v tom programku zmenis "poweroff" na "halt" a pridas ho do startovacich skriptu, tak to funguje?
Mimochodem, jestlize ma pocitac AT zdroj, tak ho softwarove vypnout nepujde.
Michal Wirth avatar 15.8.2006 22:31 Michal Wirth | skóre: 26
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
dle meho je ACPI event handler nejlepsi volbou, musi to vsak deska umet (dnes uz vsechny)
Důležité se časem stává absurdním, absurdní se časem mění v důležité.
15.8.2006 22:43 martin
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Ta deska ja naka lepsi 486 (100Mhz CPU 16MB RAM 3x ISA 4x PCI). Ale debian 3.1 tam jede sqvele.
15.8.2006 22:42 martin
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Nejde to vypise to:
server:/# ./vypnout
Traceback (most recent call last):
  File "./vypnout", line 2, in ?
    import tty, os, fcntl, subprocess
ImportError: No module named subprocess
Ja vim ze se to softwarove vypnout neda, ja jen chci aby to ukoncilo system. Pak uz to vypnu rucne.
16.8.2006 10:04 Jan Martinek
Rozbalit Rozbalit vše Re: Vypínání PC přes sériový port - Slackware 10.2.
Aha, tam je asi starej Python a chybi modul subprocess. Zkus tohle:
#!/usr/bin/env python
import tty, os, fcntl

fd = os.open('/dev/ttyS0', os.O_RDWR | os.O_SYNC)
fcntl.ioctl(fd, tty.TIOCMIWAIT, tty.TIOCM_CTS)
os.system('halt')

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.