Алиса управляет компьютером-3 (Python): различия между версиями
| Строка 21: | Строка 21: | ||
3py.png|Оформляем | 3py.png|Оформляем | ||
</gallery> | </gallery> | ||
== Настраиваем скрипт под себя == | == Настраиваем скрипт Python под себя == | ||
Загружаем [https://yadi.sk/d/FYb9n_gp8V8IMA скрипт]<br> | |||
Открываем его любым текстовым редактором (мне по вкусу Sublime Text, но вы можете использовать хоть блокнот)))) и видим следующее: | |||
<nowiki>import blynklib #библиотека Blynk (перед этим в CMD сделать pip install blynklib) | |||
import subprocess #библиотека для запуска параллельных процессов | |||
import webbrowser #библиотека для работы с веб | |||
import pyautogui #библиотека для эмуляции нажатий клавиш клавиатуры (перед этим в CMD сделать pip install pyautogui) | |||
BLYNK_AUTH = 'ВАШ_ТОКЕН_Blynk' #вставить токен | |||
blynk = blynklib.Blynk(BLYNK_AUTH) | |||
#функция для запуска отдельным процессом приложений и команд | |||
def startcmd(cmd): | |||
PIPE = subprocess.PIPE | |||
p = subprocess.Popen(cmd, shell = True) | |||
p.poll(); | |||
#---------------------Начало блока функций для виртуальных пинов blynk----------------- | |||
#Пример открытия сайта в браузере | |||
@blynk.handle_event('write V0') | |||
def write_virtual_pin_handler(pin, value): | |||
if str(value) == "['1']": | |||
url = "https://dialogs.yandex.ru/store/" #ссылка на сайт | |||
webbrowser.open(url) | |||
print ('открываю сайт '+url) | |||
#Пример запуска блокнота | |||
@blynk.handle_event('write V1') | |||
def write_virtual_pin_handler(pin, value): | |||
if str(value) == "['1']": | |||
app = "notepad.exe" #путь к приложению. Например "С:\Program Files\AIMP\AIMP.exe" | |||
startcmd(app) | |||
print ('открываю '+app) | |||
#Пример виртуального нажатия горячих клавиш | |||
@blynk.handle_event('write V2') | |||
def write_virtual_pin_handler(pin, value): | |||
if str(value) == "['1']": | |||
pyautogui.hotkey('ctrl','v') #комбинация горячих клавиш | |||
print ('вставляю текст из буфера') | |||
#Пример ввода команд (например выключение ПК) | |||
@blynk.handle_event('write V3') | |||
def write_virtual_pin_handler(pin, value): | |||
if str(value) == "['1']": | |||
comd = "shutdown –s -t 60" #команда для CMD (командная строка Windows) | |||
startcmd(comd) | |||
print ('Выключаю ПК') | |||
#---------------------Конец блока функций для виртуальных пинов blynk----------------- | |||
while True: | |||
blynk.run()</nowiki> | |||
Версия от 14:03, 14 января 2020
Вступление
В данной статье попробуем создать виртуальный пульт, UI для управления действиями ПК. В данном примере рассмотрим такой функционал, как запуск приложений, открытие веб-страниц в браузере, выключение ПК и использование "горячих" клавиш. К слову - это не весь функционал, который можно применить, прочитав данную статью. Для тех, кто знаком с языком программирования Python не составит труда расширить предложенный скрипт по своему вкусу. Пользователям же с начальными знаниями будет несложно использовать перечисленные функции под свои нужды с минимальными трудозатратами.
От слова к делу или устанавливаем Python
Для начала нам потребуется скачать и установить среду разработки Python, т.к. это основной инструмент, который будет управлять компьютером.
Не так страшно иметь Python на своем компьютере. Страшно в 2020 его не иметь)
- Скачать установщик Python по ссылке
- Запустить установщик (предполагается установка Python в PATH, дабы не морочиться с запуском скрипта. Если все же вы решили отказаться от установки в PATH, то команда запуска скрипта будет такой: <Диск>:\<Путь_к_директории_Python>\python.exe <имя скрипта>.py).
- Устанавливаем галочку на "Add Python <версия> to PATH".
- Нажимаем "Install Python" и продолжаем установку соглашаясь со всем, что предложит нам установщик.

По окончании установки можем проверить работоспособность установив нужные нам в будущем библиотеки. Для этого:
- Открываем командную строку (Нажимаем Win+R, вводим cmd, нажимаем Enter)
- Водим поочередно следующие команды:
pip install blynklib - библиотека Blynk для Python
pip install pyautogui - библиотека для работы с горячими клавишами
Регистрируемся и собираем пульт в Blynk
Не буду заострять внимание на регистрации в Blynk, т.к. данный процесс уже описан в статье, конкретно здесь. Единственное, что стоит заметить, что в данном случае вовсе неважно, какое устройство вы выберете при создании проекта, тажке как и неважно какой это будет способ подключения. Нам важен только токен и возможность работы с проектом.
После регистрации добавим в наш проект нужное количество кнопок Button. Можно оформить и подписать их по вкусу.
-
Добавляем кнопки
-
Оформляем
Настраиваем скрипт Python под себя
Загружаем скрипт
Открываем его любым текстовым редактором (мне по вкусу Sublime Text, но вы можете использовать хоть блокнот)))) и видим следующее:
import blynklib #библиотека Blynk (перед этим в CMD сделать pip install blynklib)
import subprocess #библиотека для запуска параллельных процессов
import webbrowser #библиотека для работы с веб
import pyautogui #библиотека для эмуляции нажатий клавиш клавиатуры (перед этим в CMD сделать pip install pyautogui)
BLYNK_AUTH = 'ВАШ_ТОКЕН_Blynk' #вставить токен
blynk = blynklib.Blynk(BLYNK_AUTH)
#функция для запуска отдельным процессом приложений и команд
def startcmd(cmd):
PIPE = subprocess.PIPE
p = subprocess.Popen(cmd, shell = True)
p.poll();
#---------------------Начало блока функций для виртуальных пинов blynk-----------------
#Пример открытия сайта в браузере
@blynk.handle_event('write V0')
def write_virtual_pin_handler(pin, value):
if str(value) == "['1']":
url = "https://dialogs.yandex.ru/store/" #ссылка на сайт
webbrowser.open(url)
print ('открываю сайт '+url)
#Пример запуска блокнота
@blynk.handle_event('write V1')
def write_virtual_pin_handler(pin, value):
if str(value) == "['1']":
app = "notepad.exe" #путь к приложению. Например "С:\Program Files\AIMP\AIMP.exe"
startcmd(app)
print ('открываю '+app)
#Пример виртуального нажатия горячих клавиш
@blynk.handle_event('write V2')
def write_virtual_pin_handler(pin, value):
if str(value) == "['1']":
pyautogui.hotkey('ctrl','v') #комбинация горячих клавиш
print ('вставляю текст из буфера')
#Пример ввода команд (например выключение ПК)
@blynk.handle_event('write V3')
def write_virtual_pin_handler(pin, value):
if str(value) == "['1']":
comd = "shutdown –s -t 60" #команда для CMD (командная строка Windows)
startcmd(comd)
print ('Выключаю ПК')
#---------------------Конец блока функций для виртуальных пинов blynk-----------------
while True:
blynk.run()