Что управляет работой компьютера с момента включения и до моменты выключения
▍ Итак, приступим.
Некоторое время назад, решение указанной проблемы было достаточно затруднённым: необходимо было обладать достаточно высоким уровнем профессионализма и наличием глубоких знаний в области электроники, чтобы собрать требуемое для решения этой задачи устройство.
С появлением платформы Arduino, данная задача существенно облегчилась, однако, она продолжала оставаться достаточно неудобной в своей реализации, ввиду наличия клубка проводов, соединяющих требуемые компоненты, либо, ввиду необходимости покупки соответствующих wi-fi шилдов.
В текущее же время, этот вопрос ещё более облегчился, из-за появления платы espressif esp32. Для тех, кто не знает, это двухъядерный модуль, содержащий множество необходимых для любого самодельщика свойств. В рамках же данного проекта, нас будет интересовать наличие встроенного wi-fi модуля.
Использование этой платы позволит нам легко и просто построить требуемое устройство, не загромождая всё проводами и за достаточно малую цену. Рискну предположить, что суммарная стоимость компонентов нашего решения не превысит 350-400 руб.
Для того, чтобы создать устройство, нам понадобится всего лишь четыре резистора, два мосфет- транзистора и плата esp32.
- 2 резистора на 10 кОм, мощностью на 1 ватт или меньше;
- 2 резистора на 100 Ом, мощностью на 1 ватт или меньше;
- 2 мосфет-транзистора с логическим уровнем IRLZ44NPBF;
- 1 модуль микроконтроллера esp32
По набору компонентов, искушённый читатель сразу понял, что мы будем делать: с помощью esp32 мы будем управлять ключами на основе мосфет-транзисторов.
При использовании мосфет-транзистора нужно иметь в виду один нюанс: транзистор должен открыться полностью, если этого не произойдёт, то он в работе будет сильно греться и будет фактически, работать в роли резистора.
В данном конкретном случае, это, конечно, не так важно, так как мы будем коммутировать достаточно малые токи кнопки включения/выключения и reset-a.
Кстати, весьма рекомендую к прочтению хорошую статью про подбор мосфетов.
Конечно, можно не напрягаться и взять релейные модули для ардуино:
Но это не наш путь и вот почему: а) щелчки реле; б) наклёп контактов; в) высокое энергопотребление релейным модулем.
Оно нам надо? Нет, оно нам не надо :-)
Так как мы хотим сделать «всё красиво» — мы будем использовать специальные мосфеты с логическим уровнем.
В рамках данного проекта, я выбрал мосфет-транзистор IRLZ44NPBF. У него порог срабатывания от 2 Вольт. То, что надо.
Как собрать ключ на мосфете — можно почитать тут.
По поводу конкретных силовых исполнительных устройств более-менее всё понятно. Однако нам ведь нужно ещё и каким-то образом «рулить» esp32 внешнего интернета!
То есть, задача в общем виде представляется следующей: некий интерфейс из внешнего интернета, зная IP адрес esp32, может отдавать ей команды.
Однако, подключение к устройству, находящемуся в сети за роутером, может стать неудобством, ввиду, как минимум, смены IP адреса у управляемого устройства, после каждой перезагрузки.
Да, вы скажете, что IP на самом деле не меняется, он может поменяться, только если кто-нибудь из домашних тоже подключится к сети, в тот момент, пока esp32 перезагружается, и ей придётся взять другой свободный IP.
Как бы там ни было, но все эти частности не важны, так как данный вопрос можно решить намного проще, чем выяснять какой текущий IP у платы и каким образом его сообщить во внешний интернет: для этого мы будем использовать протокол mqtt. Для тех, кто не сталкивался, вкратце можно сказать, что протокол предназначен для интернета вещей, «умного» дома и не только.
Использование протокола позволяет с лёгкостью обойти проблему прохода за роутер (тут следует сделать оговорку, что мы делаем допущение, что большая часть пользователей интернета, которая выходит в сеть, используя персональные компьютеры, имеют дома wi-fi точку доступа в виде роутера).
❒ В нашем случае, использование протокола будет выглядеть следующим образом:
Значение отправляемых цифр:
0 — «выключить компьютер»;
1 — «включить компьютер»;
2 — «перезагрузить компьютер»;
Как работать с клиентом: при запуске указанного выше mqtt-клиента — мы видим вот это окно. Ничего в нём не меняем, жмём кнопочку «Connect»:
Вводим топик и жмём «Subscribe»:
Топик, на который мы подписались — появился справа, наверху:
То есть, для работы всей системы нужны:
- компьютер с установленной в него сборкой на базе esp32;
- точка доступа wifi (домашний роутер);
- MQTT-брокер;
- публичный MQTT-клиент (который мы запускаем на смартфоне).
И работает оно так (текст оттуда же):
Модифицируем её для нашего случая:
Прошивка проекта написана в Arduino IDE и доступна на моём гитхабе.
Пробежимся по основным моментам.
Вы можете использовать любой другой — это вопрос исключительно предпочтений. Я выбрал этот и он у меня заработал. А так как я обычно иду по пути наименьшего сопротивления (в рамках парадигмы «и так сойдёт!» ), то искать что-то иное не было смысла. Ибо любая минута поиска — воровала у меня время, которое я мог бы с пользой провести, лёжа на диване, с думами о вечном :-))).
Для начала мы в блоке изначальной инициализации переменных указываем порт для подключения к mqtt брокеру, при необходимости — имя пользователя и его пароль(или имя и пароль оставляем пустыми, если брокер публичный — как в нашем случае):
Далее мы указываем два топика, — один из которых для публикации статуса компьютера в данный момент (то есть компьютер включён/выключен, или перезагружается):
Для подключения мосфет-транзисторов, я использовал пины, под номерами 19 и 21. Вы можете использовать, в принципе, любые допустимые пины, хорошее описание которых содержится по следующему адресу.
Из ещё одного интересного момента можно рассмотреть следующие три переменные:
В них мы задаем время в миллисекундах, в течение которого наше устройство будет держать нажатой соответствующую кнопку. Данные переменные вам нужно определить самостоятельно, опытным путём(если мои значения не будут работать)- для вашего конкретного компьютера, так как, вероятно, они могут отличаться в вашем конкретном случае. В прошивке значения переменных указаны для моего случая.
Ещё одним любопытным моментом, который некоторые могут не знать, является то, что встроенный в esp32 светодиод привязан к пину, под номером 2. Я решил, что «инженерия инженерией, но и красотень тоже должна быть». Поэтому наша esp-шка будет мигать встроенным светодиодом:
Теперь, что касается питания нашей сборки на esp32: единственный более-менее комфортный способ это осуществить,- запитать нашу сборку от дежурного питания компьютера. Так как наша сборка потребляет совсем немного, её подключение к дежурному питанию не должно вызвать проблемы с невозможностью включения компьютера из-за просадки напряжения.
А далее, когда компьютер включён — можно подключиться к нему, с помощью предварительно настроенных программ удалённого администрирования, удалённого рабочего стола и т.д. и т.п.
Ну, вот на этом кажется и всё. Ещё раз только остановлюсь на том факте, что вся эта идея со сборкой системы для удалённого управления компьютером была продиктована не только, и не столько потребностью в доступе к файлам (потому что, как альтернативу, можно купить в таком случае NAS), а скорее даже необходимостью иметь возможность доступа к своему пулу рабочих программ, которые установлены только на домашнем компьютере.
Может конечно вопрос из области фантазии, но всё таки. Есть компьютер, он подключен к сети через UPS. UPS настроена таким образом чтобы после 15 минут работы без света отключать компьютер. Задача сводится к тому, чтобы как сделать обратную операцию? после появления света компьютер автоматически включился. Интересуют любые варианты.
Оценить 1 комментарий
автор, решение нашёл?
у моего биоса нет такой функции как WackUP - power on
а комп надо стартовать при включении света.
есть готовое решение?
Если упс отключает комп штатно («умный», подключен по usb/com, идёт завершение работы), то он должен уметь и его включать (в настройках упса и в биосе «wake up on usb/com»). Если он отключает его просто обрубая питания, а потом питание обрубает, то настройка в биосе типа «on power fail» — «power on». Если же упс просто обрубает питание и ждёт пока на нём кнопку нажмут, чтобы снова его подать, то надо кнопку нажимать…
UPSка сама выключается через 15 минут без света? Включается ли при появлении света?
Если включается, то как уже подсказали, смотрите в сторону bios. Если нет — нужно для начала научиться саму upsку включать.
У меня стоит включение компа от usb устройств (в биосе настраивается). Иногда, при передах напряжения, видимо ups сообщает об этом компу и тот сам включается.
Самое смешное, когда свет отключают, а комп в этот момент выключен, ups сообщает компу, и комп включается.
Тут у человека совсем обратная проблема. Насколько я понял, у него комп включается при появлении электричества из-за такой настройки в биосе.
Это зависит как-то от блока питания. Есть блоки (встречал только из старых моделей) которые при подаче питания включаются сами.
В теории, можно сделать систему на управляющих сигналах, которая будет работать в двух положениях и подключена к сети и кнопке включения пк. Которая будет проверять наличие напряжения в сети до ибп, если его нет, то система находится в первом состоянии, ничего не происходит, но если напряжение появилось, то система переходит во второе положение, посылая сигнал на кнопку включения пк, он включается.
То есть срабатывание происходит по одному разу на случай, если напруги нет, то ничего не работает, если оно появилось, то система посылает сигнал на кнопку пк.
Но если это было кратковременное отключение, а пк в это время работал от ибп, то система выключит пк :) надо вводить ещё проверку после ибп, чтоб такого не происходило. Это сложнее.
Что то я расписался.
про BIOS Вам уже написали «on power fail» — «power on».
все дело в UPS. есть 2 вида:
первый — при отключении эл-ва и разрядке батарей, он вырубается и надо его включать вручную для подачи питания на компьютер.
второй — более новые и дорогие UPS. у них есть такая опция «cold start function» — она как раз и позволяет бесперебойнику самому включаться при возвращении эл-ва в сеть.
т.е. Вам нужно в BIOS — «on power fail» — «power on» + в UPS — «cold start function»
cold start здесь, вроде, не причем.
Режим "холодный старт" позволяет включить ИБП в режиме работы от батареи при отсутствии напряжения в электрической сети.
Этот режим позволяет "запитать" какое-либо электрическое устройство уже при отсутствии напряжения в электрической сети. Например, таким способом можно "поднять" удаленный сетевой коммутатор и обеспечить работу локальной сети.
У меня UPS Powercom «King 625», связан с компом через RS232<=>USB. На компе программка UPSMON, где задано выключение компа через 5 минут после падения питания в сети. Сам UPS тоже выключается через 2 минуты после завершения работы компа. В компе (плата ASUS p5k se epu) в BIOS выставлено значение «Last State» и «wake up by . » все взведены (для usb не помню точно какой параметр, сейчас не могу точно глянуть). После потери питания комп завершает работу, ИБП тоже замолкает. С появлением питания включается всё автоматически.=>
В Биосе есть такая функция, НО после благополучного отключения компьютера, сам он уже не включится. Мысль была по поводу замыкания кнопки, но тогда интересует схемка примитивного устройства, которое будет проверять появилось ли 220В и как следствие замывать кнопку.
Что-то у меня сомнения берут, что получится. Нужно замыкающее реле, которое будет делать замыкание на секунду всего один раз при возникновении электрического тока в цепи, иначе после трех-пяти секунд мать выключит комп.
Но, хорошая новость в том, что схема довольно простая будет. Можно и самому спаять, там все просто, что-то около такого
Нужно 2 реле:
1) 1-е замыкает кнопку питания и второе реле
2) 2-е реле размыкает первое
3) .
4) Профит!
Заполняем пробелы — расширяем горизонты!
Кроме внешних устройств в компьютере есть и внутренние устройства. К ним относятся жесткие диски, CD- и DVD-устройства и др. Эти внутренние устройства подключаются к общей шине ПК через контроллеры устройств ввода-вывода.
Таким образом обеспечивается стандартная конфигурация ПК, когда на общей шине находятся быстродействующие процессор, оперативная память и контроллеры. Остальные устройства (будь они внешние, например, принтеры, или внутренние, такие как жесткие диски, например) подключаются к ПК только через специальные контроллеры.
Подключение внутренних устройств к ПК, также как и внешних устройств к ПК расширяет возможности компьютера. Например, жесткие диски существенно увеличивают память ПК.
Кроме того, внутренние и внешние устройства, подключенные к ПК посредством контроллеров, как правило, позволяют сохранять информацию даже после выключения электропитания компьютера.
При этом информация из оперативной памяти и из процессора стирается полностью без возможности последующего восстановления.
А значит, применяя внешние и внутренние устройства, можно обеспечить сохранность как информации, так и программ. Соответственно, после включения компьютера можно без потери программ и данных продолжать обработку информации. В противном случае приходилось бы после каждого включения компьютера заново его программировать.
Теперь посмотрим, как работает современный компьютер с момента его включения, как он «оживает» после подачи электропитания. У каждого компьютера в обязательном порядке есть базовое устройство ввода-вывода (BIOS). В момент включения компьютера из него автоматически считывается информация о конфигурации ПК.
Конфигурация ПК – это информация о процессоре и его возможностях, об оперативной памяти и ее размерах (о количестве ячеек памяти), о контроллерах устройств ввода-вывода, подключенных к общей шине ПК. Таким образом, в памяти ПК восстанавливается конфигурация компьютера («забытая» им в момент предыдущего выключения), и теперь процессор, оперативная память и контроллеры могут работать согласованно между собой.
Базовое устройство ввода-вывода (BIOS) является единственным устройством внутри ПК, которому не нужно электрическое питание для хранения данных. Для этого в старых моделях компьютеров к нему подключались специальные аккумуляторы. В современных моделях могут использоваться устройства, не нуждающиеся в электропитании для долговременного хранения информации, например, флеш-память. Иначе, повторяюсь, невозможно сохранить информацию о конфигурации компьютера после выключения электрического питания.
Из базового устройства ввода-вывода (BIOS) в процессе загрузки компьютера также считывается информация о том, на каком из внешних устройств ПК находится загружаемая в него операционная система.
Операционная система — специальное программное обеспечение, которое создает удобный интерфейс для работы пользователей ПК и удобную среду для выполнения прикладных программ пользователей компьютера. Процессор обращается к этому внешнему устройству (используя адрес этого устройства, прочитанный из базового устройства ввода-вывода BIOS), выбирает программу загрузки операционной системы и исполняет эту программу последовательно команда за командой.
На все это требуется немалое время, поэтому компьютер не начинает работу немедленно после включения. Для ускорения включения компьютера в ноутбуках и, реже, в стационарных компьютерах применяются методы «быстрого» включения и выключения, так называемые спящий и ждущий режимы. Но для того, чтобы быстро включить компьютер, не тратя времени на ожидание загрузки операционной системы, нужно сначала его «правильно» выключить.
При выключении компьютера путем перевода его в один из указанных выше режимов (спящий или ждущий) в оперативной памяти или на жестком диске сохраняется образ операционной системы и прикладных программ на момент выключения компьютера.
Затем при включении компьютера остается только загрузить этот сохраненный образ в оперативную память, и запустить выполнение прерванных программ. И это происходит намного быстрее, чем запуск операционной системы из начальной точки загрузки.
Говоря о спящем и ждущем режимах выключения компьютера, необходимо отметить, что выключение компьютера в ждущий режим требует обязательного сохранения электрического подключения компьютера. Это связано с тем, что в ждущем режиме информация о конфигурации компьютера записывается в оперативную память, работа которой без электрического питания невозможна.
А вот при выключении в спящий режим компьютер можно отключить от электрической сети, так как вся необходимая для последующего включения электропитания информация сохраняется на жестком диске, и не теряется при отключении питания.
После загрузки операционной системы процессор начинает выполнять те программы, которые необходимы пользователю ПК. Разумеется, пользователи не задумываются о том, какими командами пользуется процессор ПК, из каких ячеек оперативной памяти он берет данные и в какие ячейки их записывает после обработки и т.д. Пользователей ПК от этого избавили программисты, которые обеспечили перевод инструкций пользователей на язык, понятный процессору ПК.
Опять мы видим, что программное обеспечение компьютеров играет решающую роль в том, что современные ПК стали столь распространенными и удобными для работы устройствами обработки информации…
В дополнение к статье можно посмотреть видео о ждущем режиме, и настройке (при необходимости) спящего режима:
P.S. Статья закончилась, но на блоге можно еще прочитать:
Друзья, всем привет! Сегодня чисто случайно вычитал одну интересную настройку компьютера вкупе с бесперебойным источником питания. Если помните, то не так давно мы конфигурировали выключение ПК в том случае, когда ИБП переходил на питание от батарей.
А сейчас мы сделаем все в точности наоборот. Будем настраивать автоматическое включение компьютера при подаче питания. Тем более что в данном случае особо неважно, какая операционная система установлена на машине (Windows 10 или 7), ведь от нее ничего не зависит.
Содержание статьи:
Здесь вся суть вопроса заключается в правильных настройках BIOS. Да уж, кто бы мог подумать? Поэтому давайте сразу переходить к делу. Ведь осмелюсь предположить, что многие пользователи мечтают об автозапуске своего компа при появлении напряжения в сети.
Итак, первым делом следует зайти в параметры системы BIOS. Как в нее войти подробно рассказано здесь . Далее в зависимости от производителя действия могут быть разными, но суть остается одна и та же, так что не переживайте.
Конкретно в моем случае нужно открыть раздел "Power Management Setup" и в строке "PWRON After PWR-Fail" указать значение, показанное на скриншоте ниже:
Где "Power Off (Off)" - оставит компьютер в выключенном состоянии при появлениинапряжение в электросети. "Former-Sts (Last State)" - вернет машину к состоянию, которое было в момент обрыва сети. "Power On (Always On)" - всегда автоматически запустит компьютер при возобновлении электроснабжения.
Вот и все, с поставленной задачей мы вполне справились. Но давайте копнем чуть глубжеи дополнительно изучим еще одну интересную опцию, которая называется "Resume by Alarm". Чтобы ее активировать, следует перевести переключатель в "Enable":
Данная настройка позволяет запускать ПК по определенному расписанию, так называемому будильнику. Фишка в том, что в графе "Date" нужно указать день месяца, а в "Time" часы и минуты. В указанное время произойдет старт. Как видите, все очень даже просто.
Ну что же, друзья, автоматическое включение компьютера при подаче питания подробно изучено, можно и завершать статью. Пишите свои комментарии, задавайте вопросы, как говорится, вместе будет веселее.
Сегодня я хотел бы рассказать об одной интересной (а некоторым даже и нужной) функции, которая присутствует практически в каждом компьютере.
Это функция автоматического включения после подачи питания.
Смоделируем ситуацию:
У вас имеется некий компьютер, к которому нужен постоянный доступ или который должен быть постоянно включен. Не важно что это, ноутбук, сервер,может вы держите на домашнем компьютере частное облако, веб-сервер или систему видеонаблюдения. НЕВАЖНО.
Но, в наших реалиях, никто не застрахован от того, что в какой-то момент может пропасть электричество (авария на подстанции, отключили за неуплату, пьяный электрик в подъезде).
Так вот в такой ситуации, наверное, хочется, чтобы компьютер автоматически запустился, после того, как в розетке появится электричество.
Есть несколько решений данной проблемы. Например многие могут посоветовать установить ИБП (Источник Бесперебойного Питания) и будут частично правы. Но есть одно НО. Электричество может отключиться на такой срок, который ни один ИБП не вытянет.
Но, во-первых, дома держать целый шкаф, набитый батареями вряд-ли кто-то будет, а ИБП для домашнего использования обычно в лучшем случае дают минут 15-20 времени.
И что же тогда делать, если и ИБП покупать не хочется, но и при появлении питания нужно автоматически запускать компьютер?
Есть простое решение, записывайте:
1. Заходите в БИОС (BIOS) вашего компьютера (обычно это делается нажатием кнопки Del, F2 или Esc, в зависимости от производителя вашего компьютера).
2. В БИОС нужно найти пункт меню (иногда он бывает спрятан в какое-либо подменю) с каким-нибудь названием из следующего списка:
AC Back Function
AC Loss Auto Restart
AC Power Loss Restart
After AC Power Loss
After AC Power Lost
After Power Failure
Power Again
Power Failure
Power On After Power Fail
Power State Resume Control
PWRON After PWR-Fail
Restore on AC Power Loss
Resume on AC Power Loss
State After Power Failure
System After AC Back
3. И в этом пункте обычно присутствует выбор из трех вариантов:
- Power On (при появлении питания компьютер будет запущен ВСЕГДА).
- Power Off (при появлении питания компьютер не будет запускаться).
- Last State (при появлении питания компьютер вернется к состоянию, в котором он был на момент исчезновения питания. Т.е. если он был включен, то включится, а если был выключен, то так и останется стоять).
Надеюсь данная информация будет кому-нибудь полезна.
Большое спасибо за уделенное время. Напишите в комментариях, о чем еще вы хотели бы прочитать в следующих статьях.
Каждый пользователь компьютера сталкивался хотя бы раз в своей жизни с такой ситуацией: ты ушёл к себе на работу, почти доехал до неё и вдруг вспомнил,- что забыл взять со своего личного компьютера какую-то очень важную вещь.
Ехать обратно — опоздаешь на работу. А ведь ситуация может развиваться и гораздо более драматично: допустим, человек поехал куда-то далеко за рубеж, в отпуск, и там ему приходит важный звонок, по результатам которого ему необходимо передать своему визави,- определённые документы. А документы остались дома! А дом находится за границей!
Или вот ещё такая беда: ваш персональный компьютер является мощной графической станцией, на которой установлено множество тяжёлых программ для работы с графикой, программными продуктами. А вы перемещаетесь по городу, имея в руках всего лишь «тонкий» клиент, в виде ноутбука…
Из этого описания становится понятно, что «тонкий» клиент не обладает соответствующей производительностью, для запуска множества высокопрофессиональных программ и проектов. Да и если даже он у вас достаточно мощный, — это в принципе неудобно, каждый раз синхронизировать проекты с «тонким» клиентом. Как быть в описанных выше ситуациях — мы и поговорим в этой статье.
На самом деле, указанная проблема очень легко решается: установкой на ваш персональный компьютер системы удалённого включения/выключения и перезагрузки. Этот подход позволит всегда иметь под рукой всю мощь вашей домашней машины и все необходимые документы, и проекты, хранящиеся на ней.
До начала описания своей разработки, хочу сказать, что конечно, она не является единственно возможным способом для удалённого включения выключенного компьютера. Например, хорошо известна технология Wake-on-LAN. Суть этой технологии заключается в том, что она позволяет включить выключенный компьютер, отправкой специального пакета на его MAC-адрес.
Сетевой адаптер компьютера, поддерживающего Wake-on-LAN, находится в этот момент в режиме пониженного потребления и анализирует все пакеты на него. Если одним из поступающих пакетов окажется так называемый magic packet, сетевой адаптер выдаст сигнал на включение питания компьютера.
Согласно wiki: Magic packet — это специальная последовательность байтов, которую для нормального прохождения по локальным сетям можно вставить в пакеты транспортного уровня, не требующие установки соединения (например, протокол UDP или устаревший IPX). Обычно для Wake-on-LAN пакеты протоколов верхнего уровня рассылают широковещательно, так как в случае динамического присвоения адресов неизвестно, какой IP-адрес соответствует какому MAC-адресу. Однако, для корректного прохождения через маршрутизатор, запрещающий широковещательные пакеты, можно послать пакет по какому-то определённому адресу.
Из минусов данной технологии стоит отметить, что она:
- должна поддерживаться аппаратно (например, мой компьютер её не поддерживает, насколько мне известно); некоторые пользователи, наблюдаются проблемы с восстановлением работы, если пропадало напряжение в сети или компьютер вынимали из розетки;
- является небезопасной, хотя бы даже из-за этого.
В любом случае, я подумал, что создание девайса, о котором пойдёт дальше речь, будет интересной затеей, так как:
- это более безопасно, чем Wake-on-LAN;
- можно установить даже на устройства, не поддерживающие Wake-on-LAN;
- прошивка устройства снабжена средствами восстановления связи, после пропадания питания/перезагрузки;
- позволяет принудительно перезагрузить «зависший» компьютер — удалённо;
- в принципе интересно, так как позволяет реализовать новый девайс на esp32, в рамках растущего «интернета вещей».
Читайте также: