Подавляющее большинство современных сетевых плат имеют функцию Wake On Lan, которая позволяет реализовать пробуждение персонального компьютера через сеть.
Технические требования:
Если используется сетевая плата не встроенная в материнку, то необходимо будет подключить ее через специальный разъем WOL, к материнской плате.
Функция WOL включается в BOIS'е компьютера:
Небольшой проблемой может стать то, что на некоторых компьютерах при потери питания, WOL отключается. Однако на современных материнских платах, данная проблема может быть решена установкой параметра "пробуждаться после пропадания питания" в значение On в BOIS'е:.
Магический Пакет (Magic Packet)
Для того, чтобы пробудить компьютер через LAN, необходимо по сети послать определенную последовательность байтов, т.н. Magic packet. Пакет представляет собой 6 байт со значением FF: (FF:FF:FF:FF:FF:FF), а затем идет MAC-адрес сетевой карты ПК, повторяющийся 16 раз подряд.
Обратите внимание, что если используется маршрутизатор, то на нем необходимо настроить переброс широковещательных пакетов (обычно 9 или 7 порт) на ваш компьютер.
Arduino
Для посылки магического пакета используется метод sendWol(). В качестве параметра указывается MAC-адрес компьютера, который необходимо "пробудить":
static byte targetmac[] = {0x00,0x1A,0x4B,0x38,0x0F,0x5C};
...
ether.sendWol (targetmac);
Полный пример работы с WOL можно найти в репозитарии GiHub.
Используя ПО анализатор сети (к примеру Wireshark) вы можете мониторить корректность отсылки пакетов от Arduino:
Здесь красным выделен широковещательный MAC-адрес, зеленым - IP и UDP протокол, голубым - MAC-адрес ПК, повторяющийся 16 раз.
Комментарии (1)
|
Я собрал (0) |
Подписаться
Для добавления Вашей сборки необходима регистрация