Запись необработанных данных в последовательный порт Android (USB) - PullRequest
1 голос
/ 04 мая 2011

Мне нужно записать некоторые «сырые» данные в порт usb для моего проекта (нет проблем, если требуется root).

Я нашел порт libusb для Android и сумел скомпилировать его с помощью NDK. Я связал библиотеку с моим исполняемым файлом (выполняемым от имени root), но функция "libusb_init" всегда возвращает ошибку (LIBUSB_ERROR_OTHER).

Я обнаружил, что проблема (на данный момент ...) находится в файле "linux_usbfs.c", точнее в этой функции:

static const char *find_usbfs_path(void)
{
    const char *path = "/dev/bus/usb";
    const char *ret = NULL;

    if (check_usb_vfs(path)) {
        ret = path;
    } else {
        path = "/proc/bus/usb";
        if (check_usb_vfs(path))
            ret = path;
    }

    usbi_dbg("found usbfs at %s", ret);
    return ret;
}

/dev/bus/usb, очевидно, не существует на моем N1.

1 Ответ

1 голос
/ 19 июля 2012

Почему бы не попробовать pyserial? Питон кажется мне проще. Вам нужно либо ядро ​​с режимом хоста USB, либо ваш телефон изначально поддерживает последовательный интерфейс через ttyMSM0, что вам необходимо выяснить. Как только вы убедитесь, что у вас есть последовательный порт на вашем телефоне, посмотрите на эту ссылку , которая предназначена для huawei ideos U8150, но я предлагаю вам использовать pyserial, сделанный с использованием python для android.

...