- Как я делал управление компьютером с телефона
- Постановка задачи
- Flutter
- Go cервер
- Развертывание
- Заключение
- 8 приложений для управления компьютером со смартфона
- Chrome Remote Desktop
- Microsoft Remote Desktop
- TeamViewer – Удаленный доступ
- Unified Remote
- WiFi Mouse HD
- Splashtop 2 Remote Desktop
- KiwiMote
- AccessToGo RDP
Как я делал управление компьютером с телефона
Так получилось, что я оказался свободным от работы. С другой стороны, сидеть без дела не привык, а попробовать что-то новое давно хотелось.
Долго думать не пришлось, так как давно слежу за развитием Flutter. Мобильной разработкой не занимался до этого вообще, поэтому было вдвойне интересно проверить себя — не совсем ли я закостенел как разработчик. Ну и понятно, что статья рассчитана на таких же «чайников» как я. Здесь не будет примеров и разбора конкретного кода, это скорее описание общих впечатлений.
Так как для меня лучший способ изучить язык или новую технологию, это создать пусть небольшое, но законченное приложение, то начал с постановки задачи.
Постановка задачи
Я давно хотел иметь приложение на телефоне, которое бы запускало что-то на компьютере. Этакий пульт управления, когда не нужно переключаться между программами, двигать мышкой в поисках меню и производить прочие действия. Мне дополнительный экран с кнопками точно не помешал бы.
Сразу понятно, что одним телефоном не обойтись, нужно сделать приложение-сервер для компьютера. Так как делаю для себя, то можно использовать тестовый файл со списком запускаемых команд, которые будут отображаться на телефоне в виде кнопок. Здесь с языком разработки раздумий не было, так как последнее время писал на Go и он очень хорошо подходит для данной задачи.
Итак, на телефоне имеем две страницы — логин и список кнопок. На компьютере — простейший веб-сервер, который загружает кнопки при старте, по-одному запросу отдает список, а по-другому выполняет нужную команду. Для простоты можно сделать одно допущение — телефон по wi-fi должен быть подключен к той же сети, что и компьютер.
Ну и конечно, всё должно быть open source (ссылки в конце), чтобы заинтересовавшимся лицам было что покритиковать.
Flutter
Так как серверная часть не представляла никаких сложностей, то решил начать с Flutter. Если будут трудности, то и на Go ничего писать не придется. Установка Flutter прошла без сюрпризов, правда пришлось еще установить Android Studio. Так как я использую Visual Code, то также установил туда дополнительные расширения. При создании проекта, Flutter создает не пустой проект, а программу уровня Hello, world, которую при желании можно сразу и запускать. Вопрос в том, как её смотреть. Я попробовал три пути
- Создать эмулятор в Android Studio. Если компьютер не мощный, то плюс только один — можно выбрать нужную модель телефона. На моем i5 c 8 GB памяти и ssd, работа с эмулятором приносила мне одни душевные муки. Поэтому я начал искать альтернативы.
- Chrome. Так как Flutter может компилировать программу в js и html, то решил воспользоваться этим вариантом. Для этого правда мне пришлось переключится со стабильной ветки на master (в stable нет поддержки web), но запуск стал проходить гораздо быстрее. Минус заключается в том, что не работают некоторые мобильные возможности и сам внешний вид слегка отличается, например, шрифтами, но для черновой работой над приложением вполне подходит.
- Собственный телефон. Отличный метод — достаточно включить на телефоне режим разработчика и подключить мобильник к компьютеру. Плюсы — отсутствие тормозов и «физическая» работа с приложением, минусы — постоянный режим зарядки телефона.
Как известно, Flutter использует язык программирования Dart. Не скажу, что это выдающийся язык, но в Google видимо решили, что не пропадать же добру и дали ему второй шанс. Времени учить его не было, поэтому я его и не учил. Я просто придерживался следующего принципа, если в примере, фрагмент которого хочу использовать, что-то не понятно, то это нужно понять. Вроде и язык специально не учишь, а общая картина складывается. По крайней мере, чем отличается final от const, и что такое a ?? b, я теперь знаю.
Во Flutter есть так называемое горячее обновление (hot reload), при запущенном приложении нажатие r — обновляет текущее состояние, R — запускает приложение заново. Вещь отличная, но с ней у меня произошёл единственный серьезный ступор. При обновлении текущего состояния,
не обновляются данные, это может не совсем корректно сказано, но вывод следующий, если что-то идет не так, то лучше перезапустить приложение, чем ломать голову над причиной. Это открытие стоило мне немало минут.
При запуске на телефоне как debug, так и release версии, flutter устанавливает на него apk файлы. То есть можно запустить один раз какой-то пример, а потом, по мере надобности, запускать его на телефоне, не открывая соответствующий проект.
С интерфейсной частью заморачиваться не стал. Была идея дать возможность группировать кнопки и добавить переключение между группами, но решил, что для первой версии достаточно более простого функционала… В общем, получилось следующее.
Релиз собирал в соответствии с официальной документацией. Единственно, о чем могли бы сразу предупредить, это о смене имени пакета com.example.*, так как Play Store отказывается принимать пакеты с такими именами.
Go cервер
Про десктопную часть рассказать даже нечего. Подключил пакет для работы с YAML форматом, пакет для логирования и даже не стал возиться с web-сервером, а взял готовый веб-фреймворк. Так как проект создан скорее для персонального использования, а Gо с GUI интерфейсами дела обстоят не очень, то решил ограничится определением всех кнопок в файле конфигурации. Обязательное поле для кнопки только одно — это имя запускаемого приложения. Кроме этого, конечно, можно ещё определить параметры командной строки, иконку, заголовок и т.д.
Пока писал эту статью, то понял, что вопрос с безопасностью проработан не до конца, но по крайней мере есть привязка по паролю и/или уникальному идентификатору устройства. Для локальной сети, по-моему, достаточно, а вот для управления удаленным сервером использовать поделку в том виде как сейчас, я бы не рискнул.
Развертывание
Когда разработка закончена и всё работает примерно вот так, наступает следующий шаг — публикация в PlayStore.
Были опасения, что приложение может быть отклонено, но попробовать разместиться всё равно стоило. Самым простым шагом оказалась регистрация и оплата вступительного взноса. Всё остальное требовало определенного мыслительного процесса, но ничего сверхсложного не было. Как правило инструкций и подсказок вполне хватало. В начале, сделал тестовую версию, через день перевёл её публичную, и ещё через день она была одобрена.
Заключение
Flutter не требует глубокого изучения для создания простейшего приложения. Документация достаточно обширна и всегда можно найти готовые примеры и статьи в интернете. Желание работать с Flutter осталось, если возникнет новая идея, то буду изучать его дальше.
Создание документации, выпуск релиза и размещение в Play Store, а также написание этой статьи потребовали сопоставимое с разработкой время.
Источник
8 приложений для управления компьютером со смартфона
Chrome Remote Desktop
Chrome Remote Desktop – один из самых простых вариантов управления компьютером с телефона. Его преимущества заключаются в том, что для работы на большинство ПК даже не придется ничего устанавливать – у многих пользователей уже и так стоит браузер Chrome. Кроме того, для приложения не имеет значения платформа – это приложение будет работать при наличии любого телефона и компьютера с Windows, macOS и даже Unix-подобной системой. Среди других заметных преимуществ – полностью бесплатное распространение и отсутствие необходимости в дополнительной установке серверного ПО.
В то же время функциональность приложения сравнительно небольшая. Все, что может сделать пользователь – выполнение действий в браузере Chrome. И все, что может сделать пользователь – заниматься интернет-серфингом, читать книги, запускать аудио и видео в режиме онлайн. Доступ к файлам на компьютере отсутствует. Зато благодаря такому приложению, можно просматривать данные сразу на нескольких ПК, синхронизированных с телефоном с помощью профиля Google.
Microsoft Remote Desktop
Еще одно приложение, обеспечивающее управление компьютером с телефона, создано компанией Microsoft. Поэтому вполне логично, что работает оно только с компьютерами на ОС Windows. Зато его работа основана на использовании RDP-подключения, не требующего никакой оплаты. Правда, из-за такого способа синхронизации настройка становится сложнее, и пользователю приходится выполнять следующие действия:
- Перейти к системным настройкам компьютера, открыв панель управления, найти каталог «Система», а затем – «Настройка удаленного доступа».
- Разрешить подключение к удаленному рабочему столу.
- Создать новое подключение в приложении на смартфоне, указав IP-адрес компьютера (если он не известен, следует открыть командную строку и ввести команду ipconfig).
- Ввести на смартфоне логин и пароль учетной записи на ПК с Windows.
После синхронизации с телефоном компьютер блокируется, а его рабочий стол отображается на устройстве с Андроид или iOS – примечательно, что приложение есть не только в Play Market, но и в App Store. При необходимости изменения масштаба следует нажимать на специальную кнопку. А после перехода к режиму Mouse Pointer можно имитировать действия компьютерной мыши нажатиями на сенсорный экран смартфона. Виртуальная клавиатура утилиты отличается от стандартной телефонной версии – здесь есть специальные клавиши для работы с ОС Windows.
Среди минусов Microsoft Remote Desktop – отсутствие мультиплатформенности и сравнительно невысокая скорость подключения. Например, через приложение можно запускать видео максимум в разрешении HD.
TeamViewer – Удаленный доступ
Приложение Team Viewer – не только популярное, но и практически самое функциональное среди всех похожих утилит. Работать оно может на разных операционных системах и имеет неплохой рейтинг. Однако перед использованием понадобится довольно сложная настройка и инициализация. Не исключено, что не слишком опытному пользователю придется воспользоваться для работы с приложением инструкцией или посторонней помощью.
Среди плюсов этого ПО – поддержка передачи аудио и видеороликов с высоким разрешением, возможность отправки и получения файлов с любыми расширениями в любом направлении. Еще одна особенность – чат в реальном времени для общения пользователя смартфона с тем человеком, который работает за компьютером.
Соединение зашифровано с помощью кодировки AES (256 бит), что делает передачу данных достаточно безопасной. Благодаря этой особенности Team Viewer применяется не только отдельными пользователями, но и крупными компаниями – например, Philips или Microsoft. Впрочем, у приложения есть и минус – для его использования придется платить. Стоимость лицензии на программу зависит от числа подключенных компьютеров и выбранного пакета и стартует с 15600 рублей в год за бизнес-версию.
Unified Remote
Специализированное ПО для компьютеров и смартфонов на iOS и Android включает серверный агент и мобильное приложение. Первая часть устанавливается на ПК, вторая – на телефон. Возможностей приложения достаточно для запуска видео и музыки, которые автоматически останавливаются на время поступления вызова. А еще такое программное обеспечение поможет управлять включением ПК и его громкостью, выполняя задачи пульта управления.
Для работы с утилитой на компьютере должен быть установлен NET Framework версии 4 и выше. Зато последние версии поддерживают не только Windows, но и другие операционные системы. У бесплатной версии возможностей меньше, для получения доступа ко всем функциям пользователю придется заплатить 339 рублей за версию Full (для Android) или $3,99 для iPhone.
WiFi Mouse HD
Это достаточно функциональное и бесплатное приложение для удаленного управления ПК со смартфона. Правда, разработчик предлагает и расширенную версию с большим количеством функций – за нее придется заплатить около $2. Соединение смартфона и компьютера выполняется с помощью беспроводной сети после установки на первом устройстве приложения, а на втором – сервера.
В списке функций, которые есть у WiFi Mouse HD:
- имитация клавиатуры компьютера на экране телефона;
- выполнение задач беспроводной мыши, включая управление жестами;
- управление презентациями, медиа-плеером, браузерами, «Проводником» и выключением ПК.
Утилита совместима с телефонами на iOS и Андроид, а также с ПК с любой современной платформой – от Windows и macOS до Ubuntu. Но есть и минус – для использования телефон и компьютер должны находиться в одной сети.
Splashtop 2 Remote Desktop
Еще одно популярное ПО, которым можно пользоваться бесплатно. Правда, обычная версия обеспечивает синхронизацию только между ПК и смартфоном, которые находятся в одной сети. Для удаленного управления по интернету понадобится покупка полной версии Splashtop 2 Remote Desktop – ее стоимость составляет $2 в месяц и $17 в год.
Среди особенностей программы – необходимость создания учетной записи в сервисе Splashtop. Для этого придется установить на ПК утилиту Splashtop Streamer и зарегистрироваться в ней. После подключения на экране смартфона появятся подсказки по поводу управления жестами и использования панели управления.
По умолчанию действия выполняются прикосновениями к нужной точке экрана, имитирующими клики левой кнопки мыши. Но есть возможность переключиться в режим тачпада, управляя ПК так же, как с помощью сенсорной панели ноутбука.
KiwiMote
В отличие от большинства приложений для управления компьютером с телефона, этим можно пользоваться совершенно бесплатно. Нет никаких дополнительных и имеющих расширенную функциональность версий. Правда, и работать с ПО могут только владельцы смартфонов на Android.
Среди причин для выбора именно этой программы стоит выделить:
- совместимость с ПК практически с любой ОС – Windows, macOS или Linux;
- клавиатура в приложении, полностью совпадающая с компьютерной;
- возможность использования телефона в качестве мыши или игрового манипулятора;
- простая настройка (хотя для работы понадобится загрузка с официального сайта разработчиков) и использование;
- управление презентациями, плеерами, читалками, программами для просмотра фото;
- стабильная, благодаря использованию Java, работа.
Раскладка клавиатуры может настраиваться пользователем так, как ему удобно. При желании можно выбрать фон, цвета символов и границы. Кнопки регулировки громкости телефона могут применяться для прокрутки информации на экране, обновления страницы или смены слайдов.
AccessToGo RDP
При использовании программного обеспечения AccessToGo RDP можно выбрать два варианта протокола. Первый – собственный и платный. Второй – бесплатный RDP. С помощью этой программы можно настраивать качество передаваемой картинки, изменять вид клавиатуры (для ПК или стандартная смартфонная), устанавливать управление двухпальцевыми или трехпальцевыми жестами. Есть возможность настройки использования телефона в качестве мыши или тачпада, что позволяет управлять курсором нажатиями или движениями пальцев по экрану.
Среди других особенностей программы – поддержка нескольких языков и отдельный режим прокрутки. А еще – возможность использовать не только виртуальную, но и физическую клавиатуру, которая подключена к смартфону или планшету по USB (при наличии поддержки технологии OTG) или Bluetooth. Звук с компьютера может воспроизводиться динамиками самого ПК или на телефоне, есть защита от стороннего доступа при помощи шифрования.
Единственный недостаток утилиты по сравнению с другими программами – меньшая скорость доступа, которая вряд ли позволит нормально воспроизводить на телефоне Full HD или 2K видео, даже если такой формат поддерживается гаджетом.
Источник