我正在尝试编写一个连接蓝牙低功耗设备(BLE)的程序,然后在更新时或在给定的时间间隔内读取特征。
My Peripheral是德州仪器的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.
}
}