Маяки в Windows 10 - программирование

Маяки в Windows 10

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

Кто-нибудь начал разрабатывать что-то вроде этого?

4b9b3361

Ответ 2

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

  • Начать просмотр маяков:

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 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();
            }
        }
    }
}

Это также то, как я реализовал его в библиотеке Universal Beacon с открытым исходным кодом, которая поставляется с полным примером кода и приложением, чтобы попробовать: https://github.com/andijakl/universal-beacon

Ответ 3

Ранее Microsoft заявила, что будет поддерживать сканирование, контролируемое приложением, для устройств Bluetooth LE в Windows 10. Это основная возможность, отсутствующая в Windows 8.x для мобильных и настольных компьютеров. См. Здесь для получения дополнительной информации: fooobar.com/questions/43562/...

До сих пор опубликованные API предварительного просмотра для Windows 10 не раскрывали эту функциональность. Если и когда он будет открыт, эти API должны иметь возможность построить библиотеку для обнаружения маяков Bluetooth LE.

EDIT: эта возможность теперь доступна в новом классе BluetoothLeAdvertisementWatcher. В ожидании этой возможности мы начали работу с открытым исходным кодом Windows Beacon Library, которая в конечном итоге будет разработана для использовать в Windows 10. Эта работа находится только в зачаточном состоянии. На данный момент его можно использовать только на устройствах Windows 8.x в сочетании с дополнительными Bluetooth-ключами сканирования, которые могут передавать результаты сканирования в библиотеку для разбора.

Если вы заинтересованы в оказании помощи в этих усилиях, отправьте примечание по проекту GitHub, указанному выше.

Ответ 4

Для pre-Windows 10 вы можете использовать управляемую библиотеку С# WinBeacon. Библиотека использует простой уровень HCI и разговаривает непосредственно с ключом вместо использования стандартного пакета Bluetooth.