Маяки в Windows 10
есть ли способ использовать ibeacons с разработкой Windows 10? Поскольку разработка ibeacons с предыдущими версиями Windows казалась почти невозможной, будет ли у нас возможность поддерживать эту технологию сейчас?
кто-нибудь начал разрабатывать что-то подобное?
4 ответов
да, маяки поддерживаются для приложений Windows в Windows 10 через окна.Устройства.Блютус.Рекламное пространство имен
см. разговор о сборке создание убедительных приложений Bluetooth в Windows 10 и Bluetooth реклама наблюдатель и издатель образец для получения дополнительной информации.
вот как вы работаете с Apple iBeacons на основе новых API Windows 10, упомянутых в ответе Роба Каплана:
- начните следить за маяками:
BluetoothLEAdvertisementWatcher watcher = new BluetoothLEAdvertisementWatcher { ScanningMode = BluetoothLEScanningMode.Active };
watcher.Received += WatcherOnReceived;
- обрабатывать данные маяка-обратите внимание, что в зависимости от вашего сценария вам может потребоваться различать маяки, сохраняя их и сравнивая адрес Bluetooth
private void WatcherOnReceived(BluetoothLEAdvertisementWatcher sender, BluetoothLEAdvertisementReceivedEventArgs btAdv)
{
// Optional: distinguish beacons based on the Bluetooth address (btAdv.BluetoothAddress)
// Check if it's a beacon by Apple
if (btAdv.Advertisement.ManufacturerData.Any())
{
foreach (var manufacturerData in btAdv.Advertisement.ManufacturerData)
{
// 0x4C is the ID assigned to Apple by the Bluetooth SIG
if (manufacturerData.CompanyId == 0x4C)
{
// Parse the beacon data according to the Apple iBeacon specification
// Access it through: var manufacturerDataArry = manufacturerData.Data.ToArray();
}
}
}
}
Это также то, как я реализовал его в открытом источник универсальный Маяк библиотека, которая поставляется с полным образцом кода и приложение, чтобы попробовать его:https://github.com/andijakl/universal-beacon
Microsoft ранее указала, что будет поддерживать сканирование с управлением приложениями для устройств Bluetooth LE в Windows 10. Это фундаментальная возможность, которая отсутствует в Windows 8.x для мобильных и настольных компьютеров. См. здесь для получения дополнительной информации:https://stackoverflow.com/a/26234432/1461050
до сих пор опубликованные API предварительного просмотра для Windows 10 не предоставили эту функцию. Если и когда он подвергается, эти API должны быть возможны для создания библиотека для обнаружения Bluetooth LE маяков.
EDIT: эта возможность теперь доступна в новом BluetoothLeAdvertisementWatcher
класса. В ожидании этой возможности мы начали работу над открытым исходным кодом Библиотека Маяка Windows который в конечном итоге будет разработан для использования в Windows 10. Эта работа только зарождается. На данный момент он может использоваться только в Windows 8.X устройства в сочетании с дополнительными Bluetooth-ключами сканирования, которые могут проходить результаты сканирования в библиотеку для анализа.
Если вы заинтересованы в помощи в этих усилиях, пожалуйста, отправьте записку через проект GitHub, связанный выше.
для pre-Windows 10 вы можете использовать управляемую библиотеку C#WinBeacon. Библиотека использует простой слой HCI и разговаривает непосредственно с ключом вместо использования стека Bluetooth по умолчанию.