Страница 1 из 3
Автоматическое отключение компьютеров по времени
Добавлено: Пн сен 12, 2016 9:52 pm
Alexiy2
Доброго времени суток, Господа!!!
Суть вопроса такова:
Имеем несколько компьютеров в локалке (компьютера принадлежат детям), Алиса может их выключать по Wake on Lan. Так же идет мониторинг Алисой, в сети ли эти компьютера или нет! Надо ограничить работу данных машин на определенное время в сутки. Т.е. если данная машина находится в сети суммарно более 120 минут в сутки, то необходимо, что бы Алиса ее отключила. И если компьютер повторно включат, то сервер должен тут же при ее появлении в сети, отключать!
Подскажите реализацию данной задачи!!! Не силен я в PHP!!!
Заранее благодарен. Думаю, что многие родители хотели бы ограничить свое чадо от долгих посиделок за компьютером!
Re: Автоматическое отключение компьютеров по времени
Добавлено: Пн сен 12, 2016 10:09 pm
savenko_egor
Как вариант:
Выключаем компьютер удаленно
Погуглите. Информации реально много!
Re: Автоматическое отключение компьютеров по времени
Добавлено: Пн сен 12, 2016 11:31 pm
Alexiy2
Вы, видимо, всей сути не поняли! Отключение уже реализовано! Сложность именно в подсчете общего времени работы компьютера за сутки! Надо сделать так, что бы компьютер мог работать именно 120 минут в сутки и не более того!
Отправлено с моего SM-T116 через Tapatalk
Re: Автоматическое отключение компьютеров по времени
Добавлено: Вт сен 13, 2016 7:43 am
nick7zmail
Alexiy2 писал(а):Вы, видимо, всей сути не поняли! Отключение уже реализовано! Сложность именно в подсчете общего времени работы компьютера за сутки! Надо сделать так, что бы компьютер мог работать именно 120 минут в сутки и не более того!
Отправлено с моего SM-T116 через Tapatalk
Не зная как у вас всё организовано - трудно предложить правильный вариант, но будет примерно так:
-объект для компьютера к примеру comp1
-свойство comp1.timelimit - ограничение по времени (в вашем случае 120...можно регулировать из меню к примеру)
-свойство comp1.online - 1 если в сети, 0 если не в сети
В ежеминутном цикле пишем:
Код: Выделить всё
//Выключение компов
if (date('H:i')=='00:00') {
sg('comp1.timetoday', 0);//сбрасываем ежедневное время в 12 ночи
}
if (gg('comp1.online')) {
sg('comp1.timetoday', gg('comp1.timetoday')+1); //прибавляем 1 мин к времени работы, если комп включен
}
if (gg('comp1.timetoday')>=gg('comp1.timelimit')) {
cm('comp1.turnoff'); //запускаем метод на выключение, если время за сегодня больше лимита
}
И так для каждого компа. Если все компы в отдельном классе - можно классовым методом запускать.
PS: Код писал "от руки", без рабочей системы под рукой)) Проверить негде, если что не сработает - пишите.
Re: Автоматическое отключение компьютеров по времени
Добавлено: Вт сен 13, 2016 8:32 am
Alexiy2
Спасибо огромное! Вот это ответ! Все развернуто для особо "ОДАРЕННЫХ"! По прибытию домой обязательно попробую!
Отправлено с моего SM-T116 через Tapatalk
Re: Автоматическое отключение компьютеров по времени
Добавлено: Вт сен 13, 2016 9:11 am
lanket
Хорошие идеи вы подняли. Хотел бы немного дополнить вашу идею Вдруг понравится точка Может быть еще предупредить а подключение за 5 минут 3 и одну минуту . чтобы ребенок успел например заранее подготовиться к выключению компьютера. Зачем это надо? Пример он может заниматься полезным делом а не только в игры играть.
Отправлено с моего Redmi Note 3 через Tapatalk
Re: Автоматическое отключение компьютеров по времени
Добавлено: Вт сен 13, 2016 10:41 am
Alexiy2
В 7 винде при получении пакета на отключение приходит сообщение на экран о выключении. А в сам пакет можно любое время на отсрочку выключения поставить. У меня 5 минут стоит. Т.е. перед включением за пять минут выходит на экран сообщение
Отправлено с моего SM-T116 через Tapatalk
Re: Автоматическое отключение компьютеров по времени
Добавлено: Вс сен 18, 2016 7:11 pm
Alexiy2
Господа!
А не подскажите как правильно записывать код:
Имеются свойства объекта Comp "timelimit" и "timetoday"! Надо вычесть разницу между этими свойствами и внести ответ в свойство "timeleft". Написал такой код, но он не работает:
Код: Выделить всё
gg($obj['TITLE'].".timeleft")==sg($obj['TITLE'].".timelimit")-sg($obj['TITLE'].".timetoday");
Где моя ошибка?
Просьба сильно не пинать ногами - я только познаю этот прекрасный мир программирования!
Re: Автоматическое отключение компьютеров по времени
Добавлено: Вс сен 18, 2016 8:34 pm
ipz
Поменять местами sg и gg
sg - установить значение
gg - получить значение
UPD:
У sg() два аргумента: название свойства и само значение, поэтому правильно так
Код: Выделить всё
sg( $obj['TITLE'].".timeleft", gg($obj['TITLE'].".timelimit")-gg($obj['TITLE'].".timetoday") );
Re: Автоматическое отключение компьютеров по времени
Добавлено: Вс сен 18, 2016 8:43 pm
olehs
Код: Выделить всё
sg($obj['TITLE'].".timeleft", gg($obj['TITLE'].".timelimit")-gg($obj['TITLE'].".timetoday"));
*** Сообщение запрещено. Сообщение похоже на спам. ***