使用 Android 中的串口 ttyUSB0 与 Digi Xbee Java Api
Using the serial port ttyUSB0 in Android with Digi Xbee Java Api
我正在 Odroid Xu4 中制作一个 Android 应用程序,连接到它的是 Xbee Pro s2 通过 USB 串行转换器和 cp210x 驱动程序使用 ttyUBS0 端口但在应用程序内部它与 ttyUBS0 断开连接并使用总线 /dev/bus/usb/..
不,我必须打开串行端口才能访问 xbee 的 Rx/Tx。我现在正在使用 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
有帮助吗?
https://code.google.com/p/android-serialport-api/
此 api 按要求工作,它将找到所有需要的端口。您需要在项目中添加 .java 文件。
我正在 Odroid Xu4 中制作一个 Android 应用程序,连接到它的是 Xbee Pro s2 通过 USB 串行转换器和 cp210x 驱动程序使用 ttyUBS0 端口但在应用程序内部它与 ttyUBS0 断开连接并使用总线 /dev/bus/usb/.. 不,我必须打开串行端口才能访问 xbee 的 Rx/Tx。我现在正在使用 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 有帮助吗?
https://code.google.com/p/android-serialport-api/ 此 api 按要求工作,它将找到所有需要的端口。您需要在项目中添加 .java 文件。