Маяки в Windows 10

есть ли способ использовать ibeacons с разработкой Windows 10? Поскольку разработка ibeacons с предыдущими версиями Windows казалась почти невозможной, будет ли у нас возможность поддерживать эту технологию сейчас?

кто-нибудь начал разрабатывать что-то подобное?

4 ответов


да, маяки поддерживаются для приложений Windows в Windows 10 через окна.Устройства.Блютус.Рекламное пространство имен

см. разговор о сборке создание убедительных приложений Bluetooth в Windows 10 и Bluetooth реклама наблюдатель и издатель образец для получения дополнительной информации.


вот как вы работаете с Apple iBeacons на основе новых API Windows 10, упомянутых в ответе Роба Каплана:

  1. начните следить за маяками:

BluetoothLEAdvertisementWatcher watcher = new BluetoothLEAdvertisementWatcher { ScanningMode = BluetoothLEScanningMode.Active };
watcher.Received += WatcherOnReceived;
  1. обрабатывать данные маяка-обратите внимание, что в зависимости от вашего сценария вам может потребоваться различать маяки, сохраняя их и сравнивая адрес 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 по умолчанию.