Использование последовательного порта ttyUSB0 в Android с Digi Xbee Java Api

Я делаю приложение для Android в Odroid Xu4, к нему подключен Xbee Pro s2 через последовательный преобразователь USB с драйвером cp210x, использующим порт ttyUBS0, но внутри приложения оно отключается от ttyUBS0 и использует bus / dev / bus / usb / .. Нет, я необходимо открыть последовательный порт для доступа к Rx / Tx для xbee. Сейчас я использую usb-serial-for-android https://github.com/mik3y/usb-serial-for-android/tree/master/usbSerialExamples

Но это не очень помогает, мое приложение вылетает, как только открываю устройство xbee. Вот мой код

 List<UsbSerialDriver> availableDrivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager);
    if (availableDrivers.isEmpty()) {
        return;
    }

    UsbSerialDriver driver = availableDrivers.get(0);
    Toast.makeText(this, "connection done" + driver, Toast.LENGTH_LONG).show();
    List<UsbSerialPort> availableports = driver.getPorts();
    for (UsbSerialPort port : availableports) {
        Toast.makeText(this, "port please :" + port.getPortNumber(), Toast.LENGTH_LONG).show();
        UsbDeviceConnection connection = manager.openDevice(driver.getDevice());
        try {
            port.open(connection);
            Toast.makeText(this," yes i m connected to port", Toast.LENGTH_LONG).show();
            port.setParameters(BAUDRATE, 8, 1, 0);
            Toast.makeText(this," baudrate set", Toast.LENGTH_LONG).show();
            PORT = driver.getDevice().toString();
            if (PORT == null) {
                Toast.makeText(this, "not connected",Toast.LENGTH_LONG).show();
            }
            else
            {
                XBeeDevice mydevice = new XBeeDevice(PORT, BAUDRATE);
                Toast.makeText(this, "connected",Toast.LENGTH_LONG).show();
                try {
                    mydevice.open(); //App crashes now :(
                    Toast.makeText(this, "connected woow",Toast.LENGTH_LONG).show();
                } catch (XBeeException e) {
                    e.printStackTrace();
                }
            }


        } catch (IOException e) {
            e.printStackTrace();
        }

    }

Может кто-нибудь направит. Я что-то не так делаю в коде? Вот еще одна библиотека, которую я нашел http://antipastohw.pbworks.com/w/page/41729078/How-to%20use%20a%20serial%20port%20with%20Android,%20Liquidware%20Ambrosia%20edition Может ли это оказаться полезным?


person shruti    schedule 18.11.2015    source источник


Ответы (1)


https://code.google.com/p/android-serialport-api/ Этот api работает должным образом, он найдет все необходимые порты. Вам потребуется добавить файлы .java в свой проект.

person shruti    schedule 23.11.2015