Как управлять серийным устройством на Android?

Я хочу разработать приложение whitch для управления последовательным устройством через usb на Linux Android.
Android OS 3.1, которая поддерживает USB-хост.

Q1: Пожалуйста, дайте мне знать, как получить, какой порт установлен на последовательном устройстве.

Я получил информацию о USB-устройстве, когда получил «Дамп-устройство» на мониторе отладки Dalvik.
И я проверил / dev / tty * на устройстве Android с помощью adb.
Я не знаю, какой из них (/ dev / tty ??) является последовательным устройством.

Adb shell
$ Ls / dev / tty *
/ DEV / TTY
/ DEV / ttyFIQ0
/ DEV / ttyHS0
/ DEV / ttyHS2
/ DEV / ttyHS3
/ DEV / ttyHS4
/ DEV / ttyS0
/ DEV / ttyS1
/ DEV / ttyS2
/ DEV / ttyS3

Q2: Пожалуйста, дайте мне знать, как управлять серийным устройством на Android без разрешения root.

У меня есть приложение (exe), которое может управлять последовательным устройством в Linux.
Я пытался сделать это на android, но я не мог сделать это для отказа в доступе.

И я попытался перенаправить на последовательный порт (возможно)
$ Ls> / dev / ttyS0
Но я не мог.
Не может создать / dev / ttyS0: разрешение отклонено.

Пожалуйста, дайте мне знать, как управлять и получать доступ к последовательному устройству.

Solutions Collecting From Web of "Как управлять серийным устройством на Android?"

В обзоре форума XDA есть отличный обзор:

Как разговаривать с модемом с помощью AT-команд .

Этот поток показывает вам, как отправлять AT-команды (ATC) с удаленного терминала (USB-соединение с вашим ПК), но он еще не решил проблему использования локального (телефонного) терминала для разговора с модемом телефона.

КСТАТИ. Вам нужно приложение / приложение терминала для общения с модемом (помните, что это двухсторонняя связь). Вот почему вам нужно укоренившееся устройство, поскольку в корневом комплекте обычно есть Busybox (который включает в себя программу терминала микрокомпьютера ). В противном случае вам нужно написать свою собственную программу.

Попробуйте на корневом устройстве? Изучая то же самое, что я читал, что только некоторые устройства 3.1 / 2.3.4 обеспечивают доступ к порту usb без полномочий root.

Это то, что я получаю от своего HTC Desire, не загруженного, 2.2:

 $ ls /dev/tty* ls /dev/tty* /dev/tty /dev/ttyHS0 /dev/ttyHSUSB0 /dev/ttyHSUSB1 /dev/ttyHSUSB2 /dev/ttyMSM0 

Мой Asus Transformer, unrooted, 3.2:

 $ ls /dev/tty* ls /dev/tty* /dev/tty /dev/ttyHS1 /dev/ttyHS2 /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3 

Я получаю точно такой же список, когда он состыкован с установленной док-станцией клавиатуры (это как 2 порта USB).

Надеюсь, что это поможет, пожалуйста, дайте мне знать, что я хотел бы сделать то же самое.

На следующем шаге вы можете проверить порт tty * через пару команд: $ cat / dev / tty * / для получения символов из tty и $ echo 'text string'> / dev / tty * / для отправки символов в tty

удачи!