Запись необработанных данных в последовательный порт Android (USB)

Мне нужно записать некоторые "сырые" данные в порт 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.


person Berserker    schedule 04.05.2011    source источник


Ответы (1)


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

person Karibe    schedule 19.07.2012