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

Bluetooth serial communication between android and arduino uno

我是 phonegap 的新手。我需要通过 arduino 发送和接收数据,android mobile.I 对如何执行此操作的知识最少或更好,至少为零。 请大家通过关注此 link 来帮助 me.Can 理解任何事情。 https://github.com/don/BluetoothSerial 如果你们这样做过,请给出步骤说明。

首先,如果你没有,你需要为你的 Ardunio uno 购买一个蓝牙屏蔽。蓝牙屏蔽应该有关于如何将其连接到 Ardunio uno 以使用串行端口的说明。 Android 有一个优秀的示例应用程序随SDK一起分发,它叫做BluetoothChat,你应该可以很容易地找到它。我修改了 BluetoothChatService.java 文件以与 Arduino 板进行通信,只需对代码进行一些简单的修改,您就可以使用该应用程序连接到 Arduino 板或任何其他蓝牙设备。它们在这里。

我在class的开头添加了这个,第二个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 板并与之通信。

希望对你有用。