Automātiskais PC restartētājs

[b][u]Ideja[/u][/b]
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, [u]nospiežot reset pogu[/u] 🙂
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 [u]elektriski nospiedīs reset pogu[/u].

[b][u]Programma[/u][/b]
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 [b]oollee[/b] un uzrakstīja programmu, kuru nosaucām par [i]cwrit.exe[/i]. 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.

[b][u]Kontrole[/u][/b]
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.
[b]C:\cwrit\[/b] vietā jāliek ceļš uz direktoriju, kur jums atradīsies programma ar komandfailu.
[b]192.168.1.1[/b] ir servera IP adrese, uz kuru veic pārbaudi. Var izmantot arī DNS vārdus, piemēram, [b]datuve.lv[/b].
Pārējo nav nepieciešams mainīt, bet, ja vēlaties, varat pamainīt gaidīšanas laikus.

[b][u]Kontroles paslēpšana[/u][/b]
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 [i]nemaisītos pa kājām[/i] 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 [i]When my computer starts[/i]. 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.

[b][u]Shēmas darbība[/u][/b]
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.

[img]/images/upload/pcrestarter.gif[/img]

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:

OC1 MCT2, vai cits
P1 G2V-2 (OMRON), vai cits
R1 470 Ω ±20%, 0.1W
R2 39 kΩ ±20%, 0.1W
VD1, VD2 1N4148, 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 [url=http://urbis.blogdns.net/files/cwrit.zip]šeit[/url]

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp

Atbildēt

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti kā *

Datuve.lv – IT un Tehnoloģiju ziņas || Copyright © 2004-2020 || Kontaktinformācija: info@datuve.lv  || Contact Us