与Arduino Uno和Android nexus 5进行通信

时间:2014-03-28 04:24:55

标签: android serial-port arduino

我是Android应用的新手。我想从我的arduino Uno R3读取数据,并使用串行电缆和OTG适配器在我的应用程序上显示它。

虽然,我无法让我的UsbManager识别我的设备。因此,当我尝试建立连接时,它总是会失败。 这是我的代码中我发起一切的部分。

public UsbManager = mUsbManager; 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_display_depth);
    setupActionBar();   
    textView = (TextView) findViewById(R.id.textView2);

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

    button = (Button) findViewById(R.id.buttonStart);
    button.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
          textView.setText("Bravo");
          updateDevice();
          if (mRunning == true)  {
             receiveThread();
          }
     }
    });
}


public void updateDevice() {
    Intent intent= getIntent();
    String action = intent.getAction();
    UsbDevice device = (UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);

    if (device != null){
        Toast.makeText(this, "Initialisation 1", Toast.LENGTH_SHORT).show(); 
        initDevice(device);
    }

    if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
        Toast.makeText(this, "Initialisation", Toast.LENGTH_SHORT).show(); 
        initDevice(device);
    } else {
        initDevice(null);
    }


}
(...) //Obviously, this is not in my code!! 

 private boolean initDevice(UsbDevice device) {

        mConnection = mUsbManager.openDevice(device);

        if (mConnection == null) {
            if (DEBUG) Log.e(TAG, "Opening USB device failed!");
            Toast.makeText(DisplayDepth.this, "open failed", Toast.LENGTH_SHORT).show();
            return false;
        }

它总是在这里失败(我得到了祝酒词“开启失败”)。 我添加到我的清单所需的内容,因此我的arduino r3被识别,并且当我将其插入手机时始终显示连接消息....需要帮助!!! 谢谢

0 个答案:

没有答案