C # Establecimiento de una transmisión desde un bluetooth interno 4.0 a un periférico Bluetooth de baja energía (BLE)

Estoy intentando escribir un programa que se conecta a un dispositivo Bluetooth de baja energía (BLE) y luego leer una característica en las actualizaciones o en un intervalo determinado.

Mi periférico es un dispositivo de Texas Instruments CC2540 BLE.

Mi punto de partida fue ver el programa de ejemplo de TI, que tiene un monitor de frecuencia cardíaca:http://processors.wiki.ti.com/index.php/Category:HealthDemo

Sin embargo, esto usa el dongle, y tengo la tarea de usar el módem interno de bluetooth 4.0 (lo haré en Android más adelante, pero por ahora, solo uso Windows).

Ahora mi problema es que el dongle crea un puerto COM, pero el módem interno no lo hace. Todavía logré usar la API de 32 pies para escanear y encontrar con éxito el CC2540. Sin embargo, desde aquí no sé qué hacer. He intentado llamar al método connect (), pero siempre falla al conectarse, ya sea por el tiempo de espera o por indicar que hay una red muerta.

¿Alguna idea de por qué sucede esto? ¿Se supone que debo hacer algo más que llamar a mi dispositivo.conectar ()?

Fragmento de código:

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.
     }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta