26 June 2011

ПО для взаимодействия ПК и смартфона

Development for Android
С момента покупки смарта на Android меня заинтересовало его функциональное наполнение. На практике оказалось, что Android способен выполнять практически любую задачу, решаемую на обычном ПK, только медленнее и не всегда удобнее. Зато дополняет ПК он прекрасно, и механизмов использования возможностей смарта на ПК и возможностей ПК на смарте — уйма.

Статья ориентирована в основном на формирующихся и будущих пользователей Android-смартфонов; надеюсь, что продвинутые пользователи также найдут в ней что-то новое и/или внесут свою лепту. Под катом по пунктам, в вопрос-ответном стиле.

Как использовать интернет-соединение ПК на смарте?

Как использовать интернет-соединение смарта на ПК?
  • Всё уже написано до меня в том же топике. Здесь я пользуюсь стандартными возможностями ОС Android (Беспроводная связь и сети >> Режим модема, доступно начиная с Android 2.2). Владельцам смартов с более ранней версией Android следует обратить внимание на PdaNet (USB-Tethering, Bluetooth DUN).

Как расшарить файловую структуру устройства?
  • Способ 1. Стандартно — через data-кабель. Недостатки очевидны — проводной контакт, приходится выгружать sd-карту, иногда устанавливать драйвер. Достоинство — скорость передачи.

  • Способ 2. Поднять на устройстве FTP (SSH, SMB, HTTP, HTTPS, WebDAV, AFP) -сервер. Способ надёжный и простой, требует WiFi-соединения с компьютером. Поднять FTP-сервер на устройстве способны такие программы, как On Air (предлагает также взаимодействие по протоколам WebDAV и AFP), SwiFTP, также возможность встроена в программы File Expert и Remote Web Desktop.

    On Air отличается простым интерфейсом и минимумом настроек. После старта сервера генерируется четырёхзначный цифровой пароль (при попытках брута сервер обваливается после n-го количества запросов, по всей видимости, встроенная мера предосторожности), отображается адрес сервера. Основные недостатки в том, что нельзя вручную задавать имя пользователя, пароль (можно только указать, что этот пароль всегда будет статичным), порт сервера, share-каталог. Достоинство — простота.

    SwiFTP FTP Server наиболее полноценный FTP-сервер из тех, которые я перепробовал. Указывается имя пользователя, пароль, порт и даже share-каталог (только здесь нашёл такую опцию). Недостаток — отсутствие возможности шаринга в один клик (имеется ввиду, что нельзя создать на рабочем столе ярлык, при щелчке на который поднимался бы ftp-сервер), и сам интерфейс не располагает.

    File Expert (мой выбор) — приложение, выступающее как файловый менеджер, но включающее в себя как FTP, так и WEB-сервер. Достаточно настроек, нельзя только указать share-каталог (всегда sdcard). Можно создать ярлык быстрого запуска FTP- или WEB-сервера.

    Remote Web Desktop (Full-версия платная) выступает как многофункциональный WEB-сервер, дополнительно встроен и FTP-сервер. Большой недостаток — в бесплатной версии для FTP-сервера ограничена скорость — всего 100 kb/s (в среднем без ограничения ~2-4 Mb/s). Однако WEB-сервер обладает широким спектром возможностей. В платной версии возможно взаимодействие по протоколу HTTPS (нигде больше не видел такой возможности). Аналогов достаточно (обычно в названии содержат Web Desktop или что-то похожее), однако Remote Web Desktop наиболее функциональный, в бесплатной версии не так много ограничений.

    Samba Filesharing (предложено belk) позволяет поднять на устройстве SMB-сервер. Наиболее актуально для пользователей Windows — устройство будет отображаться как общая сетевая папка. Нужен рут.

    Платная QuickSSHd запускает SSH-сервер на смартфоне, на ПК остаётся воспользоваться каким-либо SCP/SFTP клиентом (Windows: WinSCP; Linux: OpenSSH; Mac: Cyberduck).

  • Способ 3. Доступ к файлам через bluetooth. Давний способ, требует наличия на принимающем устройстве блютуза. На Android дополнительного ПО не требуется, только включить видимость устройства. На Windows понадобится что-то вроде BlueSoleil.

  • Способ 4. Использования интернет (файловые серверы, dropbox). Самоочевидно.
    UPD: В ES Проводник недавно добавили возможность работы с dropbox.

Как просматривать файловую структуру ПК?
  • Способ 1. Использование bluetooth. На устройстве устанавливаем ES Проводник (Настройки >> Bluetooth опции >> Убираем галку «Скрыть BT»; указываем папку обмена). На ПК для Windows понадобится BlueSoleil, в его настройках указать share-каталог.

  • Способ 2. Поднять на ПК FTP (SMB, WEB) -сервер. Опять же, на смарте выручает ES Проводник, всё необходимое в нём есть. На компьютере под управлением Windows 7 можно воспользоваться глючным встроенным в IIS FTP-сервером. А можно просто просматривать общие сетевые папки Windows (вкладка «ЛВС» в ES Проводник, вкладка «Сеть» в File Expert) — по Microsoft SMB Protocol.

Как получить полный доступ к камере устройства (управление, медиапоток)?
  • Самый верный способ — воспользоваться возможностями IP Webcam for Android. Требуется — наличие стабильного WiFi (интернет) -соединения. При помощи IP Webcam поднимаем WEB-сервер, предварительно указав такие настройки, как разрешение видео, качество, ориентация, логин/пароль, порт, возможность передачи аудиопотока. После старта сервера заходим по указанному адресу (у меня это 192.168.2.101:8080) из браузера и выбираем любой из способов взаимодействия — можно открыть поток в медиаплеере, открыть панель удалённого управления, использовать java-плагин для браузера (воспроизводим видео и аудио в браузере, нужна только java!), использовать javascript для обновления кардов в браузере, просматривать транслируемое медиа на другом смартфоне при помощи tinyCam Monitor PROбесплатное версии отсутствует возможность сканирования сети на наличие камер), использовать камеру смартфона для общения в Skype. Приведены краткие инструкции. Не добиться желаемого результата очень тяжело.

Как транслировать потоковое медиа со смартфона?
  • Очень просто — установить VLC Direct. На ПК понадобится VLC Player. В VLC Direct на смарте можно воспользоваться Automatic Wizard в Settings — здорово облегчает весь процесс.

Как просматривать потоковое медиа на смартфоне?

Как управлять компьютером при помощи смартфона на базе Android?
  • Способ 1. Полный контроль — при помощи VNC (RDP). На комп ставим VNC-сервер (TightVNC, RealVNC), на смарт VNC-клиент (Remote VNC w/Ad, VNC Viewer (платная)). Устанавливаем стабильное соединение с компом по WiFi, настраиваем сервер, клиент — и вуаля! Можно печатать текст, управлять мышкой, нажимать сочетания клавиш — почти полностью управлять ОС. Для управления по протоколу RDP тоже хватает клиентов.

    Есть одно но — RealVNC использует проприетарный протокол, поэтому шифрованное соединение удастся установить только если на Android вы будете использовать платный VNC Viewer.

  • Способ 2. Контроль над отдельными приложениями. Это справедливо для некоторых плееров (Aimp UControl), для клиента uTorrent 3 (µTorrent Remote) и проч. Мощное решение по управлению торрентами — Transdroid — советует хабровчанин Wizard999 (поддержка µTorrent, Transmission, rTorrent, Vuze, Deluge и BitTorrent 6).

  • Способ 3. Использование смартфона в качестве мышки. Это позволяет делать RemoteDroid (Pro), на ПК потребуется запустить Remote Droid Server. Как намекает pilgr, существуют также приложения, позволяющие управлять активным приложением на ПК, эмулируя нажатие горячих клавиш/сочетаний: Unified Remote (Full), MultiRemote, gPad remote touchpad/keyboard; а также (пиарчик) его собственная разработка — piCat (пока alpha).

  • Способ 4 (предложено EveresT). Воспользоваться TeamViewer App for Android. Обеспечивает полный контроль. Бесплатно для некоммерческого использования, прекрасно работает через интернет (точнее, это её основное предназначение). На ПК понадобится поставить немобильную версию (Windows; Mac; Linux Red Hat, Fedora, Suse, Mandriva, Debian, Ubuntu 32-Bit, Debian, Ubuntu 64-Bit). Все настройки интуитивно понятны, продукт просто потрясающий!

    Хабраюзеры Saenco и anagnost настояли, чтобы была упомянута альтернатива — LogMeIn. Правда пока бесплатного клиента для Android нету — только платные: ать, два. Сам не испытывал — говорят что удобно.

  • Способ 5 (предложено naryl, SantaClaus16). На смартфоне воспользоваться SSH-клиентом (например, ConnectBot), на ПК развернуть SSH-сервер (Linux: OpenSSH; Windows: MobaSSH; Mac). Проверил связку ConnectBot+MobaSSH — работает! Метод для линуксоидов любителей консоли.

  • Великолепный VNC/RDP-клиент — Wyse PocketCloud (Pro) — подсказал (опять же) хабраюзер Wizard999. На Windows или Mac ставится PocketCloud Companion — с его помощью можно через интернет пользоваться вашим любимым VNC или RDP-сервером, установленном на ПК. Для авторизации нужен Google-аккаунт (у кого его нет). Вводим гугль-логин и гугль-пароль на смартфоне и на ПК (понятно, что вводить понадобится только один раз). После авторизации с ПК на андроиде сразу отображается соединение, заходим и вводим наш VNC или RDP-пароль (или Windows-пароль, в зависимости от того, как вы настроили свой VNC или RDP-сервер). У меня получилась такая связка: Android — Wyse PocketCloud, Windows — PocketCloud Windows Companion и RealVNC (способ аутентификации — VNC Password). Выходит эдакая смесь способов 1 и 4 — очень хорошая идея.

Как управлять смартфоном при помощи ПК?
  • Задача не слишком практична, но если требуется её решить — то на помощь приходит Remote Control Add-on. Потребуется рут. Программка поднимает VNC-сервер на устройстве. После достаточно открыть в браузере отображаемый URL (требуется java) или в любом VNC-клиенте (ip:5901, шифрования нет).

  • Если под управлением имеется ввиду просмотр/написание SMS, управление контактами и проч., то удобно будет воспользоваться возможностями Remote Web Desktop или подобной программой (напр., Remote Desktop).

    Хабраюзер SabMakc предлагает использовать MyPhoneExplorer (only for Windows, поддержка смартов на Android включена с версии 1.8). Возможно подключение через bluetooth, USB-шнур и по WiFi, много плюшек.

Как использовать клавиатуру ПК для ввода текста на смартфоне?
  • При установленном WiFi-соединении можно воспользоваться WiFi Keyboard или ezKeyboard (в первой вводимый текст сразу отображается в смартфоне, но не отображается в браузере, также предусмотрен игровой режим; во второй вводимый текст отправляется только после нажатия кнопочки). WiFi-клавиатура предусмотрена и в Remote Web Desktop (при этом можно как включать, так и отключать автосинхронизацию), но есть небольшая недоработка — галочка WiFi Keyboard в настройках смартфона снимается сама по себе (по неясным причинам), что не даёт использовать необходимый способ ввода (нужно опять лезть в настройки языка и клавиатуры, ставить галочку). Лично я отдаю предпочтение ezKeyboard, хотя пользуюсь редко (Swype, знаете ли, крутая штука).

Как использовать GPS-модуль смартфона на ПК (внешний GPS-приёмник)?

Как напрямую посылать ссылки из браузера ПК на смартфон?
  • Воспользоваться приложением Chrome to Phone (предложил A1lfeG). На ПК для браузера понадобится установить расширение (Chrome, Firefox, Opera). К сожалению, в маркете для России приложение не доступно (или мне показалось?). Альтернатива — LinkPush. Расширения как таковые есть только для Chrome и для Firefox; остальные могут воспользоваться bookmarklet-ом (опционально можно включить нотификацию в Google Talk). Самому Chrome to Phone потрогать не удалось, но, по всей видимости, программа более функциональна, чем LinkPush.


Понятное дело, что не все вопросы и способы взаимодействия ПК и устройств на базе Android я рассмотрел. Если у вас есть иные предложения или замечания — приводите их в комментариях, постараюсь позже включить в статью.

UPD: с момента первоначальной публикации статья претерпела серьёзные изменения (в основном дополнения), как и некоторые взгляды её автора. Спасибо всем за советы!
Tags:androidбеспроводное взаимодействиевзаимодействие с ПК
Hubs: Development for Android
+118
255.2k 549
Comments 60
Popular right now