连接到蓝牙设备/如何设置射频通信功能

本文关键字:设置 功能 通信 何设置 连接 | 更新日期: 2023-09-27 18:31:58

我正在尝试连接到蓝牙设备

我已经配对了它,当我搜索它时,我找到了它:

private async void Grid_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
    ListBox1.Items.Clear();
    var devices = await DeviceInformation.FindAllAsync(RfcommDeviceService.GetDeviceSelector(RfcommServiceId.SerialPort)); 
    var device = devices.FirstOrDefault(c => c.Name.Contains("BMMTCA32"));
    foreach (var element in device.Properties)
    {
        var strMessage = element.Key + (element.Value == null ? "" : " = " + element.Value.ToString());
        ListBox1.Items.Add(strMessage);
    }
}

这是我的列表框中的输出:

System.ItemNameDisplay = BMMTCA32-01
System.Devices.DeviceInstanceId = BTHENUM'{00001101-0000-1000-8000-00805f9b34fb}_LOCALMFG&0048'8&f358302&0&0012F31DECF3_C00000000
System.Devices.Icon = C:'Windows'System32'DDORes.dll,-2001
{51236583-0C4A-4FE8-B81F-166AEC13F510} 123 = C:'Windows'SYSTEM32'DDORes.dll,-3001
System.Devices.InterfaceEnabled = True
System.Devices.IsDefault = False
System.Devices.PhysicalDeviceLocation

但我的问题是如何连接到它?

当我尝试谷歌搜索时,我得到的答案是你设置了 rfcomm 功能吗? 有关一些详细信息,请参阅 http://msdn.microsoft.com/en-us/library/windows/apps/dn263090.aspx。

但是当我查看该页面时,我迷路了,因为我不知道在清单文件中写什么。

简而言之:如何连接到设备?

PS:这是一个Windows平板电脑程序。

连接到蓝牙设备/如何设置射频通信功能

所以你想知道你必须在清单文件中写什么,以及如何连接?

清单文件:

   <m2:DeviceCapability Name="bluetooth.rfcomm">
      <m2:Device Id="any">
        <m2:Function Type="serviceId:00001101-0000-1000-8000-00805F9B34FB"/>
      </m2:Device>
    </m2:DeviceCapability>
  • 您可以将 Id 保留在 "any" .
  • 函数类型可以是"name:serialPort",也可以是示例中指定的服务 ID。

连接:

StreamSocket _socket;    
RfcommDeviceService service = await RfcommDeviceService.FromIdAsync(device.id);
await _socket.ConnectAsync(service.ConnectionHostName, service.ConnectionServiceName);

应该能够做到这一点。