2019-05-05 в 8:07, admin , рубрики: flask, ngrok, PC, python, python3, telegram, telegram api, telegram bots, удаленное управление, удаленное управление компьютером
Вступление
Привет!
Недавно хотел установить себе приложение для управления мышью на компьютере, но у меня возникли проблемы при подключении телефона и у меня появилась идея сделать что-то подобное самому, но как? Перебрав несколько вариантов я вспомнил о телеграм ботах которые могут вполне подойти для того чтобы сделать что подобное в текстовом варианте, например ты пишешь боту «/open chrome» и у тебя на компьютере открывается Chrome.
Что нам понадобится?
Писать бота я буду на Python и использовать я буду такие библиотеки: flask, pyngrok, requests, win32com.client, os, subprocess. Далее в статье я расскажу зачем какая библиотека нам понадобится. Еще нам нужен Telegram на телефоне, планшете или даже на другом компьютере. И еще нам понадобится телеграм бот которому мы будет писать, как его создавать можете поискать сами потому что таких статей на Хабре уже хватает!
Как пользоваться NjRAT? Приколы вируса удаленного доступа
Как это все будет работать?
Когда мы будем писать нашему боту то он будет отправлять post-запрос с данными о сообщении и о пользователе который его отправил на наш url адрес, после чего наш python скрипт в зависимости от текста будет выполнять определенные действия такие как запуск приложений, ввод текста или даже выключение компьютера.
Реализация
Для начала создадим наш python файл который я назову main.py импортируем все нужные нам библиотеки(но сначала их нужно установить через pip):
from flask import Flask, request from pyngrok import ngrok import requests import subprocess import os import win32com.client
Теперь для получения запросов от бота нам нужно запустить Flask и после чего запустим Pyngrok для доступа к нашему сайту не только по локальной сети:
app = Flask(__name__) #запуск flask ngrok_url = ngrok.connect(port=5000).replace(‘http’,’https’) #запуск ngrok
Теперь сделаем настройку бота — сделаем чтобы запросы приходили на наш сервер:
token = ‘token вашего бота который вы получите от BotFather’ #token бота URL = ‘https://api.telegram.org/bot’+token+’/’ requests.get(URL+’setWebhook?url=’+ngrok_url) #устанавливаем url для webhook на новый shell = win32com.client.Dispatch(«WScript.Shell») #эта переменная нужна для команды которая будет вводить текст
Создадим функцию чтобы бот мог отвечать на наши сообщения:
И еще нужно добавить несколько строк для того чтобы Flask начал работать:
if __name__==’__main__’: app.run()
Еще несколько слов от автора
Возможно это скрипт не сможет полностью заменить управление компьютером но можно придумать очень много команд от включения музыки и до запуска вашей среды разработки. Всем спасибо за то что читаете это! Если возникли проблемы или есть какие то вопросы пишите в комментариях, а у меня на этом все!
Как удалено (подключиться) ВЗЛОМАТЬ любой компьютер | Полный доступ к чужому компьютеру
Источник: www.pvsm.ru
Управление компьютером с помощью жестов рук и Arduino
Недавно появившиеся на рынке компьютеры и ноутбуки с возможностью управления жестами рук с каждым годом становятся все популярнее. Эта технология позволяет нам управлять определенными функциями на компьютере/ноутбуке просто двигая руками перед ним. Выглядит это потрясающе, но, к сожалению, такие компьютеры пока еще достаточно дорого стоят. Поэтому в данной статье мы рассмотрим собственный (недорогой) проект управления компьютером с помощью жестов рук используя мощь технологий Arduino и Python.
В нашем проекте мы будем использовать два ультразвуковых датчика, с помощью которых будет определяться положение наших рук и на основе этого управляться медиа плеер (VLC). В нашем проекте мы рассмотрим только самые простые основы подобного управления, но, поняв его, вы сможете самостоятельно реализовать более продвинутые проекты управления просто изменяя коды приведенных в данной статье программ.
Прежде чем начинать реализацию данного проекта вам необходимо изучить статью на нашем сайте про взаимодействие Arduino и Python и вам необходимо установить на компьютер Python и библиотеку для него pyserial.
Принцип работы проекта
Концепция нашего проекта достаточно проста. Мы будем размещать два ультразвуковых датчика сверху монитора компьютера, которые будут измерять с помощью Arduino расстояние между нашими руками и монитором компьютера. А затем на основании этого измеренного расстояния мы будем выполнять определенные действия.
Для выполнения этих действия на компьютере мы будем использовать библиотеку Python pyautogui. Команды от платы Arduino в компьютер будут передаваться через последовательный порт (USB). Эти данные будут считываться программой на Python, которая в это время должна быть запущена на компьютере.
Работа схемы
Схема устройства представлена на следующем рисунке.
Как видите, схема нашего проекта достаточно простая – достаточно соединить два ультразвуковых датчика с платой Arduino. Ультразвуковые датчики работают от напряжения 5V, поэтому в нашей схеме их питание осуществляется непосредственно с платы Arduino. Сама плата Arduino запитывается по кабелю USB от компьютера – по этому же кабелю осуществляется и передача данных.
Когда все соединения в схеме сделаны разместите получившуюся конструкцию на компьютере/ноутбуке как показано на рисунке ниже. Мы для крепления этих элементов использовали двухсторонний скотч, но вы можете сделать это так, как вам будет удобно. После этого можно приступать непосредственно к программированию.
Программирование платы Arduino
Основная цель платы Arduino в этом проекте – это измерять расстояние с помощью ультразвуковых датчиков. Полный код программы приведен в конце статьи, здесь же обсудим его наиболее важные фрагменты.
При помощи определения расстояний до руки мы можем запрограммировать несколько действий для нашего проекта. Мы запрограммировали 5 действий, но вы при желании можете увеличить их количество.
Действие 1. Когда обе руки размещены на определенном (достаточно далеком) расстоянии перед датчиками плеер VLC должен выполнять функцию Play/Pause.
Действие 2. Когда правая рука размещена на определенном (достаточно далеком) расстоянии перед датчиком видео должно перематываться вперед (Fast Forward) на один шаг.
Действие 3. Когда левая рука размещена на определенном (достаточно далеком) расстоянии перед датчиком видео должно перематываться назад (Rewind) на один шаг.
Действие 4. Когда правая рука размещена на определенном (достаточно близком) расстоянии перед датчиком и если она двигается по направлению к датчику то видео должно перематываться вперед, а если она удаляется от датчика, то видео должно перематываться назад.
Действие 5. Когда левая рука размещена на определенном (достаточно близком) расстоянии перед датчиком и если она двигается по направлению к датчику, то громкость звука в видео должна увеличиваться, а если она удаляется от датчика, то громкость звука в видео должна уменьшаться.
Теперь давайте рассмотрим как это все можно запрограммировать. Сначала мы должны инициализировать и задать режимы работы для необходимых контактов ввода/вывода. Два ультразвуковых датчика подключены к цифровым контактам платы Arduino 2, 3, 4 и 5 и запитаны от контакта +5V платы. Последовательную связь между платой Arduino и языком программирования Python будем осуществлять на скорости 9600 бод/с.
Источник: microkontroller.ru
Управление Ардуино с клавиатуры
Остальные исполнительные устройства для Arduino UNO вы можете взять на свое усмотрение и самостоятельно попробовать управлять ими через компьютер с помощью USB кабеля. Соберите на макетной плате схему с одним светодиодом из первого занятия Что такое Ардуино и как им пользоваться, а после сборки схемы со светодиодом загрузите следующий скетч в микроконтроллер.
Скетч. Взаимодействие Ардуино и компьютера
int val; // освобождаем память в контроллере для переменой void setup() < Serial.begin(9600); // подключаем последовательный порт pinMode(13, OUTPUT); // объявляем пин 13 как выход > void loop() < // проверяем, поступают ли какие-то команды if (Serial.available()) < val = Serial.read(); // переменная val равна полученной команде if (val == ‘1’) digitalWrite(13, HIGH);> // при 1 включаем светодиод if (val == ‘0’) digitalWrite(13, LOW);> // при 0 выключаем светодиод > >
Пояснения к коду:
- функция Serial.available() проверяет поступление команд с компьютера;
- функция Serial.read() читает данные, поступившие в Serial monitor.
- в условном операторе if (val == ‘1’) стоит знак двойное равенство «соответствие», а в скобках необходимо использовать одинарные кавычки.
После сборки схемы загрузите следующий скетч в плату
Скетч. Управление сервоприводом с компьютера
#include Servo.h> // подключаем библиотеку для сервопривода Servo servo; // объявляем переменную servo типа «servo» int val; // освобождаем память в контроллере для переменой void setup() < Serial.begin(9600); // подключаем последовательный порт servo.attach(11); // привязываем сервопривод к выходу 11 > void loop() < // проверяем, поступают ли какие-то команды if (Serial.available()) < val = Serial.read(); // переменная val равна полученной команде if (val == ‘1’) < servo.write(10); > // при 1 поворачиваем серво на 10 if (val == ‘2’) < servo.write(45); > // при 2 поворачиваем серво на 45 if (val == ‘3’) < servo.write(90); > // при 3 поворачиваем серво на 90 > >
Пояснения к коду:
- в некоторых примерах программ можно встретить такой вариант проверки появления данных в Serial monitor if (Serial.available()>0) .
- в качестве команд можно использовать не только цифры, но и буквы. При этом имеет значение какая буква — прописная или строчная.
(49 оценок, среднее: 4,84 из 5)
Источник: xn--18-6kcdusowgbt1a4b.xn--p1ai