- Управление компьютером с телефона Android: твой ПК на экране смартфона!
- На что обратить внимание при выборе программы?
- #1 Unified Remote
- #2 TeamViewer
- #3 Удалённый рабочий стол Chrome (Chrome Remote Desktop)
- #4 Monect PC Remote
- Как управлять телефоном через компьютер?
- Управляем компьютером с Android устройства
- Начало
- Что мы имеем
- Немного о сокетах
- Сервер. Начинаем хулиганить
- Клиент
Управление компьютером с телефона Android: твой ПК на экране смартфона!
На вопрос, как управлять компьютером через телефон, поисковые системы выдают пару десятков программ и расширений. Как выбрать и установить программы, чем они отличаются, на какие особенности обратить внимание — обо всём это мы подробно расскажем в этой статье. Также, в качестве дополнительного бонуса будет рассказано о программах для управления смартфоном с компьютера.
На что обратить внимание при выборе программы?
Принцип работы прост: как на компьютер, так и на смартфон, устанавливаются соответствующие версии программы, для синхронизации используют IP-адрес, одноразовый код, пин-код или учётную запись на сайте разработчика. Поэтому стоит убедиться, что софт совместим с операционными системами и компьютера, и телефона.
Чтобы управлять ПК со смартфона, используют беспроводные технологии:
- WiFi (реже мобильный интернет);
- Bluetooth;
- инфракрасный канал (редко).
Часто используется комбинированный метод: компьютер подключен к проводному интернету, а смартфон — к беспроводному: можно использовать как WiFi, так и мобильный интернет. Поэтому перед тем, как устанавливать программу надо решить, каким способом пользователь планирует управлять смартфоном.
Важно: в большинстве программ бесплатные версии поддерживают только соединение внутри домашней сети, то есть через мобильный интернет управлять ПК не получится.
Однако, как правило, пользователей интересует управление компьютером с телефона Android через WiFi, поэтому большинство софта из нашей подборки поддерживают эти возможности. Но есть утилиты и с более широким функционалом.
#1 Unified Remote
Преимущество этого ПО — внушительный список поддерживаемых операционных систем. На ПК:
- Windows;
- Linux;
- Mac OS X;
- Arduino Yún (MIPS);
- Raspberry Pi (ARMv6).
Также разработаны клиенты для смартфонов Android, iOS и Windows Phone. Если добавить, что пользователь может выбирать, как управлять — через WiFi или Bluetooth, то неудивительно, что Unified Remote пользуется такой популярностью.
Программа имеет платную и бесплатную версии. Используя бесплатную версию, пользователь сможет управлять курсором и получит доступ к экранной клавиатуре, а также работать с мультимедийными приложениями и презентациями. В платном варианте открыт доступ к управлению браузерами, добавлены жесты и повышен уровень безопасности.
Чтобы воспользоваться бесплатной версией, потребуется сначала установить на компьютер сервер-клиент:
- Открыть официальный сайт по ссылке https://www.unifiedremote.com/download и выбрать «Скачать последнюю версию».
- Следуя подсказкам, установить Unified Remote.
- После установки сервер-клиента появится иконка на панели задач.
Чтобы управлять компьютером (ПК) с телефона Android через WiFi, надо дополнительно установить клиент на смартфон, его можно найти в Play Маркет.
После установки мобильного приложения надо:
- Открыть Unified Remote.
- Нажать на три полоски в верхнем углу.
- Выбрать «Servers».
- Нажать плюсик. Ввести любое имя и IP-адрес своего ПК, для WiFi соединения в домашней сети остальные настройки оставить по умолчанию.
Клиент Unified Remote для iPhone можно скачать в AppStore, а для Windows Phone — в Microsoft Store, настраиваются приложения так же, как и для Андроид.
#2 TeamViewer
Ещё одна популярная и доступная программа для управления компьютером (ПК) с телефона — TeamViewer. Чтобы установить бесплатную версию клиент-сервера на ПК, потребуется:
- Скачать установочник с официального сайта https://www.teamviewer.com/ru/.
- Открыть и посмотреть свой ID и пароль — они понадобятся для настройки приложения в смартфоне.
Следующий шаг — установить мобильное приложение:
- Скачать TeamViewer можно с официальных магазинов приложений (таких как AppStore, Play Маркет и т.д.).
- После установки надо открыть приложение.
- Чтобы управлять удалённым рабочим столом, потребуется ввести ID и пароль, указанные в клиент-сервере.
Вопрос, как управлять ноутбуком с телефона через WiFi, удобно решать именно с помощью TeamViewer. В пользу этого решения говорит небольшой размер программы, очень простое меню и быстрое подключение.
Управлять можно компьютерами с операционными системами:
- Windows (а также ОС для планшетов RT Windows);
- Linux;
- Mac OS X;
- Chrome OS.
Поддерживаемые мобильные ОС: Android, iOS, BlackBerry и Windows Phone 8.
Платная версия откроет доступ к печати документов, видео-презентациям и увеличит количество одновременных подключений. Бесплатный набор стандартен: курсор, клавиатура, управление мультимедиа и системными настройками ПК.
#3 Удалённый рабочий стол Chrome (Chrome Remote Desktop)
Если пользователь заинтересован в быстрой поддержке, безопасности и регулярных обновлениях, но при этом не готов оплачивать софт, то Chrome Remote Desktop — оптимальное решение, чтобы управлять ПК. Для работы потребуется аккаунт Google.
Чтобы удалённо управлять ПК пользователю потребуется установить как серверную часть (расширение для браузера Chrome), так и мобильное приложение. Для этого потребуется:
- На ПК установить браузер Chrome, если его ещё нет.
- Открыть в Chrome магазин расширений: открыть ссылку chrome://apps/ и выбрать «Интернет-магазин», затем с помощью поисковой строки найти и установить такое расширение, как «Удаленный рабочий стол Chrome».
- После установки надо снова открыть ссылку chrome://apps и выбрать «Удаленный рабочий стол».
- Если пользователь не авторизован в аккаунте Google, то потребуется или авторизоваться, или зарегистрироваться.
- В появившемся окне надо в разделе «Мои компьютеры» выбрать «Начало работы».
- Дать разрешения на удалённые подключения.
- Начнется скачивание удалённого хоста, его надо будет установить.
- Сервис попросит придумать и повторить пин-код, он пригодится, чтобы получить возможность удалённо управлять компьютером.
Следующий этап — настройка телефона. Так как в мобильном браузере расширения не устанавливаются, то потребуется сделать следующее:
- Скачать на телефон мобильное приложение «Удаленный рабочий стол Chrome» — оно доступно в AppStore и Play Маркет.
- После скачивания надо его открыть и авторизоваться под тем же аккаунтом Google, что и в браузере на ПК.
- Выбрать в списке нужный ПК и нажать на него.
- Ввести пин-код, который был придуман для хоста.
Если следовать этой инструкции, то управление ноутбуком с телефона Android или iPhone станет доступно сразу после ввода пин-кода.
Возможности Chrome Remote Desktop немаленькие — курсор, клавиатура, доступ к файловой системе и управлению большинством программ, установленных на ПК. И всё это бесплатно.
#4 Monect PC Remote
Этот софт не так известен, однако он даёт возможность как управлять рабочим столом с телефона, так и использовать телефон в качестве джойстика в играх на ПК. Также среди прочего функционала доступно управление звуком на компьютере с телефона, доступ к файловой системе и быстрый обмен мультимедиа.
Настроить эту программу нетрудно:
- Скачать клиент на компьютер (Windows XP и старше) можно с официального сайта https://www.monect.com/.
- Установить и дождаться пока программа найдет и установит нужные драйвера.
- На Андроид телефон приложение скачивается с Play Маркет. В официальных интернет-магазинах есть приложения и для iOS, а также для Windows Phone.
- Надо включить как мобильное приложение, так и клиент на компьютере.
- Выбрать тип соединения WiFi или Bluetooth.
- Если всё правильно сделано, то в мобильном приложении появится меню с выбором, как использовать телефон — в качестве мышки, клавиатуры или геймпада.
Тут нет никаких пин-кодов и IP-адресов, это облегчает подключение, но и снижает безопасность.
Как управлять телефоном через компьютер?
Надо заметить, что можно не только управлять компьютером, используя телефон, есть программы и для обратной функции. Под управлением подразумевается как доступ к файлам с телефона, так и настройка, а также написание смс.
Понятная и функциональная программа, а потому очень популярная. Клиенты на компьютер и телефон можно скачать с официального сайта https://www.airdroid.com/ru/, поддерживается как Android, так и iOS.
Чтобы появилась возможность управлять телефоном, надо:
- Запустить установленные программы и на компьютере, и на телефоне. Они должны находиться в одной домашней сети (WiFi и/или проводное соединение).
- В мобильном приложении будет показан адрес — его надо ввести на ПК полностью (с портом).
С помощью этого софта можно управлять файловой системой, установленными приложениями, отправлять смс и настраивать мелодию звонка.
#2 Расширение Vysor для браузера Chrome
Это не очень обычное решение — пользователь сможет на экране компьютера с помощью мышки и клавиатуры управлять своим телефоном, однако для этого софта требуется подключить смартфон к компьютеру с помощью USB.
Настройка достаточно проста:
- Надо на ПК скачать расширение Chrome через онлайн-магазин, а на телефон — мобильное приложение.
- Установить и запустить эти приложения.
- Включить «Отладка по USB» на смартфоне.
- Затем с помощью USB подключиться к ПК.
- На компьютере выбрать свой смартфон. Отладка требуется только при первом подключении.
После настройки пользователь сможет управлять приложениями, системными настройками и файловой системой телефона. Платная версия позволяет работать в полноэкранном режиме, также недавно появилась функция беспроводного подключения.
Надо заметить, что не все устройства распознаются этим расширением.
Кстати, сейчас все более популярным становится подключение телефона к компьютеру через WiFi. Согласитесь ведь намного удобнее, когда провода Вам не мешают?
#3 Device Manager
Этот софт установлен по умолчанию на многих устройствах Андроид, его также можно скачать из Play Маркет. Функционал минимален — можно позвонить на телефон, заблокировать его в случае кражи или полностью очистить от личных данных.
Чтобы управлять удалённо, требуется авторизация в аккаунте Google как на ПК, так и на смартфоне. Ничего устанавливать дополнительно не потребуется, достаточно просто в браузере открыть www.google.com/android/devicemanager и выбрать устройство, привязанное к аккаунту.
Таким образом, управлять можно как компьютером, так и телефоном, в большинстве случаев требуется установка специальных программ. При этом даже среди бесплатного софта есть немало интересных и функциональных решений.
Источник
Управляем компьютером с Android устройства
Начало
А началось все с того, что вызывает меня генеральный к себе, и говорит: «Вот видишь телефон? Хочу чтобы там была кнопка, я на нее нажимаю, и у меня в ноутбуке кино включается. Нажимаю другую – музыка играет.» И еще чего-то много наговорил, уж не помню. «Задача понятна? Выполняй!» Вот уж не знаю, с чего такая потребность у него возникла. То ли звезды не под тем углом встали, то ли сон какой приснился. Короче, не поймешь этих богатых… Ну да ладно.
Поначалу полез рыться в Гугл в поисках подходящей программы, а потом подумал – а какого черта? Напишу сам. Тем более, что задача не показалась сложной, да и “зов кода” уже давал о себе знать (этакая профессиональная it-ломка). Вот и решил соединить Windows и Android собственными силами.
То, что он просил, я сделал за пару дней. Но здесь я не хочу городить много кода, проверок и обработок исключений и т.п. Статья скорее предназначена для самых маленьких, как основа, опираясь на которую, можно построить что-то более масштабное. Ни в коем случае не претендую на оригинальность, явно кто-то что-то подобное писал, я просто предлагаю свой вариант. В общем, всем, кому интересно, посвящается.
Что мы имеем
Значит так. С одной стороны, у нас телефон с Android на борту, с другой — Windows с установленными программами, притом некоторые из этих программ нам надо запускать, подав команду с телефона.
Телефон и компьютер свяжем через локальную сеть, тут без вариантов (ну не смски же посылать). Таким образом, будем писать две программы. Первая — это сервер, работающий на компьютере, задача этой программы — открыть и слушать порт. Если на этот порт падает что-то полезное, то выполнить заданное нами действие. Вторая программа — это клиент, запущенный на телефоне, ее задача обработать действия пользователя, подключиться к серверу и передать информацию.
Немного о сокетах
Тема программирование сокетов до того уже заезженная, что и особо говорить нечего. Но все же в двух словах, для тех, кто не любит ходить по ссылкам.
Сокет — это программный интерфейс, который позволяет устанавливать связь между двумя процессами, используя протокол tcp/ip. Сокет ассоциирован с двумя аспектами: ip-адресом и портом. Где ip-адрес — это адрес хоста (компьютера) в сети, с ним работает протокол IP. Port — это идентификатор приложения, к которому адресовано соединение, тут работает протокол TCP. Порт может быть как TCP, так и UDP, в этой статье я буду использовать только TCP. Поскольку ip-адрес является уникальным как в сети интернет, так и в локальной сети, то он однозначно определяет адрес отправителя и адрес принимающего. Порт же является уникальным в пределах операционной системы, он определяет приложение, с которым мы хотим взаимодействовать. Порты могут быть стандартными, например, 80 закреплен за HTTP, или 3389 — RDP. Вы можете использовать любой незанятый порт, но стандартные лучше не трогать. Очень хорошо и с примерами о сокетах написано здесь.
Сервер. Начинаем хулиганить
Запускать Aimp, Windows Media Player и т.п. даже с телефона — это не интересно, да и на базе этой статьи вы сможете все это легко реализовать, немного переделав код. Давайте лучше побезобразничаем. Будим крутить-вертеть экран монитора как нам вздумается или выводит неожиданные сообщения (этакий однонаправленный ацкий мессенджер), и самое ужасное — выключим компьютер! Правда, за это могут и на вилы надеть. Ну да ладно, пускай сначала поймают.
Итак, приступим. В Visual Studio создаем новое Windows Form приложением с именем, скажем, FunnyJoke. Открываем файл Program.cs и удаляем весь код в теле функции Main. Этот код инициализирует главную форму приложения, нашему серверу никакие окна не нужны, он должен сидеть тихо мирно и ждать команд.
В классе Program определим следующие переменные:
Я взял порт 10000, именно его и будет слушать наш сервер, вместо ip адреса задал 0.0.0.0 это говорит о том, что будут обрабатываться все доступные сетевые интерфейсы. Это не совсем правильно, но для начала сойдет. Далее я определил три константы, которые задают коды команд, приходящие от клиента. В начале проекта не забываем подключить:
Теперь, вместо удаленного кода в функции Main вставляем следующий:
Пример хорошо комментирован. Но все же поясню. Сначала создаем локальную конечную точку и ассоциируем ее с нашим ip адресом и портом. Затем, определяем основной сокет, связываем его с конечной точкой, и переводим в режим прослушивания. После этого входим в бесконечный цикл, и начиная со строки:
наш сервер переходит в состояние ожидания соединения. При удачном соединении создастся новый экземпляр Socket, посредствам которого мы и будем общаться с нашим клиентом. После того как соединение установлено начинаем читать данные:
Команды клиента закодированы однобайтовым кодом (описаны в начале программы), сервер расшифровав код команды начинает ее выполнять, после этого снова переходит в режим ожидания. Исключением является codeMsg, т.к. после нее ожидается набор байт, содержащий строку сообщения. Поэтому, получив эту команду сервер снова читает данные с сокета:
Строка, приходящая от клиента, имеет кодировку символов UTF-8, поэтому прежде чем показать ее несчастному пользователю, необходимо привести ее к стандартному виду.
Что бы упростить программу, и не создавать лишние диалоги я использовал стандартный класс MessageBox, но у таков подхода есть один недостаток. MessageBox создает модальное окно, которое блокирует поток всего приложения. Другими словами, пока открыто окно с сообщением наш сервер ничего не делает. Минус конечно, но за простоту надо платить.
Процедуру, изменения ориентации экрана, расписывать не буду, ее код я выполнил так как рекомендует Microsoft вот тут. Как повернуть экран средствами .NET я не нашел. Это легко осуществимо для мобильных платформ, а вот для обычного PC оказалась неразрешимая проблема. Но, на помощь пришел старый добрый WINAPI и все разрулил.
Выключаем компьютер штатными средствами Windows, путем вызова команды shutdown с соответствующими флагами.
С сервером, пожалуй, все. Исходный код проекта я прикреплю в конце статьи.
Клиент
Клиент будем писать в Android Studio, поскольку мне эта IDE больше нравится чем Eclipse. Любителям последнего думаю не составит больших трудностей переделать проект. Для отладки я использовал VirtualBox с установленной виртуальной машиной Android, ибо родной эмулятор жутко тормозной, и жизни не хватить что бы с его помощью что-то отладить. Ну и периодически проверял на «живом» телефоне. Итак, создаем проект с именем FunnyJoke, задаем минимальную версию API, которую способен утянуть ваш телефон (у меня 16) и выбираем Empty Activity. Все остальное по умолчанию. Делаем разметку представления. С дизайном я шибко не извращался, кому надо пускай рисует красивые кнопки, размещает их по фен Шую и т.п. Я сделал просто: два поля типа EditText, первое для ввода ip адреса контролируемого компьютера, второе для текста сообщения, и кнопка, которая заставит поворачиваться рабочий стол. А вот кнопку завершения работы я сделал большую и угрожающее красную. Это чтоб случайно не нажать.
Тут стоит обратить внимание на поле edIPaddress, в нем стоит фильтрация на ввод только цифр и. (точка), так-как поле предназначено для ввода ip адреса. Надо сказать, что это единственная проверка на правильность введенных данных, все остальное остается на совести пользователя. Еще хочу cказать о кнопке btnPowerOff ее состояние отслеживает селектор, и в зависимости от того нажата она или нет меняет изображение (иначе, не понятно произошло ли нажатие, кнопка будет выглядеть как статичная картинка). Вот код селектора button_img.xml:
Соответственно в ресурсах должны быть две картинки одна для нажатого состояния, другая для обычного. Получится вот такой экран:
На этом с разметкой закончим. Переходим к файлу MainActivity.java. В первую очередь, так же, как и в сервере, определяем коды команд и некоторые переменные:
Далее переходим к обработчику нажатия кнопок. Обратите внимание, что обработчик один, и какая копка была нажата определяем по идентификатору. В первую очередь получаем строку с поля edIPaddress, если поле не заполнено, то выводим сообщение о необходимости ввода ip адреса, и больше ничего не делаем.
В Android не рекомендуется создавать долгоиграющие процессы в основном потоке, это связанно с тем, что возможно “подвисание” программы, и пользователь или система может просто закрыть приложение, не дождавшись ответа. К таким долгоиграющим процессам относится и работа с сетью. В этом случае необходимо создать дополнительный поток, в котором и выполнять “долгий” код. В java есть стандартный класс Thread, который позволяет управлять потоками но, его мы использовать не будем, т.к. в Android существует специально предназначенный для этого класс AsyncTask. Подробно можно почитать здесь или здесь.
Создаем класс, который будет заниматься отправкой сообщения, его родителем делаем AsyncTask, и переопределяем метод doInBackground в теле которого и будет находится основной код:
Сначала создаем экземпляр класса InetAddress, который будет содержать в себе ip сервера. Потом создаем сокет, связываем его с удаленным адресом и портом, и запрашиваем стандартный поток ввода/вывода (вернее только вывода, потому что наш клиент ничего не получает). И наконец, в зависимости от значения переменной codeCommand, посылаем сообщение серверу.
Теперь вернемся к нашему обработчику нажатия кнопок, создадим экземпляр класса SenderThread, затем в зависимости от того какая кнопка была нажата инициализируем переменную codeCommand, по ней наш поток будет определять что мы от него хотим. И наконец, активируем, вызвав метод execute().
Немного поправим манифест приложения, дадим разрешение на использование сети и wi-fi, без этого ничего работать не будет:
Все! Можно собирать и проверять. Вот результат:
Источник