Приложения Android, общение с устройством, подключенным к USB-порту - PullRequest
53 голосов
/ 27 сентября 2010

Я думаю о приложении для Android (возможно с сопровождающим физическим устройством) и пытаюсь выяснить, возможно ли это.

1) Допустим, я подключил свой Android кмой компьютер.Может ли приложение, установленное на ПК, обмениваться данными с приложением, запущенным на мобильном телефоне?Мне просто нужен очень упрощенный обмен данными, он может быть даже односторонним (просто данные, передаваемые с мобильного телефона в приложение для прослушивания на ПК, всякий раз, когда мобильный телефон хочет, мне не нужны никакие данные, отправляемые с ПК на телефон).

Когда я подключаю его, телефон дает мне 4 варианта (зарядка, дисковод, синхронизация HTC, привязка), что заставляет меня думать, что это невозможно, но все же стоит попробовать.

2) Может ли приложение на ПК общаться с приложением по телефону любым другим способом?(Wi-Fi, Bluetooth и т. Д.).Я предполагаю, что нет по Wi-Fi, так как ни одна из сторон не имеет IP-адреса другой стороны (и я хочу, чтобы это вроде как работало, без необходимости вводить IP-адреса вручную все время).

3) Если я сделаю устройство, которое подключено к маленькому USB-порту в нижней части телефона (и скажем, это волшебное устройство, которое может делать все что угодно, мне не все равно, как эти детали, какпока это выполнимо).Могу ли я подключить приложение Android к этому устройству?

4) Любые другие идеи заставить телефон общаться с моим устройством или с приложением на ПК, приветствуются.Переход через Интернет может быть вариантом (хотя, я думаю, должен быть центральный сервер, которым я владею как посредник).Но я бы предпочел, чтобы связь между двумя устройствами была прямой.

Ответы [ 4 ]

18 голосов
/ 05 августа 2011

Мир изменился с тех пор, как был задан этот вопрос, и теперь ответом является Комплект разработки Android Open Accessory .Это не решит проблему для существующих USB-устройств, но позволяет создавать новые устройства, которые могут использовать USB-соединение Android-устройства.

9 голосов
/ 25 июля 2012

Связь между Android-устройством и ПК возможна еще одним способом.

Через соединение ADB через USB.

  1. Переадресация портов.
  2. Программа JAVA для серверных сокетов.
  3. Клиентское приложение Android Socket.

Через это приложение можно обмениваться данными с нашей программой JAVA, работающей на ПК.

http://www.anothem.net/archives/2010/10/15/android-usb-connection-to-pc/

4 голосов
/ 27 сентября 2010

Изменить: Обратите внимание, что этот ответ предшествует доступности USB-хоста Android и API-интерфейсам аксессуаров и поддержке, обнаруженной во многих устройствах, выпущенных после его написания.

Если вы включите USB-отладку на телефоне и у вас есть что-то, полученное с помощью SDK-инструмента (с открытым исходным кодом) на ПК, они могут общаться. Компьютер должен будет инициировать связь, но в течение сеансов он может быть в основном двунаправленным или даже в основном с устройства на компьютер. Смотрите developer.android.com об оболочке adb и переадресации портов. Root не требуется.

Люди используют Bluetooth для общения со встроенными контроллерами Arduino.

С помощью root я заставил свой телефон выступать в качестве хоста USB, но это было болезненно, так как мне пришлось использовать Wi-Fi для получения оболочки отладки, так как USB был занят.

Некоторые телефоны имеют низковольтный последовательный порт на разъеме extusb или звуковых линиях, но для этого потребуются root и переключатель уровня.

Еще одна идея, о которой я подумал - сделать программный модем на разъеме для гарнитуры, очевидно, кто-то в Японии реализовал как для Android, так и для iPhone. Это не должно требовать root.

3 голосов
/ 27 сентября 2010

Для связи через usb / wlan взгляните на этот проект: http://code.google.com/p/android-notifier/

...