Arduino的问题<-&燃气轮机;Cordova(Android)串行通信

Arduino的问题<-&燃气轮机;Cordova(Android)串行通信,android,cordova,arduino,serial-port,usbserial,Android,Cordova,Arduino,Serial Port,Usbserial,我有一个适用于android的cordova 6应用程序,我想在这里与一个通过USB连接的Arduino进行通信。为此,我使用-Plugin,它使用 不幸的是,我的设置有问题。请求权限是可行的,但当我尝试实际打开串行连接时,我在adb logcat:Java.io.IOException:Error queueing request 这意味着在我调用serial.open之后,既不会调用成功回调,也不会调用错误回调 我的android设备: -安卓5.1.1 -Allwinner A33芯片组

我有一个适用于android的cordova 6应用程序,我想在这里与一个通过USB连接的Arduino进行通信。为此,我使用-Plugin,它使用

不幸的是,我的设置有问题。请求权限是可行的,但当我尝试实际打开串行连接时,我在
adb logcat
Java.io.IOException:Error queueing request 这意味着在我调用
serial.open
之后,既不会调用成功回调,也不会调用错误回调

我的android设备: -安卓5.1.1 -Allwinner A33芯片组

我的串行设备: -Arduino Uno或Arduino Nano -通过usb连接到Android

我的Javascript代码:

myApp.serial = {
  initialize: function(){
    // Arduino Nano China 1a86:7523
    // Arduino Uno original 2a03:0043
    var serial_device = {vid: '2a03',
      pid: '0043',
      //driver: 'CdcAcmSerialDriver'
      //driver: 'Ch34xSerialDriver'
      //driver: 'Cp21xxSerialDriver'
      //driver: 'FtdiSerialDriver'
      //driver: 'ProlificSerialDriver'      
    };
    serial.requestPermission( serial_device, this.initialize_success, this.initialize_error);
  },
  initialize_success: function(){
    toLog("Serial initialized", 4);
    var opts = { baudRate: 9600 };
    serial.open(opts, this.open_success, this.open_error);
  },
  initialize_error: function(){
    toLog("Error initializing serial!", 1);
  },
  open_success: function(){
    toLog("Serial connectino opened", 4);
    serial.registerReadCallback(this.on_serial_read, this.on_serial_read_error);
  },  
  open_error: function(){
    toLog("Error opening serial connection!", 1);
  }
}  
adb logcat

D/Serial  ( 3010): Action: requestPermission
D/UsbBroadcastReceiver( 3010): Permission to connect to the device was accepted!

I/chromium( 3010): [INFO:CONSOLE(3)] "Serial initialized", source: file:///android_asset/www/assets/javascripts/myapp.min.js (3)
D/Serial  ( 3010): Action: openSerial
D/CdcAcmSerialDriver( 3010): claiming interfaces, count=2
D/CdcAcmSerialDriver( 3010): Control iface=UsbInterface[mId=0,mAlternateSetting=0,mName=null,mClass=2,mSubclass=2,mProtocol=1,mEndpoints=[
D/CdcAcmSerialDriver( 3010): UsbEndpoint[mAddress=130,mAttributes=3,mMaxPacketSize=8,mInterval=255]]
D/CdcAcmSerialDriver( 3010): Control endpoint direction: 128
D/CdcAcmSerialDriver( 3010): Claiming data interface.
D/CdcAcmSerialDriver( 3010): data iface=UsbInterface[mId=1,mAlternateSetting=0,mName=null,mClass=10,mSubclass=0,mProtocol=0,mEndpoints=[
D/CdcAcmSerialDriver( 3010): UsbEndpoint[mAddress=4,mAttributes=2,mMaxPacketSize=64,mInterval=1]
D/CdcAcmSerialDriver( 3010): UsbEndpoint[mAddress=131,mAttributes=2,mMaxPacketSize=64,mInterval=1]]
D/CdcAcmSerialDriver( 3010): Read endpoint direction: 128
D/CdcAcmSerialDriver( 3010): Write endpoint direction: 0
D/CdcAcmSerialDriver( 3010): Async reads enabled
D/UsbRequestJNI( 3010): close
D/UsbRequestJNI( 3010): init
D/UsbRequestJNI( 3010): close
D/Serial  ( 3010): Serial port opened!
I/Serial  ( 3010): Stopping io manager.
I/SerialInputOutputManager( 3010): Stop requested
I/Serial  ( 3010): Starting io manager.
W/SerialInputOutputManager( 3010): Run ending due to exception: Error queueing request.
W/SerialInputOutputManager( 3010): java.io.IOException: Error queueing request.
W/SerialInputOutputManager( 3010):      at com.hoho.android.usbserial.driver.CdcAcmSerialDriver$CdcAcmSerialPort.read(CdcAcmSerialDriver.java:168)
W/SerialInputOutputManager( 3010):      at com.hoho.android.usbserial.util.SerialInputOutputManager.step(SerialInputOutputManager.java:159)
W/SerialInputOutputManager( 3010):      at com.hoho.android.usbserial.util.SerialInputOutputManager.run(SerialInputOutputManager.java:141)
W/SerialInputOutputManager( 3010):      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
W/SerialInputOutputManager( 3010):      at java.util.concurrent.FutureTask.run(FutureTask.java:237)
W/SerialInputOutputManager( 3010):      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
W/SerialInputOutputManager( 3010):      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
W/SerialInputOutputManager( 3010):      at java.lang.Thread.run(Thread.java:818)
D/Serial  ( 3010): Runner stopped.
I/SerialInputOutputManager( 3010): Stopped.
I/SerialInputOutputManager( 3010): Running ..
D/UsbRequestJNI( 3010): init
似乎没有一个司机在工作。不过,logcat消息略有不同

这是否意味着我的android设备不受支持,或者有什么我可以尝试的吗?

Arduino解决方案:

port.dtr = true // for arduino, ...
port.rts = true
爪哇

port.setDTR(true);
port.setRTS(true);