c# xml windows bluetooth windows-phone

c# - (Dis) Conexión de dispositivos bluetooth con Windows.Devices.Bluetooth.Rfcomm(WP8.1)



xml windows-phone (1)

Probaba con CoolTerm y veo si eso funciona para ti. Estaba teniendo un problema similar al conectar un altavoz con un chip DSP Sigma a través de una conexión USB, por lo que si tiene problemas para ver dispositivos externos, es posible que el dispositivo sea incompatible con su computadora. Descarga CoolTerm y ve a opciones y debajo de Puerto serie, debes cambiar tu puerto a la conexión deseada (bluetooth, usb, etc.) Luego edita las opciones según sea necesario y ve a la ventana principal y presiona connect para ver si te funciona.

Conectarse y desconectarse a dispositivos Bluetooth ha dado varios resultados en Windows Phone / Desktop 8.1. He estado usando el espacio de nombres Windows.Devices.Bluetooth.Rfcomm y he intentado conectar varios dispositivos con diferentes versiones / clases de Bluetooth.

  • Versión 1.2 (Clase 1 y 2)
  • Versión 2.0 (Clase 1 y 2)
  • Versión 2.1 (Clase 1 y 2)
  • Probado en Nokia Lumia 625 y Lumia 635, Dell Latitude E6500 y Dell Precision M6400.

Cada vez que trato de conectarme a cualquiera de los dispositivos 2.0 o 2.1, hay problemas. La primera vez que intento conectarme a cada uno de los dispositivos, todo irá bien y la conexión se abrirá. Cuando cierro la conexión y vuelvo a conectar el dispositivo, comienza el problema. Durante la reconexión, la conexión nunca se abrirá y el depurador lanzará una System.Exception:

> Message: No further data is available.

Además, cuando la conexión falla, los dispositivos con Windows 8.1 seguirán intentando (sin éxito) conectarse a los dispositivos Bluetooth por sí mismos, incluso cuando mi propia aplicación finalice. A veces, el dispositivo con Windows 8.1 también mostrará el dispositivo Bluetooth como conectado, mientras que el dispositivo muestra visualmente que ya no está conectado. La única forma de volver a conectar el dispositivo Bluetooth es desvincularlo y apagar / reiniciar Bluetooth en el dispositivo con Windows.

Cada vez que trato de hacer una nueva llamada a DeviceInformation después de una conexión fallida, se negará a devolver el dispositivo que intenté conectar anteriormente.

> Message: The service cannot be found in the specified name space.

Extraño resultado, los 1.2 dispositivos funcionan perfectamente.

Archivo de manifiesto:

<m2:DeviceCapability Name="bluetooth.rfcomm"> <m2:Device Id="any"> <m2:Function Type="serviceId:00001101-0000-1000-8000-00805F9B34FB"/> </m2:Device> </m2:DeviceCapability>

Seleccionar dispositivo:

Guid RfcommChatServiceUuid = Guid.Parse("00001101-0000-1000-8000-00805F9B34FB"); await DeviceInformation.FindAllAsync(RfcommDeviceService.GetDeviceSelector(RfcommServiceId.FromUuid(RfcommChatServiceUuid)));

Conectando: (id = chatserviceid)

StreamSocket _socket; RfcommDeviceService service = await RfcommDeviceService.FromIdAsync(deviceInformation1._id); await _socket.ConnectAsync(service.ConnectionHostName, service.ConnectionServiceName);

Desconectando:

this._socket.Dispose(); this._socket = null;

Investigué MSDN, ejemplos de código, demostraciones, videos de canal 9 y StackOverflow, ningún recurso puede decirme si hay problemas con Windows.Devices.Bluetooth.Rfcomm .

¿Hay alguien que reconozca estos resultados extraños? ¿Estoy haciendo algo mal?

ACTUALIZACIÓN: Trabajar con Windows Phone 8.1 GDR2 es una posible solución.

NOTA: Para mí y para muchas otras personas, esta actualización aún presenta los mismos problemas.