蓝牙扫描C#
我正在开发Windows 10上的C#WinForms应用程序。我想执行蓝牙环境扫描并获取PC周围的设备列表。我也想要每个设备的RSSI。蓝牙扫描C#
我试过32feet库,但无法访问RSSI。
你有一个解决方案,或者我应该迁移到WPF/UWP?
好的,我找到了一个解决方案here。
- 您首先必须安装Windows10开发工具包。
-
然后在你的项目,你必须添加此库:
C:\Program Files (x86)\Windows Kits\10\UnionMetadata\Windows.winmd
或者你可以安装“UwpDesktop” NuGet包。
这适用于控制台应用程序,Winforms,WPF和UWP。
-
下面是一个简单的例子:
using Windows.Devices.Bluetooth.Advertisement; namespace BeaconExample { class Program { static void Main(string[] args) { var watcher = new BluetoothLEAdvertisementWatcher(); watcher.Received += Watcher_Received; watcher.Start(); } private static void Watcher_Received(BluetoothLEAdvertisementWatcher sender, BluetoothLEAdvertisementReceivedEventArgs args) { Console.WriteLine(args.BluetoothAddress.ToString("x") + ";" + args.RawSignalStrengthInDBm); } } }
仅链接答案可能会有问题(因为链接可能会在以后中断)。如果您总结了解决方案的内容,对社区会有所帮助。例如,也许你必须选择一个不同的项目类型或平台......或者使用特定的nuget软件包......或者也许这个属性并不是你所期望的......所有有用的信息都会传给下一个这样的人题 :) –
BluetoothDeviceInfo device_info = device_info.Rssi.ToString();
调用'ToString'的结果不能分配给'BluetoothDeviceInfo'类型的变量。我不认为这个代码会编译。 –
看看这个: https://stackoverflow.com/questions/34807308/bluetooth-discovery-and-signal-strength-rssi – khmub
我假设你已经在对等设备信息的32feet文档下看到[RSSI部分](https://github.com/inthehand/32feet/wiki/Peer-Device-Information#rssi)。在Windows桌面上,您要求的内容可能不可能。 –
@JeffBridgman谢谢,在Windows 7或Windows 7下,RSSI访问是不可能的。但可以通过Windows 10(我使用的平台)访问它。 我已经尝试过Windows 10上的32feet,并且RSSI似乎不起作用。我认为问题是32f库女巫不兼容。 –