Odroid Xu4 で Android アプリを作成しています。接続されているのは、ttyUBS0 ポートを使用する cp210x ドライバーを備えた USB シリアル コンバーター経由の Xbee Pro s2 ですが、アプリ内では ttyUBS0 から切断され、バス /dev/bus/usb/.. No I を使用します。 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 役に立ちますか?