Что нового

[Автоматизация] Автоматизация выключения телевизора с помощью telnet-команды через wi-fi сеть

mzfkr

Новичок
Сообщения
2
Репутация
0
Описание ситуации:
Есть телевизор (далее "ТВ") на стене, используемый как монитор для подключенного по HDMI компьютера. Если погрузить компьютер в сон или выключить, то ТВ выключаться вместе с ним не будет - ТВ выключится через 30 минут после исчезновения HDMI-сигнала. У ТВ есть возможность управления по сети (wi-fi или RJ-45) с помощью клиента telnet. Для выключения ТВ надо запустить cmd и набрать в командной строке "telnet 192.168.0.17 10002". Далее, в открывшемся окне telnet надо набрать "POWR0 " (без кавычек но с тремя пробелами в конце, иначе не работает) и ТВ выключится.

Вместе с тем, для погружения компьютера в сон есть готовый exe-файл, который запускается с помощью ярлыка со следующими параметрами:
"C:\psshutdown.exe -d -t 00"

Что хочется получить:
Хочется получить скрипт, автоматизирующий отключение ТВ и переводящий компьютер в режим сна. Изучив некоторый инструментарий я пришел к выводу, что осуществить автоматизацию действий приведенных мною в описании можно только с помощью AutoIt :IL_AutoIt_1: и скачал программу, но моей гуманитарной квалификации не хватает, чтобы разобраться с программой. Прошу помочь составить скрипт или указать на невозможность использования AutoIt для моих целей...
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
RunWait("C:\psshutdown.exe -d -t 00",'',@SW_HIDE)
Shutdown(64)
 

Black_Hole

Знающий
Сообщения
126
Репутация
11
Код:
RunWait("putty.exe -telnet -m XXX.txt 192.168.0.17:10002",'',@SW_HIDE)


XXX.txt:
POWR0
 
Автор
M

mzfkr

Новичок
Сообщения
2
Репутация
0
Спасибо за информацию. Putty я пробовал, но проблема в том, что при первом посыле команды при помощи Putty ТВ почему-то возвращает ошибку. Со второго раза все в порядке. С Telnet такого нет - подключаешься и первая введеная команда дает результат. А еще большой вопрос - как Putty воспринимает пробелы в команде из файла XXX.txt ? Три пробела в конце команды - это обязательное условие успешного исполения.
И сразу еще вопрос по Putty - как в txt файл набора команд для Putty можно вставить две команды, вторая из которых исполняется после возвращения результата исполнения первой?


Добавлено:
Сообщение автоматически объединено:

А вообще тема про autoit, так что вопрос изменю - надо выполнить такой сценарий:

1. Есть ярлык, сразу подключающий telnet-клиент Putty к ТВ. Он расположен С:\sharp.lnk . Сперва надо запустиь его.
2. В результате открытия ярлыка появляется окно Putty, в него надо ввести "POWR0 " (c тремя пробелами в конце и без кавычек) и нажать Enter. Затем подождать 4 секунды и снова ввести "POWR0 " (c тремя пробелами в конце и без кавычек) и нажать Enter.
3. После этого надо подождать 2 секунды и выполнить программу перехода в ждущий режим со следующими параметрами запуска: "C:\psshutdown.exe -d -t 00"

Вот такой алгоритм надо автоматизировать - тогда точно все работать будет, прошу помощи в написании.
 

Black_Hole

Знающий
Сообщения
126
Репутация
11
Паузы расставишь сам какие надо

Код:
Sleep(1000)	;Пауза 1 секунда
Send("#к")	;Если по умолчанию Английская раскладка написать #r вместо #к
Sleep(1000)	;Пауза 1 секунда
Send("cmd{Enter}")			;Запуск cmd
Sleep(1000)
Send("telnet 192.168.0.17 10002{Enter}")
Sleep(5000)
Send("POWR0   {Enter}")
Sleep(5000)
Send("exit{Enter}")			;Выход из telnet
Sleep(5000)					;Пауза 5 секунд
Send("Shutdown -s -t 2")	;Завершение работы компьютера через две секунды
Send("exit{Enter}")			;Выход из cmd
 
Верх