Предлагаю вариант устройства автоматически перезагружающее компьютер при зависании.
В основе лежит известная плата Arduino с минимальным количеством внешних электронных компонентов. Транзистор подключаем к плате согласно рисунку ниже. Коллектор транзистора подключаем вместо кнопки "Reset" компьютера на материнскую плату, на тот контакт который
НЕ соединен с GND.
Схема ОЧЕНЬ проста:
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Ffs5.directupload.net%2Fimages%2F161224%2Fujs3cdxr.png&t=665&c=_LvG2p17AXQeAw)
Функционирует устройство следующим образом: на компьютере запускается скрипт, который периодически шлет в порт компьютера данные. Ардуино подключается к USB и слушает этот порт. Если в течении 30 секунд данных нет Ардуино открывает транзистор, который соединяет Reset c землей, тем самым имитируя нажатия кнопки сброса.
После сброса ардуино делает паузу в 2 минуты дожидаясь загрузки всех программ и вновь начинает слушать порт.
Скрипт и майнеры должны быть добавлены в автозагрузку, а биос настроен на автоматическое включение компьютера.
Изготвление устройства требует минимальных навыков работы с паяльником и програмирования ардуино. Стоимостью электронных компонентов можно пренебречь (резисторы 5 р десяток, транзистор 3-4 р.) Ардуино пойдет любая с USB. Arduino Nano на али экспресс можно купить за 350 р.
Скетч Ардуино
int LedPin = 13;
int ResetPin = 12;
int val = 0;
int count = 0;
void setup()
{
Serial.begin(9600);
pinMode(LedPin,OUTPUT);
//пауза на запуск 2 мин
delay (120000);
}
void loop()
{
count++ ;
if (Serial.available() > 0)
{
val = Serial.read();
if (val == 'H')
{
digitalWrite(LedPin,LOW);
digitalWrite(ResetPin,LOW);
count = 0;
}
else
{ count++ ;
}
}
delay (1000);
if (count > 10)
{
digitalWrite(LedPin,HIGH);
digitalWrite(ResetPin,HIGH);
}
}
Скрипт отправляющий в порт данные:
(Get-Date).ToString('dd.MM.yyyy HH:mm') | Out-File c:\Users\miner\Desktop\reboot.txt -append
while($TRUE){
Start-Sleep -s 3
$port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
$port.open()
$port.WriteLine("H")
$port.Close()
}
Сразу после запуска скрипт записывает в файл reboot.txt текущую дату и время. По этому файлу можно судить о количество и времени перезагрузок. Путь к файлу и номер порта необходимо отредактриовать в соответствии с вашими данными системы. Код пишется в обычном блокноте и сохраняется с расширением *ps1.
Т.к. в Windows политикой безопасности отключено выполнение скриптов по двойному клику и из автозагрузки делаем финт ушами и запускаем шелл из батника следущего соlержания:
start PowerShell.exe -ExecutionPolicy ByPass -File "c:\путь к вашему файлу\ваш файл.ps1"
Файл сохраняем с расширением *.bat и ставим его в автозагрузку.
Итого за 350 р и час работы получаем устройство перезагружающее компьютер при его зависаниях
без вашего участия.
ЗЫ: автор испытал устройство на своем обрудовании, но не несет никакой ответственности за изготовление и применение в других случаях