Как настроить удаленный запуск компьютера
Удалённое включение компьютера бесплатно, без SMS и без облаков, с помощью Mikrotik
… а также без проброса портов, SSH/telnet и установки сторонних приложений. С любого компьютера, подключённого к интернет и даже с телефона!
Периодически мне бывает нужно включить домашний компьютер, когда я нахожусь не дома. Обычно я не запаривался и звонил или отправлял сообщение с такой просьбой жене, которая сидит дома в декрете. Очень удобное средство удалённого управления с голосовым интерфейсом. Однако у этого способа есть ряд недостатков — ушла гулять, укладывает ребёнка, или ещё чем либо занята. Хотелось простого решения из того что есть под рукой.
Первым делом включаем Wake on LAN в BIOS’е материнской платы, у всех это делается по-своему, у многих включено по умолчанию. На одном из моих ПК даже такой опции нету — всегда включено.
Далее переходим в WinBox и подключаемся к вашему роутеру (если хотите, можете через SSH или через HTTP(S), я всё делаю в WinBox’е). Если открыть текстовую консоль RouterOS и пошарить там в разделе /tool (или в wiki-мануалах), то можно обнаружить утилиту wol со следующим синтаксисом:
Где ifname — имя интерфейса, с которого будет рассылаться волшебный пакет, XX:XX:XX:XX:XX:XX — mac адрес вашего компьютера.
Вроде всё просто, но Winbox с телефона не особо запускается и mac адрес по памяти замучаешься вводить. Можно запускать SSH и отправлять в него одну единственную команду, но это тоже долго и нудно. Используем фаервол!
Напрямую из правил фильтра запускать исполнение команд нельзя, из всех действий нам больше всех подойдёт добавление адреса в address-list, т.к. оно позволяет создать новый объект в операционной системе роутера, доступный из скриптов.
Добавим новое правило для цепочки input и расположим его среди других разрешающих правил этой цепочки. Укажем протокол tcp и dst-port — любой из верхних портов.
Действие выберем add src (можно и dst) to address list, укажем имя листа.
В поле on event напишем простенький скрипт:
Не забываем указать правильный mac, имя интерфейса и адрес-листа. Данный скрипт при обнаружении элементов в адрес-листе выполнит команду, отправляющую магические пакеты на ваш компьютер, после чего удалит запись из адрес-листа.
Для включения вашего компьютера достаточно открыть браузер и перейти на IP вашего микротика, указав порт, который мы задали в правиле фаервола: http://your.router.net:port, после чего фаервол создаёт запись в адрес-листе, задание планировщика обнаружит эту запись, выполнит запуск утилиты wol, и удалит запись из адрес-листа. Проще паренной репы, можем добавить адрес в избранное, чтобы каждый раз не вводить.
Только не забывайте про безопасность, данный способ ничем не защищён и кто угодно может включить Ваш компьютер, зная или подобрав нужный порт. Для защиты можно использовать VPN, port knocking, whitelist или метод Неуловимого Джо — решать Вам. Если Вам требуется включать таким образом по-отдельности несколько компьютеров, создайте соответствующее количество правил на разных портах, каждое из которых будет кидать адреса в свой адрес-лист, скрипт в задании планировщика также размножаем через Ctrl+C, Ctrl+V, либо создаём отдельные задания для каждого — как хотите.
PC360
Ремонт/настройка ПК и окружающих его устройств.
Удаленное включение компьютера через локальную сеть.
Удаленное включение протестировано на компьютерах с операционными системами Windows 7, Windows 8, Windows 10 и так же на Windows Server 2012, 2019. Это основные ОС в локальной сети нашей организации в настоящее время. Компьютеры включены в общую сеть через коммутаторы без дополнительной маршрутизации.
Для запуска компьютера через подключение по локальной сети необходимо:
— выполнить настройки в BIOS удаленного компьютера;
— выполнить настройки в ОС удаленного компьютера;
— установить и запустить ПО на компьютере с которого происходит удаленный запуск.
После этих действий проведем удаленное подключение к включенному ПК через AnyDesk.
Настройка BIOS.
Для входа в BIOS включаем компьютер и жмем на клавиатуре определенную клавишу, какую именно зависит от производителя материнской платы. Чаще всего это кнопка [DELETE] или [F1], но также встречаются многие другие кнопки и сочетания.
Попав в BIOS активируем настройку Power On LAN (Wake-on-LAN, WOL). В разных биосах она называется поразному. Выставляем значение настройки – Enabled.
Ниже на фото несколько примеров.
PME Event Wake Up (PME — Power Management Event)
Включение питания устройства PCIE.
Power On By PCI Device.
Включение посредством PCI-E.
Чаще всего эти настройки располагаются в разделе Power или Power Management. Так же они могут быть в разделе расширенных или дополнительных настроек.
В BIOS сервера Supermicro настройки Wake-On-Lan не оказалось. Видимо разработчики решили, что сервер должен быть включен круглосуточно. Так оно и есть. В данном случае активируем настройку Restore on AC Power Loss >> Power On. При возобновлении питания 220В сервер включится автоматически.
После активации настройки сохраняем параметры BIOS и компьютер перезагрузится.
Настройки в операционной системе.
В ОС Windows 7, 8, 10 и WinServer 2012, 2019 настройки сети выполняются одинаково. Любым удобным способом попадаем к свойствам сетевого адаптера через который ПК подключен в локальную сеть и интернет. Например, переходим в:
Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом
(можно скопировать эту строку, открыть Этот Компьютер и вставить в адресную строку, нажать Ввод)
Находим нужный адаптер и открываем его свойства.
Или открываем «Диспетчер устройств» и находим там сетевой адаптер. Затем открываем правой кнопкой мыши его свойства.
В раскрывшихся свойствах нажимаем кнопку «Настроить».
В настройках переходим на вкладку «Дополнительно» и активируем два пункта, как на картинке ниже.
В зависимости от драйвера сетевого адаптера эти настройки могут называться по разному, например «Пробуждение особым пакетом Magic» или «WOL Пакет Magic».
Переходим на вкладку «Управление электропитанием». Активируем галочкой пункт «Разрешить этому устройству выводить компьютер из ждущего режима». Можно так же активировать самый нижний пункт настроек, но необязательно. Нажимаем кнопку «ОК».
Выполним еще одну настройку, без которой ничего не заработает в Windows 10. Переходим в:
Панель управления\Оборудование и звук\Электропитание\Системные параметры. В разделе «Действия при нажатии кнопок» убираем галочку с настройки «Включить быстрый запуск (рекомендуется). Нажимаем кнопку «Сохранить изменения».
Если ОС установлена на HDD, а не на SSD, то время загрузки после включения компьютера ощутимо увеличится.
Удаленное включение ПК.
На удаленном компьютере в той же локальной сети устанавливаем небольшое приложение WakeMeOnLan. Скачать его можно бесплатно перейдя на ЭТОТ сайт (скачивание внизу страницы).
ПО сканирует сеть, сохраняет MAC, IP, имя ПК. Затем, когда компьютер выключен, его нужно выбрать из списка и нажать на кнопку с будильником в верхней левой части окна программы. В настройках можно выбрать, куда будет отправлен пакет (на широковещательный адрес, на IP компьютера или на его имя).
Управляемый компьютер находится в дежурном режиме (англ. stand-by — режим, предусмотренный спецификацией ATX, при котором из всех выходных цепей блока питания активна только дежурная +5VSB) и выдаёт питание на микросхему BIOS и сетевой адаптер. Сетевой адаптер находится в режиме пониженного энергопотребления, при этом его микроконтроллер анализирует все пакеты, приходящие на соответствующий MAC-адрес, ничего не отвечая на них. Если одним из пакетов окажется magic packet, сетевой адаптер выдаст сигнал на включение питания компьютера (вики).
Если компьютер выключали на ночь из розетки электропитания, то по LAN он не запустится. Если включить всетаки нужно удаленно, то можно скомбинировать процесс с функцией «Включение при возобновлении электропитания», которая так же активируется в BIOS.
Некоторые протестированные в нашей ЛВС компьютеры с Windows 7 запускаются только с PCI внешним сетевым адаптором. При подключении на встроенный в мат.плату сетевой адаптор стабильно выходят из состояния сна. Какие настройки на это влияют так и не определилось. В Windows 10 при отключении быстрого запуска удаленное включение работает стабильно.
Удаленное администрирование.
После запуска «Wake-On-LAN» удаленного компьютера к нему можно подключится любым доступным способом и выполнить требуемые настройки. В нашей ЛВС популярно удаленное подключение к рабочему столу RDP и AnyDesk. AnyDesk способен включать удаленный компьютер не только по локальной сети но и через через интернет. Рассмотрим кратко как это сделать.
Устанавливаем и обновляем AnyDesk на удаленном компьютере. Скачать его можно бесплатно с официального сайта. Использование тоже бесплатное, с некоторыми ограничениями в отличие от платной версии. Запуск установленной программы желательно выполнять с правами администратора. Галочка об этом ставится в свойствах ярлыка.
Переходим в настройки. В боковом меню находим пункт «Wake-On-LAN» и проверяем, чтоб он был активирован (Enabled).
В пункте настроек «Безопасность» желательно установить пароль, чтоб подключатся автоматически.
Выключаем компьютер через Пуск >> Завершение работы.
Переходим в компьютер, с которого будем удаленно подключаться.
Вводим ID удаленного рабочего места.
После того, как появится сообщение «Клиент не в сети», нажимаем кнопку «Питание вкл.».
Начнется соединение с попыткой включения. Необходимо ждать 3-4 минуты если соединение проходит через интернет. К тому же время зависит от параметров и скорости включения удаленного ПК.
После некоторого времени ожидания появится окно для авторизации. Вводим созданный пароль. Отмечаем галочкой «Входить автоматически».
*если подключение на сервер то может возникнуть вопрос консоль или учетная запись, выбираем консоль
Получаем изображение и видим экран входа в учетную запись удаленного ПК. Вводим пароль, входим и выполняем требуемую работу.
Удаленное включение компьютера через AnyDesk с функцией Wake On Lan
Из статьи вы узнаете, как настроить функцию Wake on Lan в AnyDesk для включения питания на удаленном компьютере.
Как настроить Wake on Lan
Технология Wake on Lan предназначена для включения удаленного ПК по локальной сети. Для этого необходимо, чтобы подчиненный компьютер находился в спящем режиме, и функция была активирована в BIOS.
Если нужно ограничить управление, стоит активировать третью вкладку в списке «Enabled, but wake your device using the fallowing desks only». В окно ниже вписать один или несколько AnyDesk ID, которым разрешено управлять этим ПК.
Как включить Wake on Lan в Bios
Настройка Wake on Lan в Bios.
Сохранение и выход.
После данных настроек компьютер можно включать удаленно через программу AnyDesk. Если остались вопросы, можете задать их в комментариях.
Удаленное включение компьютера с помощью Wake-on-LAN (WOL)
Описание технологии Wake on LAN (WOL)
Сетевым администраторам и различным информационным системам в крупных компаниях зачастую требуется выполнять такие операция как резервное копирование, установка обновлений программных продуктов на компьютерах в локальной сети в ночное время чтобы это не мешало работе пользователей. Однако выполнение этих задач требует, чтобы пользователи оставляли свои компьютеры включенными в ночное время. В результате потребление электричества может возрасти почти в два раза по сравнению с дневным использованием.
Компания AMD работая в сотрудничестве с компанией Hewlett Packard (HP) нашли решение этой проблемы. Современные компьютеры обеспечивают поступление электроэнергии на материнскую плату даже в выключенном состоянии и сетевая карта может «просматривать» все пакеты поступающие на нее из сети и при поступлении специальной команды может включать компьютер в рабочее состояние из режима ожидания. Команда должна содержать уникальный IEEE адрес сетевой карты, таким образом эта команда может включить только нужный компьютер в сети. Этот уникальный адрес повторяется в команде 16 раз и может быть передан любым протоколом на любой порт обеспечивая таким образом свободу передачи этой команды. Сетевой пакет содержащий такую команду на включение компьютера назвали Магический Пакет (Magic Packet).
Технология Магического Пакета позволяет удаленно включить выключенный или находящийся в режиме ожидания компьютер по сети. Это достигается отправкой Магического Пакета в заданный узел сети где находится компьютер. Когда компьютер переходит в режим ожидания он включает в сетевой карте режим ожидания Магического Пакета и далее сетевая карта проверяет весь трафик поступающий на нее.
В терминологии компании Intel эта технология названа Wake on LAN (WOL).
Некоторые сетевые карты дополнительно поддерживают функцию «SecureON» пароль. Эта настройка позволяет дополнительно задавать пароль для Магического Пакета. Пароль состоит из 6 символов (6 байт) и эти символы дополнительно передаются в Магическом Пакете. Однако на текущий момент немногие производители включают поддержку данной функции в свою продукцию.
Что требуется для работы Wake-On-LAN?
По завершении настройки, выключите компьютер и убедитесь что на сетевой карты сзади компьютера горит индикатор (обычно зеленый светодиод) показывая что сетевая карта готова к приему пакета пробуждения.
Как включить удаленный компьютер через интернет (онлайн)
Если вы хотите быстро и без лишней волокиты включить свой компьютер с помощью технологии Wake-On-Lan, то можно воспользоваться онлайн сервисами, которые позволяют задать IP адрес (обычно это будет адрес вашего роутера, на котором уже был предварительно настроен проброс портов для функционирования технологии WoL, как описано в нашей статье: Настройка Wake-On-LAN в роутере), а также нужный MAC адрес, чтобы сформировать Magic Packet, который должен включить компьютер.
С помощью онлайн-сервиса depicus
Для включения удаленного комьютера можно воспользоваться сервисом от depicus, который доступен по ссылке:
https://www.depicus.com/wake-on-lan/woli
В поле «mac address» вписываем MAC-адрес сетевой карты того компьютера, который вы хотите включить через интернет, в поле «ip address» вписываем публичный «белый» ip-адрес вашего компьютера (или роутера, смотря как именно настроена сеть в вашем случае) и жмем кнопку «WAKE UP».
С помощью онлайн-сервиса w3dt.net
Программы для удаленного включения компьютера
Программы для Windows
Используя программу WakeMeOnLan вы можете использовать технологию Wake on LAN для включения любого количества компьютеров удаленно по сети или через Интернет. Программа имеет удобную графическую оболочку, а также поддерживает работу в режиме командной строки. Скачать её можно с официального сайта.
Примеры использования из командной строки:
Включение компьютера с IP адресом 192.168.2.1:
Включение компьютера с именем PC01:
Включение компьютера с MAC адресом 12-34-45-78-90-AB:
Программы для Linux
Программа etherwake устанавливается в популярных дистрибутивах следующим образом:
В CentOS/RedHat:
В Debian/Linux Mint/Ubuntu:
Теперь, когда имени sysadmin присвоен MAC адрес 12-34-45-78-90-AB, можно воспользоваться именем компьютера в etherwake:
Аналогично будет выглядеть запись для IP, с той разницей, что после MAC адрес будет написан IP адрес:
Программы для Android
Если вы хотите удаленно включить компьютер с помощью вашего телефона, работающего на Андройде, то можете воспользоваться программой Wake On Lan:
Ссылка на google play market: https://play.google.com/store/apps/details?id=co.uk.mrwebb.wakeonlan
Использование программы не представляет из себя ничего сложного, как и в варианте с онлайн сервисом, нужно задать IP адрес того компьютера, который вы хотите включить, а также его MAC-адрес.
Как проверить, что Wake-On-LAN работает
Если вы хотите удостовериться, что все настроено как нужно и Magic Packet доходит до вашего компьютера (например, если вы настроили роутер, чтобы можно было включить ваш компьютер удаленно через интернет), то можно воспользоваться соответствующими программами.
Проверяем работу Wake-On-LAN в Windows
Для ОС Windows существует очень удобная утилита Wake On Lan Monitor, которая позволяет мониторить нужный порт UDP на предмет получения Magic Packet. Скачать эту утилиту можно с официального сайта: https://www.depicus.com/downloads/wakeonlanmonitor.zip
После распаковки архива, там будет один EXE файл, который нужно запустить. После запуска необходимо будет выбрать нужный UDP порт в поле «UDP port» и нажать на кнопку «Start«. Выглядеть это будет так:
Если все правильно сделали, то после нажатия кнопки «Start» надпись «Disconnected» сменится на «Connected». Это значит, что программа прослушивает указанный порт на предмет получения Magic Packet.
Теперь, проверяем, что Magic Packet доходит до нашего компьютера, если все работает как надо интерфейс программы отобразит полученный пакет в своем окне:
Чтобы убедиться, что пришел корректный пакет для пробуждения ПК, смотрим в первую строчку лога. Он должен начинаться с (FF FF FF FF FF FF), а за ним должен следовать MAC адрес того компьютера, который мы планировали включить, в нашем случае этот адрес: (52 54 00 64 9B 3A). Как на скриншоте ниже:
Если у вас все также, как и на скриншоте, значит до вашей сетевой карты доходит нужный пакет и компьютер должен включаться, если все остальное настроено корректно и железо поддерживает технологию Wake-On-Lan.
Удалённое управление питанием и перезагрузкой компьютера, при помощи внешнего девайса
Каждый пользователь компьютера сталкивался хотя бы раз в своей жизни с такой ситуацией: ты ушёл к себе на работу, почти доехал до неё и вдруг вспомнил,- что забыл взять со своего личного компьютера какую-то очень важную вещь.
Ехать обратно — опоздаешь на работу. А ведь ситуация может развиваться и гораздо более драматично: допустим, человек поехал куда-то далеко за рубеж, в отпуск, и там ему приходит важный звонок, по результатам которого ему необходимо передать своему визави,- определённые документы. А документы остались дома! А дом находится за границей!
Или вот ещё такая беда: ваш персональный компьютер является мощной графической станцией, на которой установлено множество тяжёлых программ для работы с графикой, программными продуктами. А вы перемещаетесь по городу, имея в руках всего лишь «тонкий» клиент, в виде ноутбука…
Из этого описания становится понятно, что «тонкий» клиент не обладает соответствующей производительностью, для запуска множества высокопрофессиональных программ и проектов. Да и если даже он у вас достаточно мощный, — это в принципе неудобно, каждый раз синхронизировать проекты с «тонким» клиентом. Как быть в описанных выше ситуациях — мы и поговорим в этой статье.
На самом деле, указанная проблема очень легко решается: установкой на ваш персональный компьютер системы удалённого включения/выключения и перезагрузки. Этот подход позволит всегда иметь под рукой всю мощь вашей домашней машины и все необходимые документы, и проекты, хранящиеся на ней.
До начала описания своей разработки, хочу сказать, что конечно, она не является единственно возможным способом для удалённого включения выключенного компьютера. Например, хорошо известна технология Wake-on-LAN. Суть этой технологии заключается в том, что она позволяет включить выключенный компьютер, отправкой специального пакета на его MAC-адрес.
Сетевой адаптер компьютера, поддерживающего Wake-on-LAN, находится в этот момент в режиме пониженного потребления и анализирует все пакеты на него. Если одним из поступающих пакетов окажется так называемый magic packet, сетевой адаптер выдаст сигнал на включение питания компьютера.
Согласно wiki: Magic packet — это специальная последовательность байтов, которую для нормального прохождения по локальным сетям можно вставить в пакеты транспортного уровня, не требующие установки соединения (например, протокол UDP или устаревший IPX). Обычно для Wake-on-LAN пакеты протоколов верхнего уровня рассылают широковещательно, так как в случае динамического присвоения адресов неизвестно, какой IP-адрес соответствует какому MAC-адресу. Однако, для корректного прохождения через маршрутизатор, запрещающий широковещательные пакеты, можно послать пакет по какому-то определённому адресу.
Из минусов данной технологии стоит отметить, что она:
В любом случае, я подумал, что создание девайса, о котором пойдёт дальше речь, будет интересной затеей, так как:
▍ Итак, приступим.
Некоторое время назад, решение указанной проблемы было достаточно затруднённым: необходимо было обладать достаточно высоким уровнем профессионализма и наличием глубоких знаний в области электроники, чтобы собрать требуемое для решения этой задачи устройство.
С появлением платформы Arduino, данная задача существенно облегчилась, однако, она продолжала оставаться достаточно неудобной в своей реализации, ввиду наличия клубка проводов, соединяющих требуемые компоненты, либо, ввиду необходимости покупки соответствующих wi-fi шилдов.
В текущее же время, этот вопрос ещё более облегчился, из-за появления платы espressif esp32. Для тех, кто не знает, это двухъядерный модуль, содержащий множество необходимых для любого самодельщика свойств. В рамках же данного проекта, нас будет интересовать наличие встроенного wi-fi модуля.
Использование этой платы позволит нам легко и просто построить требуемое устройство, не загромождая всё проводами и за достаточно малую цену. Рискну предположить, что суммарная стоимость компонентов нашего решения не превысит 350-400 руб.
Для того, чтобы создать устройство, нам понадобится всего лишь четыре резистора, два мосфет- транзистора и плата esp32.
По набору компонентов, искушённый читатель сразу понял, что мы будем делать: с помощью esp32 мы будем управлять ключами на основе мосфет-транзисторов.
При использовании мосфет-транзистора нужно иметь в виду один нюанс: транзистор должен открыться полностью, если этого не произойдёт, то он в работе будет сильно греться и будет фактически, работать в роли резистора.
В данном конкретном случае, это, конечно, не так важно, так как мы будем коммутировать достаточно малые токи кнопки включения/выключения и reset-a.
Конечно, можно не напрягаться и взять релейные модули для ардуино:
Но это не наш путь и вот почему: а) щелчки реле; б) наклёп контактов; в) высокое энергопотребление релейным модулем.
Оно нам надо? Нет, оно нам не надо 🙂
Так как мы хотим сделать «всё красиво» — мы будем использовать специальные мосфеты с логическим уровнем.
В рамках данного проекта, я выбрал мосфет-транзистор IRLZ44NPBF. У него порог срабатывания от 2 Вольт. То, что надо.
Как собрать ключ на мосфете — можно почитать тут.
По поводу конкретных силовых исполнительных устройств более-менее всё понятно. Однако нам ведь нужно ещё и каким-то образом «рулить» esp32 внешнего интернета!
То есть, задача в общем виде представляется следующей: некий интерфейс из внешнего интернета, зная IP адрес esp32, может отдавать ей команды.
Однако, подключение к устройству, находящемуся в сети за роутером, может стать неудобством, ввиду, как минимум, смены IP адреса у управляемого устройства, после каждой перезагрузки.
Да, вы скажете, что IP на самом деле не меняется, он может поменяться, только если кто-нибудь из домашних тоже подключится к сети, в тот момент, пока esp32 перезагружается, и ей придётся взять другой свободный IP.
Как бы там ни было, но все эти частности не важны, так как данный вопрос можно решить намного проще, чем выяснять какой текущий IP у платы и каким образом его сообщить во внешний интернет: для этого мы будем использовать протокол mqtt. Для тех, кто не сталкивался, вкратце можно сказать, что протокол предназначен для интернета вещей, «умного» дома и не только.
Использование протокола позволяет с лёгкостью обойти проблему прохода за роутер (тут следует сделать оговорку, что мы делаем допущение, что большая часть пользователей интернета, которая выходит в сеть, используя персональные компьютеры, имеют дома wi-fi точку доступа в виде роутера).
❒ В нашем случае, использование протокола будет выглядеть следующим образом:
Значение отправляемых цифр:
0 — «выключить компьютер»;
1 — «включить компьютер»;
2 — «перезагрузить компьютер»;
После того, как сообщение получено платой, она выполняет определённые действия, и отчитывается в другом топике, на который, в свою очередь, подписан смартфон, с которого мы отправили задание. Таким образом, владелец смартфона узнает о том, что плата получила задание и выполнила его.
Как работать с клиентом: при запуске указанного выше mqtt-клиента — мы видим вот это окно. Ничего в нём не меняем, жмём кнопочку «Connect»:
Далее, появится следующее окно, где мы подписываемся на топик, в котором esp32 оставит сообщение о выполнении задания. Для этого жмём Add new topic subscription:
Вводим топик и жмём «Subscribe»:
Топик, на который мы подписались — появился справа, наверху:
Теперь, мы можем ввести топик, в который надо отправить сообщение и собственно, сообщение. И жмём «Publish». Сообщение уехало на esp32, и она отчиталась внизу, о выполнении задания:
То есть, для работы всей системы нужны:
Источник картинки: wikihandbk.com
И работает оно так (текст оттуда же):
Модифицируем её для нашего случая:
Прошивка проекта написана в Arduino IDE и доступна на моём гитхабе.
Пробежимся по основным моментам.
В своей работе мы будем использовать публичный mqtt broker по адресу: broker.hivemq.com:
Вы можете использовать любой другой — это вопрос исключительно предпочтений. Я выбрал этот и он у меня заработал. А так как я обычно иду по пути наименьшего сопротивления (в рамках парадигмы «и так сойдёт!» ), то искать что-то иное не было смысла. Ибо любая минута поиска — воровала у меня время, которое я мог бы с пользой провести, лёжа на диване, с думами о вечном :-))).
Для начала мы в блоке изначальной инициализации переменных указываем порт для подключения к mqtt брокеру, при необходимости — имя пользователя и его пароль(или имя и пароль оставляем пустыми, если брокер публичный — как в нашем случае):
Далее мы указываем два топика, — один из которых для публикации статуса компьютера в данный момент (то есть компьютер включён/выключен, или перезагружается):
Именно туда esp32 выводит строгие и выверенные системные сообщения, о происходящем с компьютером:
Другой, для получения сообщений из внешнего интернета(сюда мы постим со смартфона цифры 0, 1 или 2, в зависимости от которых выключается/включается/перезагружается компьютер):
Для подключения мосфет-транзисторов, я использовал пины, под номерами 19 и 21. Вы можете использовать, в принципе, любые допустимые пины, хорошее описание которых содержится по следующему адресу.
Из ещё одного интересного момента можно рассмотреть следующие три переменные:
В них мы задаем время в миллисекундах, в течение которого наше устройство будет держать нажатой соответствующую кнопку. Данные переменные вам нужно определить самостоятельно, опытным путём(если мои значения не будут работать)- для вашего конкретного компьютера, так как, вероятно, они могут отличаться в вашем конкретном случае. В прошивке значения переменных указаны для моего случая.
Ещё одним любопытным моментом, который некоторые могут не знать, является то, что встроенный в esp32 светодиод привязан к пину, под номером 2. Я решил, что «инженерия инженерией, но и красотень тоже должна быть». Поэтому наша esp-шка будет мигать встроенным светодиодом:
Теперь, что касается питания нашей сборки на esp32: единственный более-менее комфортный способ это осуществить,- запитать нашу сборку от дежурного питания компьютера. Так как наша сборка потребляет совсем немного, её подключение к дежурному питанию не должно вызвать проблемы с невозможностью включения компьютера из-за просадки напряжения.
А далее, когда компьютер включён — можно подключиться к нему, с помощью предварительно настроенных программ удалённого администрирования, удалённого рабочего стола и т.д. и т.п.
Ну, вот на этом кажется и всё. Ещё раз только остановлюсь на том факте, что вся эта идея со сборкой системы для удалённого управления компьютером была продиктована не только, и не столько потребностью в доступе к файлам (потому что, как альтернативу, можно купить в таком случае NAS), а скорее даже необходимостью иметь возможность доступа к своему пулу рабочих программ, которые установлены только на домашнем компьютере.