2013-05-15 2 views
3

Я работаю над проектом, в котором я запускаю Raspberry Pi на Android (Gingerbread), то, что мы пытаемся сделать в этом проекте, - это то, что мы берем показания (температура и свет) от Zigbee (pikkerton устройство), то Zigbee устройство передает данные в ключе, который подключен к Raspberry Pi, мы должны читать значения на Raspberry Pi с помощью ключа и отображать его на AndroidРеализация Android на Raspberry-Pi

  1. мы успешно установили ОС Android на Raspberry Pi , подключите выход из малины pi к монитору и управляйте им с помощью мыши и клавиатуры.
  2. Мы разрабатываем код в NDK (приложение, которое считывает значения из ключа и отображает то же самое).
  3. нужны некоторые материалы по методам, из которых мы можем установить последовательную связь между ZigBee ключа и малиновым пи через НДК
+0

Привет, Даршан! Добро пожаловать в Stack Overflow. Ваш вопрос довольно открытый и, как таковой, не соответствует формату вопросов по SO. Если у вас есть конкретные вопросы о вашей реализации, не стесняйтесь спрашивать их. Ваш вопрос, вероятно, будет закрыт, потому что он очень похож на «У меня есть проект домашней работы, может ли кто-нибудь снабдить меня кодом для этого, пожалуйста?» – CanSpice

+0

На самом деле этот вопрос, вероятно, подходит и подотчетен. –

+0

Спасибо за совет CanSpice, мы успешно реализовали ту же идею о малине pi с использованием ОС Linux и кода Python. Так что у меня есть логика и код, мы просто пытаемся использовать другие возможности. Некоторые рекомендации, как я очень новичок в Android программирование. – Darshan

ответ

2

Это звучит как ваш донгл обеспечивает последовательный интерфейс, так что у вас есть два основных типа выбора:

1. Вы можете позволить драйвер Linux уровня создать последовательный интерфейс

Вам нужно будет иметь все, что создает последовательное устройство (/ Dev/ttyUSB0 или/DEV/ttyACM0 или т.п.), установить права доступа чтобы разрешить доступ всем пользователям. Или вы можете установить разрешения, чтобы разрешить доступ только к жестко запрограммированному идентификатору группы пользователей Unix и изменить установку Android, чтобы добавить новое разрешение для Android, что приведет к членству в userid приложения в этой группе unix, чтобы он мог получить доступ порт. (Посмотрите, как разрешаются разрешения Интернета и внешнего хранилища для примера, чтобы сделать это таким образом, как любое приложение может использовать или как радиоустройство обрабатывается для ограниченного примера). Затем вы используете обычные последовательные интерфейсы linux для доступа к порту из вашего NDK кода или Java-последовательных API, чтобы сделать это из кода Java.

2. Вы можете отключить любой драйвер Linux уровня, и поговорить с сырым устройства USB из Android кода приложения

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

+0

Спасибо, что помогли Крису, я думаю, что Gingerbread поддерживает API-интерфейс USB-хоста, потому что я могу подключить мышь и клавиатуру к моей малине-PI, а ОС отвечает на щелчок мышью мыши и клавиатуры .. я попытаюсь реализовать второй предложенный вами метод , – Darshan

+0

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

+0

http://developer.android.com/guide/topics/connectivity/usb/accessory.html ... эта ссылка сообщает мне, что Android 2.3.4 можно использовать для связи через USB и поддерживает USB-аксессуар, хотя он не поддерживает USB хост напрямую. – Darshan

Смежные вопросы