7

我正在尝试编写一个连接到蓝牙低功耗设备(BLE)的程序,然后在更新或给定时间间隔读取特征。

我的外设是德州仪器 CC2540 BLE 设备。

我的出发点是查看 TI 的示例程序,它有一个心率监测器:http://processors.wiki.ti.com/index.php/Category: HealthDemo

但是,这使用了加密狗,我的任务是使用内部蓝牙 4.0 调制解调器(稍后将在 android 上实现,但现在,我只使用 windows)。

现在我的问题是加密狗创建了一个 COM 端口,但内部调制解调器没有。我仍然设法使用 32feet API 扫描并成功找到 CC2540。但是,从这里我不知道该怎么办。我试过调用 connect() 方法,但它总是无法连接,要么是超时,要么是说有一个死网。

任何想法为什么会发生这种情况?除了打电话给我的 device.connect() 之外,我还应该做点别的吗?

代码片段:

BluetoothClient cli;
BluetoothDeviceInfo[] peers;
BluetoothDeviceInfo device;
BluetoothAddress adr;

//... skipping code that finds the device and assigns the address to it.

if (device.InstalledServices.Length != 0)
{
     try
     {
          //MessageBox.Show("attempting to connect");
          cli.Connect(device.DeviceAddress, device.InstalledServices[2]);
          //tbDeviceInfo.AppendText("\n\nConnected " + device.Connected);
     }
     catch (Exception ex)
     {                        
          MessageBox.Show(ex.Message);
          // i always get this exception.
     }
}
4

2 回答 2

3

我不想误会你,但 32feet 目前不支持蓝牙低功耗。(截至 2012 年 11 月)。

于 2012-11-18T07:53:38.683 回答
1

使用 32Feet 库似乎不支持低功耗蓝牙。见这里。或者,您可以查看这个确实提供支持的蓝牙库,但我没有尝试过,也不能声称支持有多好。看这里

于 2013-02-19T09:59:15.790 回答