Android: API для внешних USB-устройств для роботизированных приложений - PullRequest
5 голосов
/ 18 ноября 2010

Android-устройства становятся невероятно дешевыми (особенно те, которые имеют Android v1.6). Я подумываю использовать его как мозг автономного робота. К сожалению, я не нашел никакой информации об этом.

Я бы хотел подключить две внешние USB-камеры и несколько самодельных USB-АЦП и преобразователь выходных портов для управления колесами и считывания аналоговых датчиков расстояния. Если я выберу какой-нибудь дешевый нетбук, то у них обычно уже есть 3 порта USB. Но если я буду вынужден пользоваться планшетом, то для этого потребуется также USB-хаб.

  1. Поддерживают ли устройства Android usb-концентраторы?
  2. Существует ли API для захвата стоп-кадров с внешних веб-камер USB (например, "vfa: // 0" & "vfa: // 1")
  3. Есть ли API для чтения с USB-устройства? Предположим, что он будет имитировать последовательный порт для простоты.
  4. Получу ли я все это в Android 1.6 или более новой версии?

В качестве обновления для вашей информации: на основании ответов я предполагаю, что устройство Android будет слишком дорогим по сравнению с усилиями. Я пойду на дешевый атомный нетбук со стандартным устройством Linux и Arduinio USB для управления и датчиков. При стоимости устройства на пол килограмма (один фунт) я сэкономлю месяцы на обучении и разработке.

Ответы [ 2 ]

2 голосов
/ 19 ноября 2010

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

Скорее всего, вам понадобится root.

API - это обычный USB-стек Linux, включающий практически любой C-кодированный драйвер источника, доступный для Linux на настольном компьютере (за исключением тех, которые используютБиты двоичных драйверов x86 для Windows запускаются в оболочке совместимости.

Вы можете взаимодействовать с этим либо из ndk, используя обычные методы (файлы устройств, чтение / запись / ioctl), либо с аккуратным дизайном драйвера, чтобы вещи действительно выглядели как файлы, которые вы, вероятно, можете получить из них из java илипо крайней мере, Java с некоторыми тонкими оболочками ndk вокруг файловых операций устройства.

По сути, это не вопрос "Android", это вопрос о возможностях оборудования конкретного устройства Android, как получить rootна этом устройстве, а затем он становится стандартным вопросом о встроенном Linux.

0 голосов
/ 19 ноября 2010

Насколько я знаю, вы не получите ничего из этого с Java API по умолчанию.Однако многого из этого можно достичь, если вы соберете собственное ядро ​​и добавите в него необходимые модули.По сути, все сводится к взлому ядра и не будет связано с Android.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...