2015-06-25 12 views
1

Требовать метод подключения приложения Android к программе на C++ через ПК через USB, что позволит приложению android отправлять постоянный поток данных в реальном времени (в основном целые значения) в программу C++ на ПК через USB и соответственно выполнять действия. Я знаю, что это проще сделать с помощью Wi-Fi или Bluetooth, но я хочу выполнить соединение с помощью USB.Как подключить Android-приложение к программе C++ на ПК через USB

Я искал сеть много для подобных вопросов и пробовал много кода, но не из них работали для меня. Я был бы очень признателен за пример кода для части C++, и это андроид-аналог, который позволяет это сделать легко.

ответ

0

Вы можете использовать ADB и вызывать пользовательские команды на своем Android-устройстве. Эти команды должны просто вводить целые числа в stdout. В качестве опции вы можете использовать стандартные команды оболочки, такие как cat, и сделать свое приложение для Android записывать целые числа вывода в файлы в каком-то каталоге, где АБР может его прочитать.

1

Вы можете использовать опцию USB Tethering на телефоне. Это должно работать с Android 4.4 и самыми популярными дистрибутивами Linux из коробки. Затем вы можете использовать TCP/IP между Android и ПК. Вы можете использовать протокол многоадресной передачи UDP для обнаружения службы (например, многоадресный DNS, NSD или SSDP), если вам нужно избегать ввода IP-адресов с одной стороны.

+0

Можем ли мы иметь и андроид, привязанный к моему компьютеру, и проводное соединение с LAN? Или это только один из них за раз? – deostroll

+0

_Yes_ и _no_. Я просто попробовал. _Yes_ вы можете иметь оба соединения одновременно. _No_, поскольку он заменяет вашу запись маршрутизации по умолчанию на ПК (что обычно полезно для привязки, но в этом случае, вероятно, нежелательно). Таким образом, вся интернет-трафик маршрутизируется через устройство Android. Если телефон Android включен в режим полета, это также происходит. Поэтому, если вам нужно подключение к Интернету на ПК, это решение, вероятно, является тупиком. – bshm

0

Вы можете заставить Android вести себя как устройство USB с интерфейсом USB CDC (ACM), который рассматривается как последовательный порт на ПК (COMx на Windows,/dev/ttyXXX на Linux). На стороне C++ (PC) это будет «регулярная» обработка последовательного порта, в то время как на Android существует несколько библиотек для таких целей, хотя я никогда не использовал их, поэтому я не могу рекомендовать его.

2

Один из способов сделать это - настроить приложение для ПК, чтобы поговорить с устройством Android в качестве аксессуара для Android. http://developer.android.com/guide/topics/connectivity/usb/accessory.html

Это позволит оба приложения, чтобы отправить любые данные, которые они хотят через USB, Google предоставляет исходный код для этого в комплекте развития аксессуара http://developer.android.com/tools/adk/index.html

у меня нет ни одного примера, исходного кода, но там может быть некоторые там, если вы ищете.