C# 32英尺的异步HFP发现

C# 32英尺的异步HFP发现,c#,wpf,bluetooth,32feet,C#,Wpf,Bluetooth,32feet,我正在写一个蓝牙扫描仪来监控我家外面的交通。据我所知,车载BT设备通常有三种状态:可见(始终打开)、受限和不可见 我正在使用异步设备发现和Bluesoleil驱动程序,以及1级蓝牙加密狗 我的问题是没有发现设备名称和设备类。它发现的是设备地址和范围,而不是设备的名称 我尝试过使用System.Threading.Thread.Sleep(1000),然后调用device.Refresh()但没有效果 它正在收集范围内的一些东西的名称,如电视和Fitbit Flex,但重要的是我可以找到汽车蓝牙设

我正在写一个蓝牙扫描仪来监控我家外面的交通。据我所知,车载BT设备通常有三种状态:可见(始终打开)、受限和不可见

我正在使用异步设备发现和Bluesoleil驱动程序,以及1级蓝牙加密狗

我的问题是没有发现设备名称和设备类。它发现的是设备地址和范围,而不是设备的名称

我尝试过使用System.Threading.Thread.Sleep(1000),然后调用device.Refresh()但没有效果

它正在收集范围内的一些东西的名称,如电视和Fitbit Flex,但重要的是我可以找到汽车蓝牙设备的名称和CoD,而不仅仅是MAC地址和范围

  public void SetupListener()
    {
        var client = new BluetoothClient();
        var component = new BluetoothComponent(client);
        component.DiscoverDevicesAsync(255, false, false, true, false, null);
        component.DiscoverDevicesProgress += component_DiscoverDevicesProgress;
        component.DiscoverDevicesComplete += component_DiscoverDevicesComplete;
    }

    void component_DiscoverDevicesComplete(object sender, DiscoverDevicesEventArgs e)
    {
        SetupListener();
    }

    void component_DiscoverDevicesProgress(object sender, DiscoverDevicesEventArgs e)
    {
        BluetoothDeviceInfo[] availableDevices = e.Devices as BluetoothDeviceInfo[];
        foreach (BluetoothDeviceInfo device in availableDevices)
        {
            device.Refresh();

            var name = device.DeviceName; // This mostly returns the MAC address
            var cod = device.ClassOfDevice.Device; // This mostly returns Miscellaneous
        }
    }
我构建的应用程序是一个简单的WPF表单,它将找到的设备转储到datagrid(为了简单起见,我从代码中删除了datagrid)。结果通常是这样的

当我坐在外面离公路更近的地方时,它肯定会在汽车经过时接收到越来越多的设备,但我不知道它检测到的是什么类型的设备


任何帮助都将不胜感激。

Miscellaneous是一个CoD,因此可能是设备实际设置为Miscellaneous?我刚刚测试了我的32英尺,有很多显示为杂项,没有名字。