android和arduino uno之间的蓝牙串行通信

时间:2015-02-04 22:05:41

标签: android cordova bluetooth phonegap-plugins arduino-uno

我非常熟悉phonegap。我需要通过arduino和android mobile发送和接收数据。我有最少或更好的说法,知道如何做到这一点。 请各位帮帮我。按照这个链接不能理解。 https://github.com/don/BluetoothSerial 如果你们这样做,请给出逐步说明。

1 个答案:

答案 0 :(得分:1)

如果您没有Ardunio uno,首先需要购买蓝牙防护罩。蓝牙防护罩应该有关于如何将其连接到Ardunio uno以使用串行端口的说明。 Android有一个很好的示例应用程序与SDK一起分发,它被称为BluetoothChat,您应该能够轻松找到它。我修改了BluetoothChatService.java文件以与Arduino板进行通信,只需对代码进行一些简单的修改,您可以使用该应用程序连接到Arduino板或任何其他蓝牙设备。这里是。

我在课程开始时添加了这个,第二个UUID用于连接到Arduino板。

// Name for the SDP record when creating server socket
private static String NAME  = null;
private static final String NAME1 = "BluetoothChat";
private static final String NAME2 = "itead";

// Unique UUID for this application
private static UUID MY_UUID = null;
private static final UUID MY_UUID1 = UUID.fromString("fa87c0d0-afac-11de-8a39-0800200c9a66");
private static final UUID MY_UUID2 = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");

另外,我修改了这个方法,

/**
 * Start the ConnectThread to initiate a connection to a remote device.
 * @param device  The BluetoothDevice to connect
 */
public synchronized void connect(BluetoothDevice device) {
    if (D) Log.d(TAG, "connect to: " + device);

    if(device.getName().indexOf("itead")!=-1)
    {
      MY_UUID = MY_UUID2;
      NAME    = NAME2;
    }
    else
    {
      MY_UUID = MY_UUID1;
      NAME    = NAME1;
    }
    // Cancel any thread attempting to make a connection
    if (mState == STATE_CONNECTING) {
        if (mConnectThread != null) {mConnectThread.cancel(); mConnectThread = null;}
    }

    // Cancel any thread currently running a connection
    if (mConnectedThread != null) {mConnectedThread.cancel(); mConnectedThread = null;}


    // Start the thread to connect with the given device
    mConnectThread = new ConnectThread(device);
    mConnectThread.start();
    setState(STATE_CONNECTING);
}

您应该使用我对示例应用程序进行的当前少量更改来连接Arduino电路板并与之通信。

希望对你有用。