programing

(Dis)Bluetooth 기기를 Windows와 연결합니다.장치들.블루투스.Rfcomm (WP8.1)

oldcodes 2023. 10. 11. 20:57
반응형

(Dis)Bluetooth 기기를 Windows와 연결합니다.장치들.블루투스.Rfcomm (WP8.1)

윈도우 폰/데스크탑 8.1에서 블루투스 기기에 연결했다가 끊는 것은 다양한 결과를 제공하고 있습니다.사용해왔습니다.Windows.Devices.Bluetooth.Rfcomm네임스페이스와 저는 블루투스 버전/클래스가 다른 여러 장치들을 연결하려고 했습니다.

  • 버전 1.2 (클래스 1,2)
  • 버전 2.0 (클래스 1, 2)
  • 버전 2.1 (클래스 1, 2)
  • Nokia Lumia 625 및 Lumia 635, Dell Latitude E6500 및 Dell Precision M6400에서 테스트되었습니다.

2.0 또는 2.1 장치에 연결하려고 할 때마다 문제가 발생합니다. 처음 각 장치에 연결을 시도하면 모든 것이 잘 되고 연결이 열립니다. 나중에 연결을 닫고 장치를 다시 연결하면 문제가 발생합니다.다시 연결하는 동안 연결이 열리지 않고 디버거가 시스템을 던집니다.예외:

> Message: No further data is available.

또한 연결에 실패하면 Windows 8.1 장치에서 자체 응용 프로그램이 종료된 경우에도 자체적으로 Bluetooth 장치에 연결하려고 계속 시도합니다(실패).때로는 Windows 8.1 장치에서도 Bluetooth 장치가 연결되어 있는 것으로 표시되고 장치에서는 더 이상 연결되어 있지 않은 것으로 시각적으로 표시됩니다.Bluetooth 장치를 다시 연결하는 유일한 방법은 Windows 장치에서 Bluetooth를 종료/재시작하는 것입니다.

에 새로운 전화를 걸려고 할 때마다DeviceInformation연결에 실패하면 이전에 연결하려고 했던 장치를 반환하지 않습니다.

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

이상한 결과, 1.2 장치는 완벽하게 작동합니다.

매니페스트 파일:

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

장치 선택:

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

연결 중:(id = chatserviceid)

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

연결 끊기:

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

MSDN, 코드 샘플, 데모, 채널-9 비디오 및 StackOverflow에 대해 조사해 보았지만, 어떤 리소스도 문제가 있는지 알 수 없습니다.Windows.Devices.Bluetooth.Rfcomm.

이런 이상한 결과를 알아본 사람이 있습니까?내가 뭘 잘못하고 있나요?

업데이트: 윈도우 폰 8.1 GDR2와 함께 작업하는 것이 가능한 해결책입니다.

참고: 저와 다른 여러 사람들에게 이 업데이트는 여전히 동일한 문제를 제공합니다.

CoolTerm을 사용해보고 당신에게 도움이 되는지 알아보겠습니다.USB 연결을 통해 Sigma DSP 칩이 내장된 스피커를 연결하는 데 유사한 문제가 발생했습니다. 따라서 외부 장치를 보는 데 문제가 있는 경우 장치가 컴퓨터와 호환되지 않을 수 있습니다.CoolTerm 다운로드 후 옵션으로 이동하고 Serial Port(직렬 포트)에서 원하는 연결(Bluetooth, usb 등)로 포트를 변경해야 합니다.그런 다음 필요에 따라 옵션을 편집하고 기본 창으로 이동하여 연결을 눌러 사용자에게 적합한지 확인합니다.

언급URL : https://stackoverflow.com/questions/26970395/disconnecting-bluetooth-devices-with-windows-devices-bluetooth-rfcomm-wp8-1

반응형