2012-11-08 69 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」下(通過文件系統訪問)他們是可見的... –