<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://8j0rn.dagbok.ru/history/ChatGPT:wake-on-lan-nas?feed=atom</id>
	<title>ChatGPT:wake-on-lan-nas - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://8j0rn.dagbok.ru/history/ChatGPT:wake-on-lan-nas?feed=atom"/>
	<link rel="alternate" type="text/html" href="https://8j0rn.dagbok.ru/history/ChatGPT:wake-on-lan-nas"/>
	<updated>2026-10-26T20:35:26Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://8j0rn.dagbok.ru/index.php?title=ChatGPT:wake-on-lan-nas&amp;diff=192&amp;oldid=prev</id>
		<title>8j0rn: Новая страница: «=Вопрос для ChatGPT:= У меня есть NAS сервер, регулярно бывают отключения электричества. Хочу разработать серию скриптов, которые будут отслеживать эту ситуацию и при пропадании электричества автоматом выключать NAS и при появлении электричества его пробужд...»</title>
		<link rel="alternate" type="text/html" href="https://8j0rn.dagbok.ru/index.php?title=ChatGPT:wake-on-lan-nas&amp;diff=192&amp;oldid=prev"/>
		<updated>2024-12-16T20:57:36Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «=Вопрос для ChatGPT:= У меня есть NAS сервер, регулярно бывают отключения электричества. Хочу разработать серию скриптов, которые будут отслеживать эту ситуацию и при пропадании электричества автоматом выключать NAS и при появлении электричества его пробужд...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Вопрос для ChatGPT:=&lt;br /&gt;
У меня есть NAS сервер, регулярно бывают отключения электричества. Хочу разработать серию скриптов, которые будут отслеживать эту ситуацию и при пропадании электричества автоматом выключать NAS и при появлении электричества его пробуждать.&lt;br /&gt;
Как воспользоваться &amp;quot;Wake on LAN&amp;quot; через &amp;lt;code&amp;gt;python&amp;lt;/code&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
=Ответ ChatGPT:=&lt;br /&gt;
Для использования функции &amp;quot;Wake on LAN&amp;quot; (&amp;lt;code&amp;gt;WOL&amp;lt;/code&amp;gt;) через &amp;lt;/ode&amp;gt;Python&amp;lt;/code&amp;gt;, вам потребуется отправить специальный &amp;quot;магический пакет&amp;quot; на сетевой адрес устройства, которое вы хотите разбудить. Вот пример, как это можно сделать с помощью библиотеки &amp;lt;code&amp;gt;socket&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Убедитесь, что у вас установлен &amp;lt;code&amp;gt;Python&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Установите библиотеку &amp;lt;code&amp;gt;wakeonlan&amp;lt;/code&amp;gt;, если вы хотите использовать более удобный способ. Для этого выполните команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pip install wakeonlan&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Используйте следующий код для отправки магического пакета:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from wakeonlan import send_magic_packet&lt;br /&gt;
&lt;br /&gt;
# Укажите MAC-адрес устройства, которое хотите разбудить&lt;br /&gt;
mac_address = &amp;#039;00:11:22:33:44:55&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Отправка магического пакета&lt;br /&gt;
send_magic_packet(mac_address)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы хотите написать код без использования сторонних библиотек, вот простой пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import socket&lt;br /&gt;
&lt;br /&gt;
def wake_on_lan(macaddress):&lt;br /&gt;
    # Преобразуем MAC-адрес в нужный формат&lt;br /&gt;
    macaddress = macaddress.replace(&amp;#039;:&amp;#039;, &amp;#039;&amp;#039;).replace(&amp;#039;-&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    if len(macaddress) != 12:&lt;br /&gt;
        raise ValueError(&amp;quot;Неверный формат MAC-адреса&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    # Создаем магический пакет&lt;br /&gt;
    magic_packet = bytes.fromhex(&amp;#039;FF&amp;#039; * 6) + bytes.fromhex(macaddress) * 16&lt;br /&gt;
    &lt;br /&gt;
    # Отправляем пакет по широковещательному адресу&lt;br /&gt;
    with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as sock:&lt;br /&gt;
        sock.sendto(magic_packet, (&amp;#039;255.255.255.255&amp;#039;, 9))&lt;br /&gt;
&lt;br /&gt;
# Укажите MAC-адрес устройства, которое хотите разбудить&lt;br /&gt;
mac_address = &amp;#039;00:11:22:33:44:55&amp;#039;&lt;br /&gt;
wake_on_lan(mac_address)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Примечания:==&lt;br /&gt;
Убедитесь, что функция Wake on LAN включена в BIOS/UEFI вашего устройства.&lt;br /&gt;
Убедитесь, что ваше устройство подключено к сети и настроено на прием WOL-пакетов.&lt;br /&gt;
Если вы используете роутер, возможно, вам нужно будет настроить проброс портов для UDP на порт 9.&lt;br /&gt;
Теперь вы можете использовать этот код для пробуждения устройств в вашей сети!&lt;br /&gt;
&lt;br /&gt;
===Статус реализации===&lt;br /&gt;
&amp;lt;&amp;lt;ВПРОЦЕССЕ&amp;gt;&amp;gt;&lt;br /&gt;
(ожидает реализации [[ChatGPT:rt-gm-3-superadmin-password| доступа по &amp;lt;code&amp;gt;SSH&amp;lt;/code&amp;gt; к роутеру]])&lt;/div&gt;</summary>
		<author><name>8j0rn</name></author>
	</entry>
</feed>