如何通过蓝牙从C#向MagicBlue LED发送数据?

时间:2018-01-10 19:05:05

标签: c# .net bluetooth bluetooth-lowenergy 32feet

我正在编写一个需要将蓝牙包发送到MagicBlue LED的.NET应用程序。换句话说,我想创建一个类似于Android的.NET应用程序:https://itunes.apple.com/us/app/led-magic-blue/id992330218?mt=8

以下是演示:https://www.youtube.com/watch?v=5Q3aQjuiLY0

我的蓝牙适配器找到了灯泡并连接到它,所以它是可发现的,我也有它的MAC地址,这是我的需要。

我正在使用InTheHand (32Feet Bluetooth) .NET Library进行交流。 灯泡需要接收一个字节数组,以便执行命令(改变颜色,打开/关闭电源等)。

// I use this Write function to send an array of bytes.
private bool Write(byte[] buffer)
{
    using (var bluetoothClient = new BluetoothClient())
    {
        try
        {
            var ep = new BluetoothEndPoint(_macAddress, Guid.NewGuid());
            bluetoothClient.Connect(ep);
            var bluetoothStream = bluetoothClient.GetStream();
            if (bluetoothStream != null)
            {
                bluetoothStream.Write(buffer, 0, buffer.Length);
                bluetoothStream.Flush();
                bluetoothStream.Close();
                return true;
            }
        }
        catch (Exception ex) { } 
    }
}

当我到达bluetoothClient.Connect(ep);时,它会抛出一个例外"the connected party did not properly responded after a period of time..."

如何解决这个问题灯泡的字节数组?

1 个答案:

答案 0 :(得分:0)

更改为:

var ep = new BluetoothEndPoint(_macAddress, BluetoothService.HandsFree);

它将正常工作!