Алиса управляет компьютером-3 (Python): различия между версиями
Нет описания правки |
|||
| Строка 1: | Строка 1: | ||
{{metadesc|{{PAGENAME}} | Продвинутое управление компьютером }} | |||
__NOEDITSECTION__ | |||
__TOC__ | |||
== Вступление == | == Вступление == | ||
В данной статье | |||
== | |||
В данной статье мы создадим виртуальный пульт для управления действиями ПК, которому будут доступны: | |||
Не так страшно иметь Python на своем компьютере. Страшно в 2020 его не иметь) | * запуск приложений, | ||
* открытие веб-страниц в браузере, | |||
* выключение ПК, | |||
* использование "горячих" клавиш. | |||
Тем, кто знаком с языком программирования Python, будет несложно расширить скрипт по своему вкусу. А пользователи с начальными знаниями легко используют под свои нужды функции из примера. | |||
== Начало. Устанавливаем Python == | |||
Нам потребуется скачать и установить среду разработки Python (будем управлять компьютером с его помощью). | |||
Не так страшно иметь Python на своем компьютере. Страшно в 2020 его не иметь )) | |||
Итак: | |||
* Скачиваем Python [https://www.python.org/downloads/ по ссылке]. | |||
* Запускаем установщик. | |||
* Устанавливаем галочку на "Add Python <версия> to PATH". | |||
Лучше сделать папку Python доступной для переменной %PATH%. | |||
Если поставите Python в недоступное для переменной %PATH% место, команды запуска скриптов будут такими: | |||
<Диск>:\<Путь_к_директории_Python>\python.exe <имя скрипта>.py | |||
* Нажимаем "Install Python" и продолжаем установку, соглашаясь со всем предлагаемым. | |||
[[Файл:1py.png|мини|Устанавливаем Python в PATH]] | [[Файл:1py.png|мини|Устанавливаем Python в PATH]] | ||
По окончании установки | |||
По окончании установки проверяем работоспособность, заодно ставим нужные библиотеки: | |||
* Открываем командную строку (Нажимаем '''Win+R''', вводим '''cmd''', нажимаем Enter) | |||
* Вводим поочередно две команды: | |||
'''pip install blynklib''' - библиотека Blynk для Python. | |||
'''pip install pyautogui''' - библиотека для работы с горячими клавишами. | |||
<br style="clear:both"> | |||
== Регистрируемся и собираем пульт в Blynk == | == Регистрируемся и собираем пульт в Blynk == | ||
Регистрация в Blynk подробно описана [https://clck.ru/LsQCe здесь]. | |||
Для нашего случая неважно, какие устройство и способ подключения вы выберете при создании проекта. | |||
Нам нужен только токен и любой добавленный проект.<br> | |||
Добавляем в проект нужное количество кнопок (Button). Оформляем и подписываем по вкусу: | |||
<gallery> | <gallery> | ||
2py.png|Добавляем кнопки | 2py.png|Добавляем кнопки | ||
3py.png|Оформляем | 3py.png|Оформляем | ||
</gallery> | </gallery> | ||
== Настраиваем скрипт | |||
Загружаем [https://yadi.sk/d/FYb9n_gp8V8IMA скрипт] | |||
== Настраиваем скрипт == | |||
Загружаем [https://yadi.sk/d/FYb9n_gp8V8IMA скрипт по ссылке], открываем любым текстовым редактором (мне по вкусу Sublime Text, но подойдёт и встроенный Блокнот) и видим: | |||
{{#spoiler:show=Показать скрипт | hide=Спрятать скрипт | | |||
<pre> | <pre> | ||
import blynklib #библиотека Blynk (перед этим в CMD сделать pip install blynklib) | import blynklib #библиотека Blynk (перед этим в CMD сделать pip install blynklib) | ||
| Строка 79: | Строка 118: | ||
blynk.run() | blynk.run() | ||
</pre> | </pre> | ||
}} | |||
Несмотря на страшный вид, все просто: | Несмотря на страшный вид, все просто: | ||
Вместо ВАШ_ТОКЕН_Blynk вставляем токен, полученный при создании проекта. | |||
BLYNK_AUTH = 'ВАШ_ТОКЕН_Blynk' #вставить токен | |||
Например, чтобы добавить функцию открытия командной строки по нажатию на | Чуть ниже комментариями выделен блок с функциями виртуальных пинов Blynk. Например, чтобы добавить функцию открытия командной строки по нажатию на привязанную к пину V4 кнопку, добавим блок | ||
{{#spoiler:show=Показать блок | hide=Спрятать блок | | |||
<pre> | <pre> | ||
@blynk.handle_event('write V4') | @blynk.handle_event( 'write V4' ) | ||
def write_virtual_pin_handler(pin, value): | def write_virtual_pin_handler( pin, value ): | ||
if str(value) == "['1']": | if str(value) == "['1']": | ||
app = "cmd" #путь к приложению | app = "cmd" #путь к приложению | ||
startcmd(app) | startcmd( app ) | ||
print ('открываю '+app)</pre> | print( 'открываю ' + app ) | ||
</pre> | |||
}} | |||
в любое место выше этого комментария: | |||
'''@blynk.handle_event('write V4')''' - | #---------------------Конец блока функций для виртуальных пинов blynk----------------- | ||
'''app = "cmd"''' - | |||
Сохраняем | Разберём работу блока: | ||
* '''@blynk.handle_event('write V4')''' - объявляем, что функция выполнится после чтения виртуального пина V4 (чтобы использовать пин V5 - меняем 'write V4' на 'write V5'). | |||
* '''app = "cmd"''' - вместо cmd вписываем реальный путь к программе (например "С:\Program Files\AIMP\AIMP.exe") или консольную команду (например "cd C:\windows\"). | |||
Сохраняем скрипт. | |||
[[Файл:4py.png| | |||
== И снова Алиса, и снова Кузя | == Проверяем работу скрипта и кнопок == | ||
Самый простой способ запуска (тк в дальнейшем можно оперировать файлом) - с помощью bat-файла: | |||
* Открываем блокнот ('''Win+R''', вводим '''notepad''', нажимаем '''Enter''') | |||
* В блокноте пишем: '''python <путь к файлу скрипта>\blynk.py''' | |||
* Сохраняем файл с расширением .bat (в окне сохранения файла, в выпадающем меню "Тип" выбираем "Все файлы". Пишем имя файла <удобное_имя>.bat) | |||
* Запускаем <удобное_имя>.bat двойным щелчком мыши и пробуем нажимать кнопки в приложении Blynk: | |||
[[Файл:4py.png | 600px]] | |||
== И снова Алиса, и снова Кузя == | |||
Как настроить управление виртуальными пинами с помощью Алисы, [https://clck.ru/LsXvV рассказано здесь]. | |||
== Для перфекционистов == | == Для перфекционистов == | ||
И всех тех, кому мешает окно командной строки. | |||
Конечно, для постоянного доступа к управлению нужно добавить наш файл запуска в автозагрузку windows. Есть несколько способов скрытия окна, но мне ближе вариант с использованием приложения NirCmd, тем более, что объем у нее неимоверно маленький, а функционал довольно большой. | |||
Теперь окно | |||
Для этого потребуется: | |||
* Загрузить NirCmd [https://www.nirsoft.net/utils/nircmd.html на официальном сайте] (внизу страницы). | |||
* Распаковать nircmd.exe из архива в любое удобное место. | |||
* Поменять в нашем bat-файле строку | |||
python <путь к файлу скрипта>\blynk.py | |||
на | |||
'''<Путь к файлу>\nircmd.exe exec hide''' python <путь к файлу скрипта>\blynk.py | |||
Теперь окно скрипта нас не потревожит, но наблюдать и завершить его работу можно будет только из "Диспетчера задач" по имени процесса Python. | |||
NirCmd пригодится и для управления функциями ПК (если укажем нужные команды в соответствующем блоке функций для пинов). | |||
Подробнее о том, что умеет эта программулька - [https://www.nirsoft.net/utils/nircmd.html в списке на официальном сайте]. | |||
== Послесловие == | == Послесловие == | ||
Скрипт является простейшим примером использования Умного дома Яндекса в управлении вашим компьютером. На его основе можно и нужно экспериментировать дальше) | |||
Приведены лишь наиболее необходимые методы (например, горячие клавиши, которые можно использовать для AIMP или другого ПО, и NirCmd, которая может управлять звуком, или даже открывать cd-rom и пугать домашних, если таковой еще имеется =) | |||
Удачи в экспериментах! | Удачи в экспериментах! | ||
[[Category:Умный дом]] | |||
Версия от 10:26, 15 января 2020
Вступление
В данной статье мы создадим виртуальный пульт для управления действиями ПК, которому будут доступны:
- запуск приложений,
- открытие веб-страниц в браузере,
- выключение ПК,
- использование "горячих" клавиш.
Тем, кто знаком с языком программирования Python, будет несложно расширить скрипт по своему вкусу. А пользователи с начальными знаниями легко используют под свои нужды функции из примера.
Начало. Устанавливаем Python
Нам потребуется скачать и установить среду разработки Python (будем управлять компьютером с его помощью).
Не так страшно иметь Python на своем компьютере. Страшно в 2020 его не иметь ))
Итак:
- Скачиваем Python по ссылке.
- Запускаем установщик.
- Устанавливаем галочку на "Add Python <версия> to PATH".
Лучше сделать папку Python доступной для переменной %PATH%. Если поставите Python в недоступное для переменной %PATH% место, команды запуска скриптов будут такими: <Диск>:\<Путь_к_директории_Python>\python.exe <имя скрипта>.py
- Нажимаем "Install Python" и продолжаем установку, соглашаясь со всем предлагаемым.

По окончании установки проверяем работоспособность, заодно ставим нужные библиотеки:
- Открываем командную строку (Нажимаем Win+R, вводим cmd, нажимаем Enter)
- Вводим поочередно две команды:
pip install blynklib - библиотека Blynk для Python.
pip install pyautogui - библиотека для работы с горячими клавишами.
Регистрируемся и собираем пульт в Blynk
Регистрация в Blynk подробно описана здесь.
Для нашего случая неважно, какие устройство и способ подключения вы выберете при создании проекта. Нам нужен только токен и любой добавленный проект.
Добавляем в проект нужное количество кнопок (Button). Оформляем и подписываем по вкусу:
-
Добавляем кнопки
-
Оформляем
Настраиваем скрипт
Загружаем скрипт по ссылке, открываем любым текстовым редактором (мне по вкусу Sublime Text, но подойдёт и встроенный Блокнот) и видим:
Несмотря на страшный вид, все просто:
Вместо ВАШ_ТОКЕН_Blynk вставляем токен, полученный при создании проекта.
BLYNK_AUTH = 'ВАШ_ТОКЕН_Blynk' #вставить токен
Чуть ниже комментариями выделен блок с функциями виртуальных пинов Blynk. Например, чтобы добавить функцию открытия командной строки по нажатию на привязанную к пину V4 кнопку, добавим блок
в любое место выше этого комментария:
#---------------------Конец блока функций для виртуальных пинов blynk-----------------
Разберём работу блока:
- @blynk.handle_event('write V4') - объявляем, что функция выполнится после чтения виртуального пина V4 (чтобы использовать пин V5 - меняем 'write V4' на 'write V5').
- app = "cmd" - вместо cmd вписываем реальный путь к программе (например "С:\Program Files\AIMP\AIMP.exe") или консольную команду (например "cd C:\windows\").
Сохраняем скрипт.
Проверяем работу скрипта и кнопок
Самый простой способ запуска (тк в дальнейшем можно оперировать файлом) - с помощью bat-файла:
- Открываем блокнот (Win+R, вводим notepad, нажимаем Enter)
- В блокноте пишем: python <путь к файлу скрипта>\blynk.py
- Сохраняем файл с расширением .bat (в окне сохранения файла, в выпадающем меню "Тип" выбираем "Все файлы". Пишем имя файла <удобное_имя>.bat)
- Запускаем <удобное_имя>.bat двойным щелчком мыши и пробуем нажимать кнопки в приложении Blynk:
И снова Алиса, и снова Кузя
Как настроить управление виртуальными пинами с помощью Алисы, рассказано здесь.
Для перфекционистов
И всех тех, кому мешает окно командной строки.
Конечно, для постоянного доступа к управлению нужно добавить наш файл запуска в автозагрузку windows. Есть несколько способов скрытия окна, но мне ближе вариант с использованием приложения NirCmd, тем более, что объем у нее неимоверно маленький, а функционал довольно большой.
Для этого потребуется:
- Загрузить NirCmd на официальном сайте (внизу страницы).
- Распаковать nircmd.exe из архива в любое удобное место.
- Поменять в нашем bat-файле строку
python <путь к файлу скрипта>\blynk.py
на
<Путь к файлу>\nircmd.exe exec hide python <путь к файлу скрипта>\blynk.py
Теперь окно скрипта нас не потревожит, но наблюдать и завершить его работу можно будет только из "Диспетчера задач" по имени процесса Python.
NirCmd пригодится и для управления функциями ПК (если укажем нужные команды в соответствующем блоке функций для пинов).
Подробнее о том, что умеет эта программулька - в списке на официальном сайте.
Послесловие
Скрипт является простейшим примером использования Умного дома Яндекса в управлении вашим компьютером. На его основе можно и нужно экспериментировать дальше) Приведены лишь наиболее необходимые методы (например, горячие клавиши, которые можно использовать для AIMP или другого ПО, и NirCmd, которая может управлять звуком, или даже открывать cd-rom и пугать домашних, если таковой еще имеется =)
Удачи в экспериментах!