2012-11-08 32 views
3

我试图使用一个Arduino板与我的奥迪Neo x8平板电脑,但它似乎,UsbManager不能识别设备好。我通过OTG适配器将Arduino连接到平板电脑,以便平板电脑能够在主机模式下工作,Arduino正在成功从设备接收电源。 我在平板电脑上获取可用的USB设备列表如下:getDeviceList()总是空的

sUsbController = new UsbController(this, mConnectionHandler, 0, 0); 
     HashMap<String, UsbDevice> devlist = sUsbController.mUsbManager.getDeviceList(); 
     TextView t = ((TextView)findViewById(R.id.textView)); 
     t.setText("Found " + Integer.toString(devlist.size()) + " devices"); 

和类UsbController内:

mUsbManager = (UsbManager) mApplicationContext 
      .getSystemService(Context.USB_SERVICE); 

但不幸的是,该列表为空,即使我开始使用VID和PID(两个零)进行过滤。 关于如何解决这个问题的任何建议?

回答

1

我用下面的代码,工作非常精细与键盘,鼠标和大容量存储设备与PANDABOARD连接,

UsbManager usbManager = (UsbManager) getSystemService(USB_SERVICE); 
    HashMap<String, UsbDevice> devicelist = usbManager.getDeviceList(); 
    Iterator<UsbDevice> deviceIterator = devicelist.values().iterator(); 

    while(deviceIterator.hasNext()) { 
    UsbDevice usbDevice = deviceIterator.next(); 
    Log.i(Log_Tag, "Model  : " +usbDevice.getDeviceName()); 
    Log.i(Log_Tag, "Id  : " +usbDevice.getDeviceId()); 
    } 

这应该与Arduino的工作了。

0

该Arduino板needs a driver它需要安装之前,它可以被访问。

我不确定您是否有Android驱动程序的端口。

编辑

在另一个线程还检查了this answer

+0

我跟着[链接](http://android.serverbox.ch/?p=549)实施它,所以是的,它有一个驱动程序。这是完整的:http://pastebin.com/hANbdq3U –

+0

它现在对你有用吗? – Sudar

+0

没有:(我检查了一个名为“USB设备信息”从市场上的程序,没有任何东西可以在Android下访问(尝试USB棒,键盘和Arduino),但在“Linux”下(通过文件系统访问)他们是可见的... –