Как управлять последовательным устройством на Android? - PullRequest
9 голосов
/ 21 июля 2011

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

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

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

adb shell
$ ls / dev / tty *
/ DEV / терминал
/ 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: разрешение отклонено.

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

Ответы [ 3 ]

3 голосов
/ 31 января 2012

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

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

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

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

2 голосов
/ 13 июня 2014

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

удачи!

0 голосов
/ 03 августа 2011

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

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

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

Мой Asus Transformer, без рута, 3.2:

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

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

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

...