Мобильная версия Форум Arduino Документация Гарантийные условия 0 0
UA RU
График работы магазина:
Пн-Пт: 8.00 - 19.00
Сб: 10.00 - 17.00
Вс: выходной
Каталог
Напиши статью и получи скидку!

Дистанционное включение компьютера без проводов

2021-08-30

Все статьи →

Довольно часто мне приходится отлучатся от компьютера, более того планируется переезд, а домашний компьютер оставлю родителям. В то же время на жестком диске останется много файлов и программ, которые могут понадобится мне в любой момент. Задача удаленного доступа к системе очень легко решается программой AnyDesk или подключением к удалённому рабочему столу по протоколу RDP. Но как быть, если компьютер оказался выключенным? В этой статье я не только расскажу о том, как сделать такое простое, нехитрое устройство, но и как просто и быстро прикрутить возможность использовать голосовые команды.

Первым делом скачаем и установим AnyDesk. После установки необходимо выбрать меню и заходим в вкладку «Безопасность».

После перехода на вкладку «Безопасность» нужно разблокировать настройки безопасности. Делайте это так, как показано на скриншоте ниже. После откроется новое окошко, в котором нужно будет отметить чекбокс «Разрешить неконтролируемый доступ» и дважды ввести пароль, который вместе с Вашим ID и будет служить данными для входа на свой компьютер. А сам AnyDesk после проделанных манипуляций обязательно нужно добавить в автозагрузку.

На этом этапе настройка и подготовка компьютера завершена. Что касается включения самого компьютера, то в целом есть много разных способов. Один из самых распространённых это подключение платы Arduino параллельно кнопке включения или сброса. Мне же не очень хотелось вмешиваться в работу компьютера, поэтому я выбрал программный способ включения и технологию Wake-On-LAN.

Wake-on-LAN - технология, позволяющая удалённо включить компьютер посредством отправки через локальную сеть специальной последовательности байтов - пакета данных. Этот пакет может быть вставлен в пакеты любых стандартных протоколов более высоких уровней, например, UDP. Покупать Arduino и Ethernet-шилд к ней мне тоже не захотелось. Мой выбор пал на беспроводное решение в виде платы NodeMCU v2 на базе ESP8266.

Ввиду того, что устройство подключенное к WiFi находится в одной локальной сети с устройствами подключёнными через Ethernet-кабель то реализация WOL (WakeOnLAN) вполне должна была заработать и с применением модуля ESP8266. Вместо платы NodeMCU v2 Вы можете использовать любую другую с этим же чипом. Свои первые эксперименты я проводил используя обычный ESP8266-07 и программировал его используя USB-UART конвертер на базе чипа CP2102. Плата NodeMCU уже содержит в себе такой переходник и выполнены все необходимые подключения без необходимости припаивать внешние резисторы и пару кнопок для перевода модуля в режим прошивки. Простота и удобство этой платы и сыграли ключевую роль в выборе именно её в качестве сердца системы. Для того, чтобы иметь возможность дистанционно посылать команды самому ESP-модулю я зарегистрировал аккаунт на сервисе iocontrol. Этот сервис бесплатный и предлагает свою отличную библиотеку. После прохождения простой процедуры регистрации нужно зайти в личный кабинет, а после перейти на вкладку «Панели».

На этой вкладке выбираем «Создать панель» введите название и нажмите «Создать». После создания панели необходимо создать переменную. Делается это точно так же.

Вводим любое название переменной, а её тип указываем «Целочисленный», а после создания обязательно включаем параметр «Доступ по ключу».

Теперь остается только узнать MAC-адрес (физический адрес сетевой карты). Самый простой способ это сделать - вызвать консоль (комбинацией клавиш WIN + R) и вписать команду ipconfig /all.

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

В целом у нас есть всё, что необходимо для написания скетча.

Вот таким образом узнаем отпечаток SSL. Остается только внести все необходимые данные в скетч и загрузить прошивку в модуль платы NodeMCU.

Настройка голосового управления iPhone.

Для того что бы настроить голосовое управление нужно получить ссылку, которая будет менять состояние переменной на сервисе iocontrol. Именно на изменение этой переменой и реагирует прошивка ESP8266 и посылает в сеть специально сформированный пакет WakeOnLAN. Получить эту ссылку можно следуя по инструкции на скриншоте ниже. Нужно просто зайти в настройку переменной в меню панелей сервиса iocontrol и среди вкладок выбрать «Методы API». В поле Value (значение) внести единицу. Если вписать другую цифру то, соответственно нужно изменить это значение и в коде прошивки.

Настройка и создание команд происходит следующим образом

В поле URL-адрес команд iPhone вставляем ту самую ссылку, которую получили на шаге выше в управлении переменной сервиса IOcontrol. Если все шаги указанные выше были выполнены правильно, устройство заработает сразу после прошивки. Самый простой способ проверить, правильно ли NodeMCU подключилась к сервису, это установить значение переменной в любое значение вручную. Если оно будет сброшено в 0 (ноль), значит модуль в сети и на связи.

Нажав на команду в самом приложении или озвучив её название при активированной Siri, команда выполнится, изменит состояние переменой на сервере iocontrol, а NodeMCU сбросит переменную и отправить пакет WakeOnLAN, что и приведет к включению компьютера. На первый взгляд инструкция кажется довольно сложной, но на деле все манипуляции делаются буквально за 15-20 минут включая редактирование прошивки и настройку Wake On LAN в BIOS компьютера.

Отдельно отмечу, что подобная система практически не работает с ноутбуками. В лучшем случае выводит ноутбук из спящего режима, но не в состоянии включить его после завершения работы. Так же в этой статье я не буду вдавятся в детали включения функции WakeOnLAN. Так как на разных версиях Windows это делается часто по-разному. Соответственно включение Wake On LAN в BIOS тоже нужно смотреть отдельно, в зависимости от Вашей материнской платы. В основном достаточно проделать следующие действия:

1. Зайдите в интерфейс BIOS компьютера. Включите параметры BIOS относящиеся к WoL. Для этого обратитесь к руководству пользователя материнской платы. Обычно эти параметры называются "Power On By Onboard LAN", "Remote Wake Up", "Wake On LAN", "Power On By PME Device" и т.п. А также убедитесь, что в BIOS в дополнительных (расширенных) настройках, или в разделе питания PCI-E, включен режим энергосбережения, который обеспечивает подачу дежурного питания на сетевой адаптер при выключенном компьютере.

2. На компьютере в операционной системе Windows нужно выполнить настройку сетевого адаптера. Откройте параметры Windows. Перейдите в меню "Сеть и Интернет" и на вкладке "Состояние" в подразделе "Изменения сетевых параметров" нажмите "Настройка параметров адаптера". В появившемся окне "Сетевые подключения" нажмите правой кнопкой мыши по значку Ethernet-подключения к сети и затем нажмите "Свойства". В окне свойств сетевого адаптера нажмите кнопку "Настроить...". Перейдите на закладку "Дополнительно".

Установите значения "Вкл" для параметров, связанных с Wake-on-LAN и включением по локальной сети. Например, это могут быть параметры:

Wake on Magic Packet; Wake on pattern match; Wake From Shutdown; Wake-Up; Resume on LAN; Shutdown Wake-On-Lan (WOL); Включить по локальной сети; Включение по локальной сети после отключения; Включить при получении магического пакета; Включить при совпадении шаблона; Включить при срабатывании функции Magic Packet и т.п.

Названия параметров зависят от драйвера сетевого адаптера.

В некоторых Wi-Fi-устройствах (беспроводной адаптер, смарт-телевизор) эта технология называется WoWLAN (Wake on Wireless LAN).

Далее перейдите на вкладку "Управление электропитанием" и включите опции для получения возможности вывода компьютера из спящего (ждущего) режима - "Разрешить этому устройству выводить компьютер из ждущего режима" и "Разрешать вывод компьютера из ждущего режима только с помощью 'магического' пакета".

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

Таким образом можно построить совсем простое беспроводное устройство для дистанционного включения компьютера. Что бы выключить компьютер можно использовать уже интерфейс AnyDesk на смартфоне. Такой способ практически не требует проводов (кроме питания), а при желании простой модификацией прошивки можно реализовать и другие способы включения/перезагрузки и прочего. Для устройств под управлением ОС Google Android так же можно найти аналог приложения «Команды» iPhone.

Ссылки:

Ваша оценка статьи:

Отлично
Хорошо
Удовлетворительно
Плохо
Очень плохо

Общая оценка:

Оценка "Дистанционное включение компьютера без проводов"
3 из 5
сделана на основе 2 оценок 2 клиентских отзывов.

Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
Oleg
30.01.2023 21:05:23
Господи, а почему WOL напрямую не использовать-то?? Одна команда из консоли, без всяких сервисов левых, - всё включается у меня. Причём, с... 2007 года, кажется, использую. Однажды китайский робот повадился включать мой комп, просканировав порты, там, кажется, 9-й порт. Не беда, прописал в роутере условный ping и поменял порт. С тех пор - всё прекрасно.
Денис
03.09.2021 11:42:39
Мегаполезная и толковая статья. Спасибо!
оплата картами Visa и MasterCard