Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 💫 💫 💫 читайте на сайте

Watchdog на Ардуино Для Майнинга

Watchdog на arduino для майнига . Делаем watchdog своими руками на ардуино UNO

Предлагаю вариант устройства автоматически перезагружающее компьютер при зависании.

В основе лежит известная плата Arduino с минимальным количеством внешних электронных компонентов. Транзистор подключаем к плате согласно рисунку ниже. Коллектор транзистора подключаем вместо кнопки «Reset» компьютера на материнскую плату, на тот контакт который НЕ соединен с GND.

Вот и вся схема :

Функционирует устройство следующим образом: на компьютере запускается скрипт, который периодически шлет в порт компьютера данные. Ардуино подключается к USB и слушает этот порт. Если в течении 30 секунд данных нет Ардуино открывает транзистор, который соединяет Reset c землей, тем самым имитируя нажатия кнопки сброса.
После сброса ардуино делает паузу в 2 минуты дожидаясь загрузки всех программ и вновь начинает слушать порт.

Скрипт и майнеры должны быть добавлены в автозагрузку, а биос настроен на автоматическое включение компьютера.

Изготвление устройства требует минимальных навыков работы с паяльником и програмирования ардуино.

Так же можно использовать любой Н канальный транзистор с похожими характеристиками . Но смотрите что бы совпадала цоколевка . Например я использовал 9013, там перевернутое подключение

Компонентты для сборки я покупал на Алиэкспресс :
Провода для макетной сборки http://ali.pub/22k78b

int LedPin = 13;
int ResetPin = 12;
int val = 0;
int count = 0;
void setup()
<
Serial.begin(9600);
pinMode(LedPin, OUTPUT);

Скрипт отправляющий в порт данные:

(Get-Date).ToString(‘dd.MM.yyyy HH:mm’) » Out-File c:\Users\miner\Desktopeboot.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 политикой безопасности отключено выполнение скриптов по двойному клику и из автозагрузки делаем финт ушами и запускаем шелл из батника следущего содержания:

start PowerShell.exe -ExecutionPolicy ByPass -File «c:\путь к вашему файлу\ваш файл.ps1»

Файл сохраняем с расширением *.bat и ставим его в автозагрузку.
Радуемся, теперь у нас все автоматизированно . Устройство испытано на своем ПК и польностью работает .

Подписывайтесь на Bitnovosti в telegram!
Делитесь вашим мнением об этой новости в комментариях под статьей.

то установить делитель не удастся. Следует одновременно установить в «1» и бит WDE, т. е. выполнить команду:

Перед тем, как приступить к работе, желательно иметь в наличии принципиальную схему контроллера Arduino UNO и описание на собственно контроллер ATmega328, т. к. описание работы будет базироваться на этих документах. Естественно предполагается, что на компьютере установлена среда программирования ArduinoIDE .

WatchDog таймер Arduino

описание работы будет базироваться на этих документах.

(читать далее...)
то установить делитель не удастся. Следует одновременно установить в «1» и бит WDE, т. е. выполнить команду:

Настраивается таймер через установку битов в регистре WDTCSR ( Watchdog Timer Control Register ). Адрес регистра — 0x60 . Расположение бит регистра приведено в табл. 1.

В процессе отладки программы (а также проработки примеров программ из инструкции к контроллеру Atmega328) было обнаружено следующее. Если установить в «1» только бит WDCE, например, командой:
а затем уже устанавливать биты делителя. Сбрасывать биты WDCE и WDE не требуется — они сбрасываются аппаратно, как написано в инструкции на контроллер — через 4 такта. Именно такая последовательность установки предделителя таймера приведена в примере инструкции на контроллер.

Если установить в 1 только бит WDCE, например, командой.

Установка бит WDP0-WDP3 регистра WDTCSR для изменения делителя таймера приведена в табл. 3.

В противном случае вы увидите, как светодиод на 13 пине начнет лихорадочно мигать. Это как раз и есть внешнее проявление bootloop. В мониторе порта вы увидите только первый цикл. После него новые строки выводиться перестанут:

Электронные печеньки

Arduino, watchdog, bootloop и прошивка загрузчика optiboot.

Arduino, DIY и немного этих ваших линуксов. (читать далее...)
Еще можно установить светодиоды (через резистор), с помощью которых программатор сигнализирует об ошибках:

На схеме не показаны резисторы для светодиодов, что бы не загромождать иллюстрацию. Если вы не знаете, зачем светодиодам нужны резисторы, то я вам целую статью написал: Светодиод .

С такими настройками вы уже не сможете заливать скетчи в платы с оригинальным загрузчиком. Поэтому, вам нужно либо прошить все свои платы под optiboot, либо иметь копию среды разработки с измененными настройками. Поэтому в начале статьи я и предлагал создать копию среды.
После подключения целевой платы к программатору, нужно подключить программатор к компьютеру, в качестве программатора выбрать «Arduino as ISP»:

Дополнительно, необходимо на плате-программаторе установить электролитический конденсатор емкостью не менее 10мкФ uF между выводом Reset и GND, для препятствования автоматическому сбросу программатора при начале прошивки.

В случае прошивки Arduino Pro Mini, у которого нет IСSP, подключение производится непосредственно к выводам:

Watchdog — это реализованная на аппаратном уровне схема постоянного контроля над состоянием системы, которая перезагружает или выключает, а затем включает компьютер при зависании.

Китайские сторожевые таймеры для майнинга

Что такое Watchdog и как он работает.

Что такое Watchdog и как он работает? (читать далее...)
Для управления программируемым однорелейным вотчдогом можно применять программу USB Watchdog второй версии:

Подключение китайских Watchdogов к материнской плате

В китайских сторожевых таймерах время прослушивания контрольного сигнала heartbeat обычно кратно 10 секундам, а диапазон изменения времени срабатывания варьируется от 10 до 1270 секунд.

Нужно не увлекаться выставлением слишком маленьких значений временного интервала для вотчдога, потому что впоследствии, при появлении проблем, этого времени может не хватить для загрузки системы и устранения ошибки в батнике/программе, вызывающей зависание/ресет. Это приведет к циклической перезагрузке компьютера, которую можно будет устранить только отключением вотчдога.
Подключение проводов управления от таймера 5.0 к колодке материнской платы FPANEL:

При их эксплуатации нужно отключать опцию автоматического обновления, так как она часто приводит к сбоям.

Версия на оптронах (самая распространенная — это v5.0) уже имеет официальную поддержку linux, имеет улучшенную утолщенную (2 мм) плату с более надежной схемой. Китайский сторожевой пес версии 5.0 работает на чипе WDG273, имеет стоимость порядка 4, 8 USD за штуку. Выпускаются версии для 9 pin разъема FUSB материнской платы, а также для USB TypeA.

Watchdog на Ардуино Для Майнинга

§ Но для стабильного просыпания удобно использовать именно watchdog. Это можно сделать, например, с помощью следующей программы, в которой было предпринято несколько дополнительных мер для экономии энергии, таких как отключение АЦП.
Например, следующий код перезагрузит Arduino UNO после выполнения секции setup и нахождения в секции loop на протяжении 15 мс (вы увидите мигание светодиода на 13-м пине каждый раз, когда контроллер будет пробегать через setup при каждой автоматической перезагрузке контроллера):

Related posts