Как включить компьютер через MajorDoMo

Posted by

Правило удаленного включения действует только для сетевых карт имеющих функцию , а значит только если Ваше устройство подключено по проводу данная функция будет работать. Если у Вас или у меня, к примеру ноутбук подключен к домашней сети через Wi-Fi, то увы работать данная заметка не будет.

Итак, у меня есть мой сервис развернутый по собственной заметке без каких либо сборок и левых инструкций из интернета на Ubuntu Trusty Server amd64 на железе HP MicroServer Gen8 от Raspberry Pi 3 Model B я отказался в виду как я считаю не надежности. Пусть лучше миникомпьютер будет как контроллер по взаимодействию с датчиками, к примеру Relay Board, DHT11 и другими, а уже с него я буду управлять отдавая команды с Ubuntu системы. Мне так удобнее.

Для того, что воплотить задумку этой заметки мне потребуется на Ubuntu систему поставить утилиту wakeonlan:

ekzorchik@srv-majordomo:~$ sudo apt-get install wakeonlan -y

ekzorchik@srv-majordomo:~$ whereis wakeonlan

wakeonlan: /usr/bin/wakeonlan

Для включения домашнего компьютер на базе материнской платы: Asus M5A97 R2.0. Нужно зайти в BIOS через клавишу в момент загрузки DelДополнительноАРМ

  • ERP Ready = откл
  • Power On by PME Device = вкл.

Теперь команда на включение домашнего компьютера выглядит так:

ekzorchik@srv-majordomo:~$ wakeonlan -i 255.255.255.255 60:a4:4c:2b:3b:36

Sending magic packet to 255.255.255.255:9 with 60:a4:4c:2b:3b:36

работает.

А для моего домашнего ноутбука Lenovo E555:

ekzorchik@system:~$ sudo apt-get install ethtool -y

ekzorchik@system:~$ apt-cache search ethtool | grep 'ethtool' | head -n 1

ethtool - display or change Ethernet device settings

ekzorchik@system:~$ sudo ethtool eth0 | grep 'Wake-on'

Supports Wake-on: pumbg

Wake-on: g

ekzorchik@system:~$ ifconfig eth0 | grep 'HWaddr'

eth0 Link encap:Ethernet HWaddr 68:f7:28:05:66:4f

ekzorchik@srv-majordomo:~$ wakeonlan -i 255.255.255.255 68:f7:28:05:66:4f

После того как с командами определился и проверил что они приводят к тому положительному результату что и задумывалось, то в MajorDoMo составляю скрипты со следующим содержанием:

На заметку: ключевые моменты настройки сервиса MajorDoMo взяты из заметки где я показал как выключать компьютер, как на базе Windows так и на базе Ubuntu систем.

Скрипт №1:

  • Название: WakeUpNotebook
  • Код (PHP): $wakeupnotebook = shell_exec("/usr/bin/wakeonlan -i 255.255.255.255 68:f7:28:05:66:4f");

и нажимаю «Сохранить»

по аналогии также создаю Скрипт №2 для стационарного персонального компьютера.

После уже либо в MajorDroid забиваю на определенную клавишу включение либо создаю шаблон поведения, либо «Сцены» с кнопками на выключение и включение. Тут уже на моем примера каждый пусть сделать под себя как ему будет удобнее. Вот не пойму зачем городить огород в написание полного скрипт где сам скрипт будет отвечать за выполнение задачи на включение, раз у меня в распоряжении под системой MajorDroid находится Ubuntu Trusty Server amd64.

На заметку: скрипт может не отработать если не соблюдено условие, что компьютер подключен через ethernet или он если говорить про ноутбук не содержит батарею.

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

На заметку: Важное дополнение, работа MajorDoMo отработает если ноутбук или компьютер подключены к сети 220 Вт, в противном случае посылая команду на включение, как у меня было ноутбук подключен лишь ethernet кабелем не отрабатывало включение, но стоило включить адаптер питания в сеть и все сразу же отработало.

Задача выполнена. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.