Datuve :: Automātiskais PC restartētājs

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 52

Reģistrētie lietotāji online: 0

Viesi online: 52

Datuve.lv video
Top.LV

Automātiskais PC restartētājs

Ievietoja: urbis @ 2005.06.02 04:28  

Ideja
Jebkura artefakta pamats ir ideja. Ja nav ideja, nebūs arī artefakts.

Visa pamatā ir reāla situācija: ir dators, kas kalpo kā maršrutizētājs un mājas lapas serveris. Gadās, ka tas ņem un uzkaras daļēji vai pilnīgi. Tad nu vajag pārstartēt. Bet ej nu novaktē, kad būs tas uzkāršanās mirklis. Tātad procesu vajag automatizēt, lai restartējas pats, kad vajag. Loģiski domājot, pats jau nevarētu restartēties, jo ir uzkāries, tātad kādam citam ir jākontrolē tā darbība un atbilstoši jārīkojas.

Kontrolējamais dators ir serveris. Kā kontrolieri varam izmantot jebkuru citu datoru, kas ir pieslēgs tīklam (tieši vai pastarpināti serverim). Kontroli varam veikt, pingojot serveri un pārbaudot, vai pongs tiek saņemts. Ja tiek saņemts, viss ir OK. Ja netiek saņemts, restartējam serveri. Ļaujam serverim ielādēties un turpinām kontroli.

Serveri varam restartēt, nospiežot reset pogu :)
Nē, tev nebūs jāspiež reset poga katru reizi, kad serveris uzkārsies. To izdarīs dators, kurš kontrolē servera darbību. Tu laikam nodomāji, ka es galīgi sviestā esmu sagājis. Kā tad dators nospiedīs pogu...
Viss notiek pavisam vienkārši. Kontrolieris nosūtīs signālu elektriskajai shēmai, kura elektriski nospiedīs reset pogu.


Programma
Signālu shēmai no datora ērti ir sūtīt no COM porta. Tā kā nav iespējams ierakstīt datus COM portā, bez programmas, kas to dara, tad nepieciešama programma. Ērti būtu programma, kas to dara, ja tiek izsaukta no konsoles ar komandas palīdzību.
Te man talkā nāca oollee un uzrakstīja programmu, kuru nosaucām par cwrit.exe. Programma ieraksta nepieciešamos datus vajadzīgajā portā ar norādīto datu pārraides ātrumu.

Sintakse:
cwrit <com_port> <baud_rate> <dati>
kur
com_port - vajadzīgais ports, parasti COM1 vai COM2;
baud_rate - pārraides ātrums, jo mazāks, jo labāks šajā gadījumā, standarta ir 110, 150, 300 un citi;
dati - nosūtāmie dati, var likt "pēdiņās".
Piemērs:
cwrit COM1 110 ~~~~~REBOOT~~~~~

Programmai arhīvā pievienots arī izejas kods. Kam ir vēlēšanās, var paeksperimentēt un iemēģināt savus pirkstus.


Kontrole
Programma, ar ko dot signalu shēmai, ir. Jārealizē pārbaude, ko veic ar windows komandu izpildes skriptu (*.bat), kas ir iekļauts arhīvā, kopā ar cwrit.
C:\cwrit\ vietā jāliek ceļš uz direktoriju, kur jums atradīsies programma ar komandfailu.
192.168.1.1 ir servera IP adrese, uz kuru veic pārbaudi. Var izmantot arī DNS vārdus, piemēram, datuve.lv.
Pārējo nav nepieciešams mainīt, bet, ja vēlaties, varat pamainīt gaidīšanas laikus.


Kontroles paslēpšana
Kamēr testē shēmas un/vai komandfaila darbību, ir redzams komandlogs. Tas ir vajadzīgs, lai zinātu, kas notiek. Taču, kad viss ir pārbaudīts, kontrole var kļūt mums neredzama, lai visu laiku nemaisītos pa kājām un neatrastos uz desktopa un/vai taskbar. Lai kontroli padarītu neredzamu, pieliksim sistēmai uzdevumu, ka kontrole ir jāstartē, ielādējot sistēmu. Atveram kontrolpaneli, Scheduled Tasks, Add Scheduled Task. Norādām komandfailu monitor.bat un norādām When my computer starts. Noteikti ieraksti lietotāja paroli. Pēc tam rediģējam jaunizveidoto uzdevumu: Properties, Settings un izņemam ķekšus šajā izvēlnē, apstiprinam ar OK ;)
Uzdevums ir gatavs. Pēc pirmās sistēmas pārlādes uzdevums sāks izpildīties un parādīsies uzdevumu menedžerī pie Processes kā cmd.exe.


Shēmas darbība
Shēma reaģē uz COM portā ierakstītajiem datiem. Neatkarīgi no datu satura, optopāra (OC1) emiterdiode izraisa fototranzistora bāzes strāvu. Pie pietiekoši lielas šīs strāvas VT1 atveras un ieiet piesātinājuma apgabalā. Kolektora - emitera sprieguma kritums uz VT1 izvadiem ir minimāls un nostrādā relejs P1. P1 savieno reseta pogas izvadus (RST1 un RST2), kas izraisa datora pārstartēšanos.



Optopāris OC1 veic vadības datora elektrisko atsaisti no vadāmā datora (to, kas jāpārstartē), lai nenotiktu dažādas nepatīkamas lietas, kas var novest pat pie abu datoru daļējas vai pilnīgas darba nespējas.
Diode VD1 ķēdē ieslēgta, lai strāva COM portā plūstu tikai tad, kad tiek ierakstīti vieninieki (+10V ~ +15V). Diode VD2 veic optopāra aizsardzību no apgrieztā sprieguma. Rezistors R1 ierobežo strāvu caur optopāra emiterdiodi un aizsargā to no pārslodzes. R2 ierobežo maksimālo strāvu caur optopāra fototranzistoru un arī nosaka VT1 atvēršanos un piesātinājuma iestāšanos. Releja P1 spoles aktīvā pretestība nosaka maksimālo emitera strāvu tranzistorā TV1. Šai pretestībai vajadzētu būt ap 1kΩ - 2kΩ. Ja tā ir mazāka, jāieslēdz papildus rezistors virknes slēgumā. Ja relejs tad vairs nenostrādā, jāizmanto jaudīgāks tranzistors (bez papildus rezistora), piemēram, no КТ814 vai КТ816 sērijas.

Šajā shēmā relejs P1 nostrādā pie 24V sprieguma, tāpēc shēma tiek barota no +12V un
-12V izvadiem, kuriem ir kopīgs nullespunkts. Ja izvēlas releju, kas nostrādā pie 12V vai mazāka sprieguma, -12V vietā pieslēdz pie nulles. Šādā gadījumā R2 nomināls varētu būt 20kΩ.

Elementu uzskaitījums:
OC1MCT2, vai cits
P1G2V-2 (OMRON), vai cits
R1470 Ω ±20%, 0.1W
R239 kΩ ±20%, 0.1W
VD1, VD21N4148, vai citas mazjaudas diodes
VT1КТ361Г (В, Д, Е)


Shēmu var salodēt, neizmantojot iespiedplati. To var ērti ievietot sērkociņkastītē un aiztaisīt ;)

programma cwrit un saistītie faili atrodas šeit

Saistītie raksti

Komentāri

#1 Crush @ 2005.06.02 08:27

lūk, tādi raksti man patīk. :)
tā turēt...

#2 Brutto @ 2005.06.02 09:39

Labi ka vismaz detaļām nav aizmirsts pierakstīt parametrus :)
Savulaik man tieši patika šāda veida šēmiņas ar kuru palīdzību būtu iespējams kontrolēt kādu citu iekārtu, pieslēdzot vienkārši pie PC COM porta.
Piemēram par radiamatierismu runājot ir dažnedažādas šēmiņas ar kuru palīdzību var atkodēt CW (telegrāfa), RTTY (teletaipa) vai SSTV (lēnā televīzija) signālus un redzēt uz ekrāna saprotamā veidā (teksts, attēls).
Šādiem nolūkiem pat noder Creative SB skaņas karte ar attiecīgu programmiņu.
73!

#3 ciruliz @ 2005.06.02 09:41

ir taksh sen izdomaata taada lieta serveriem kaa BNC remote reset. bet jaa vienalga noderiigs rxts

#4 Delfins @ 2005.06.02 11:46

1.) neredzu jēgu rakstīt to message, jo jams varbūt jebkurš :)

2.) un ja es serverim atslēgšu echo-reply ? :)
3.) šitāds restarts nav drošs...

#5 krona @ 2005.06.02 12:17

A kas notiks tad, ja problēma būs swich vai kāds cits gļuks tīkla sakarā?

#6 fenders @ 2005.06.02 12:19

Mikrokontrolieriem tāds verķis jau ir iebūvēts. Saucas "watchdog timer". Tāda kā modrības poga vilcienu mašīnistiem. Ja programma ik pa laikam taimeri nenonullē, tas pieskaitās pilns un uztaisa resetu.

#7 gusc @ 2005.06.02 12:35

cik garsh var buut tas com vads? piemeram metri 5-10?

#8 MZM @ 2005.06.02 12:55

Linux kernelī ir watchdog atbalsts. :)

#9 Velko @ 2005.06.02 13:41

Neskatoties uz to, kā te daži izteicās, ka velosipēds ir vēlreiz izgudrots - ideja tiešām laba. Vienīgais - par to pingošanu: gadās ka uzkāries dators uz pingiem tomēr atbild. Principā tādu lietu varētu taisīt ar echo servisu (7/tcp).

#10 Glupais @ 2005.06.02 18:11

118 kioskos tiek izmantots kaut kas līdzīgs. Kompis pats ik pa minūtei padod signālu uz COM1, kur to uztver shēma. Ja shēma minūtes laikā nesaņem signālu, tiek nospiests reset =)

#11 ingrida @ 2005.06.02 19:54

tas ir labs. vel tikai to uztaisiit ka pci plati ar savu barosanu un tikla interfiesu/vai modemu/ +os un busi bagats

#12 Rukicc @ 2005.06.03 00:01

Elegants variants kas dzirdeets, kaa dara ir veel mobilais telefons ar zelta zivi routerii... kaa uzkaras taa tik uzzvani uz savu zelta zivi..... mikrafona vadi pie restart pogas kaajaam un viss notiekot, nav fiziski jaacaapo ciemos  pie sava servera..... rootera vai kas nu kuram ...

#13 ManInBlack @ 2005.06.03 10:06

eh, atgaadinaaja man skaitos jauniibas gadus, kad seedeeju pie sava 286aa kompiisha un priecaajos par to, cik jauki var mirkskinaat lpt portaa iespraustas diodes iz pascala.

#14 GM WWW @ 2005.06.04 11:50

:D Es veel atceros kaa ar braaliiti kustiibu dektektorus likaam pie LPT un ar Pascaalu chekojaam signaalu... Ideja nav slikta, vieniigais jaapiedomaa pie siikumiem, kaa jau viens teica, kas notiks, ja kaut kaadi switch-i atteiksies straadaat utt..Bet var tachu iespraust otru tiikleni un cross-cable, tad ideaali, bet taa lieta, ka dators atbild uz pingu, tomeer ir uzkaaries, tas man liekas diezko biezji nenotiek un tad labaak taada aizsardziiba nekaa nekaada...

#15 Hell666 @ 2005.06.04 13:40

A vienkaarshaak nebija releju piesleegt pie LPT porta?

#16 spynode @ 2005.06.04 14:49

Man patiik "risinaajums" probleemai ar serveri, kursh regulaari nokaraas. Via ass.

#17 jermo @ 2005.06.06 15:21

mans piedaavaajums ir uztaisiit citu datouru kas pingo serveri. ja nepingojas nosuuta SMS uz tavu tel. un tu pirms restarta vari pac paarbaudiit! pashu restartu var uztaisiit caur to pashu COM piejuudzot telefonu! vieniigi vajag liiniju ieriikot un tur jau aiziet $! ssarezhgjiiti, daargi, bet droshi un lietoshanaa eerti! korporatiivs risinaajums!

#18 aaa @ 2005.06.08 12:57

kaada velna peec jaamudii ar optroniem tanzistoriem un relejiem?
ar taisnaam rokaam var uztaisiit uz 1 kondencatora 1 dioses un paaris pretestiibaam.

tik jaapameklee taa sheema

#19 aaa @ 2005.06.08 14:14

vispaar meeginaashu uzrakstiit savu raxtupar auo PC restarteetaaju, jo darbiibas princips nedaudz atshkiras...

#20 grisha WWW @ 2005.06.10 11:36

Vispaar, lai atbriivotos no shaadaam probleemaam, kaa kompja uzkaarshanaas, vislabaak ir NELIETOT Windows, bet gan kaadu citu OS, kura ir paredzeeta web un marshuteeshanas darbiibu uztureeshanai, piemeeram, Linux...

#21 Coolers @ 2005.06.10 16:58

Zin es neko nesaprotu zinu tikai ka raksts ir loooooti labs

#22 Monsters @ 2005.06.14 00:27

TIeshaam labs raxts !!!

#23 Hackers @ 2005.06.16 13:10

Labs raksts. Respect! Ipaši tā daļa ar shēmām.

#24 trakais @ 2005.08.14 23:55

es vispaar neatceros kad man win xp buutu uzkaaries!!! vienkaarshi vajag sadziivot mieraa!! es savu pc nedraazhu pakaljaa ar visaadaam sheemaam un gljukainaam progaam u.t.t. kautko chakareeju tikai ja esmu 100% drosh par rezultaatu un viss ok!!!

#25 indiānis Līkā Kāja @ 2005.08.15 12:51

UN valdība vēl sūdzas ka mums trūkst interesentu inženierzinātnēs :D pēc lasītā mani par to māc lielas šaubas

Latvija - zinātnes dzimtene hehe

#26 Rajah @ 2005.08.15 13:53

vislabākie inženieri ir tie, kas kā krievu pasakā māk blusu apkalt. es vienu otru ar tādu pazīstu, tikai likteņa un daudzu augstāk sēdošu idiotu dēļ tiem nav lemts sevi izpaust - t.i., strādā darbu ne to, ko varētu vēlēties u.t.t.

#27 Nu @ 2005.08.16 20:58

Vai ku šitais ir labs, tomēr ideja gan čerez ž.... Pirmkārt ļoti daudziem mūsdienu kompjiem nemaz nerunājot par pilnīgi visiem speciāli designotajiem serveriem jau ir iešūts watchdogs dzelžu līmenī - to no BIOSa var regulēt. Otrkārt, nevajag ar līkām rokām serveri konfigurēt, tad nekārsies! Ja nejēdz pats, paprasi kādam citam (Es arī tā daru, kad sarežģītāka Linux konfigurācija jātaisa). Katram kārienam ir savs iemesls, no kura, starp citu, var arī tikt vaļā.
Treškārt, vai cik pasaule ir maza - es arī esmu ae lpt spēlējies un kustību sensoru kabinājis klāt un rakstijis visādus softus signālu kontrolei gan beisikā gan paskālā. Galu galā tas noveda pie tā ka uztaisiju "skrejošās ugunis" uz 60 lampām (6x10 matricā) kas pie kompja kabinās (ja kāds ap ziemsvētkiem ir Rīgā pa Imantu braucis, moš būs pamanijis kādas piecstāvenes 5.st. logā) Šogad beidzot būs laikam jānoportē softs uz Delfiem, a to ZB atsevišķu mašīnu DOSā darbināt...

#28 Lasis @ 2005.08.20 23:54

Man vislabāk patikās par zelta zivi rūterī, riktīgi noņirdzos!

#29 Slowmo @ 2005.10.04 19:29

Atljaushos es ar vaardinju pateikt.

1) shii sheema nav iipashi veiksmiigs risinaajums, jo tad kompim, uz kura staav tas watchdogs, jaazin, cik aatri kompis iebuutojas. Savaadaak tiks nosuutiits reset, pirms veel kompis ir atpakalj iesleedzies. Labaak buutu tieshaam izmantot sheemu, kad objekts pats ik pa laikam piesakaas, nosuutot signaalu uz watchdogu. Ja paiet laiks un tas nav izdariits, sheema palaizh kompi uz resetu un gaida pirmo signaalu peec kompja iesleegshanaas, lai atkal aktivizeetu gaidiishanas taimeri.

2) sheemaa ieeja tiek sleegta pie signaala paarraidiishanas un zemes dziislaam, kas nebuut nav labaakais risinaajums. Es pat teiktu - tas ir ljoti slikts risinaajums, jo shajaa dziislaa pie signaala nosuutiishanas paraadaas 8 bitu signaala seerija. Pie ljoti zema baudreita, reset tiks spaidiits liidz pat 8 reizes (plus veel piedevaam paaris kontroles bitu - start bits saakumaa un stopbits beigaas)  uz katru datu simbolu, kas tiek paarraidiits.
COM portam tak ir ljoti labi shim noluukam izmantojamas dziislas kontroles signaaliem. Nulle gan buus jaatstaaj tur pat, bet otru ieejas konektoru var sleegt peec izveeles pie DTR (4. dziisla), vai RTS (7. dziisla). Viss, kas atliek prigrammai - padot vienu no kontroles signaaliem (atkariibaa no taa, kursh tiek izmantots).

3) neesmu paarliecinaats, ka te vispaar kaads sho izlasiis, jo baigi daudz sakomenteets :)

#30 ATM @ 2006.05.26 12:22

Raikons rakstīja:

Šausmas, es no tām shēmām neko nesaprotu...

maacies fiziku :D

#31 urbis WWW @ 2006.11.10 16:17

nu, protams, varianti ir daudz un dažādi. šeit uzrādītajā shēmā izmantoju detaļas, kas bija pa rokai, lai nebūtu jātērē naudiņas. tā sakot - gatavs ātri un lēti.
var arī to visu padarīšanu pārcelt uz mikrokontrolieriem, taču tad tas jau patērēs samēra labas naudiņas, kā arī ir nepieciešamas zināšanas ASM un ierīce, ar kuru programmēt kontrolieri. principā, varētu arī ko tādu izstrādāt, taču šī problēma man vairs nav aktuāla: vecā kaste aizlaista pensijā...

#32 Firza @ 2006.11.10 17:11

Nebūtu slikti paralēli releja spolei ielikt pretējā polaritātē slēgtu diodi, lai pasargātu tranzistoru no releja radītā inducētā spriegumu. Tas spriegums var būt pat vairāk kā 100V, un ar to pilnīgi pietiek lai sadedzinātu tranzistoru un netikai to. Ieteikums likt paralēli relejam diodi, attiecas uz jebkuru shēmu kurā tranzistors, mikroshēma, vai optrons komutē līdzstrāvas releju.

#33 DamagE WWW @ 2007.01.27 15:27

:) peedeeja iespeja - ko dariit ja abi compji uzkaras! :) - protams ieviest veel 1 kas veero iepriekseejo !

#34 mazais-alex WWW @ 2007.03.06 03:08

Jus visi esat loxi!vai tad nava vieglaak pieiet pie kompja un paturet izslegshanas pogu?nevis te 4akareties ar pingiem pongiem serveriem!zubrilas

#37 xzoklis @ 2008.01.08 15:32

kaapec vajag 3 datorus???Lai abi datori viens otru kontrolee to,lai vinni neuzkaras.

#38 ashdgaskhdg @ 2008.01.12 14:16

Un ja vairāki uzkaras vienlaicīgi? :D

#39 ReBoot WWW @ 2008.06.05 18:17

ir dzirdēts šāds restartēšanas variants, pieskatāmajam kompim pretī nolikts otrs, tā, ka izbīdot CD-rom tiek nospiesta reset poga, otrais kompis visulaiku pingo pirmo, un kad tas neatbild, izbīda cd-rom :)

#41 petjka @ 2008.06.09 16:55

eu man nerāda komentārus sākot no 70 :(((( man ir jaunākais FF

#42 KaNeiet WWW @ 2008.06.09 17:06

#91 aizmirsi pievienot savu e-pastu, lai varētu pierakstīt kādai spamlistei - varēsi lasīt gan šos, gan vēl citus bonusā.

#43 petjka @ 2008.06.09 17:19

kaneiet - lai tev dzīvē veicas ;)

Iztikšu bez šīs lapeles. Nav ar lohiem pa ceļam.

#44 janisberzins428ui @ 2008.06.10 20:49

Daži labi sviestā sagājuši ...

#45 LazyMan @ 2008.06.11 23:57

mmm... man šķiet kair iespējams šo visu padarīšanu izveidot neizmantojot papildus datoru... .

Jāizveido ar trim daļām:
Taimeris;
Taimera restartētājs;
datora restartšanas relejs.

Programma, kas uzistalēta uz servera jāpadod pārtrauktu strāvas impulsu signāls com portam ar intervālu, piemēram, 1 sekunde.

Com izejas pārtrauktais signāls nonāk shēmā, taimera restārtēšanas ķēdē kur pie katra impulsa maiņas ķēde restartē taimeri.
Taimeri, atkarībā noķēdes tipa, kondensātõr, maiņkondensātora kapacītātes uzstāda uz noteiktu laiku piem 10 -20 sekundes, kur pēc taimera palaišanas, tas pēc 1-20 sekundēm noslēdz ķēdi, nostrādā relejs, kas restartē datoru.

Tātad ideja sekojoša, programma padod pārtrauktu signālu com portam ar intervālu viena sekunde, signāls nonāk ķēdē, kur iedarbina taimeri un ik pēc katra impulsa taimeris tiek restartēts. Līdzko dators pakaras, programma kas atbild par impulsu nosūtīšanu arī "pakaras", rezultātācom portam tiek padots patstāvīgs signāls vai tā vispār nav. Līdzarto, nesaņemot pārtrauktu signālu nenostrādā taimera restartēšanas shēma. Ja taimeris netiek restartēts 20 sekunžu laikā nostrādā relejs un restartē datoru.

Tas ir tikai idejas līmenī bet to pēc manām domām ir iespējams realizēt.