Почему я не могу обнаружить маяк Bluetooth Estimote с помощью C#, но ОС Windows может их найти?
Недавно я приобрел несколько устройств Estimote и был немного расстроен тем, что Windows SDK еще не было. Поэтому я попытался сам найти устройства, поскольку они просто устройства с низким энергопотреблением Bluetooth.
Я обнаружил, что ни мой тест WPF (использующий замечательный 32feet.NET или просто код), ни устройство Windows Phone 8.1 (как на экране настроек, так и в коде) не видят эти маяки.
Но их можно увидеть на экране настроек операционной системы Windows 8. Это то, что я вижу в Windows 8, когда у меня есть Estimotes поблизости и я пытаюсь обнаружить устройства Bluetooth:
Кто-нибудь знает, почему операционная система Windows может их видеть, но ничего, что я обнаружил в C#.NET, не может обнаружить эти маяки? И есть ли у кого-нибудь обходные пути, которые позволяют мне обнаруживать маяки под Windows Phone? Мне не нужно сейчас разговаривать с ними, просто чтобы узнать, какой маяк рядом.
2 ответа
Я нашел это, когда искал похожие ответы сам. Похоже, что в настоящее время приложения Магазина Windows 8.1 и Windows Phone 8.1 не поддерживают беспараллельную природу устройств Bluetooth Smart/BLE, то есть перебирают их попутно, а не вручную, а не то, что вы хотите делать в окружении маяки). Они появляются только тогда, когда вы пытаетесь соединиться с ними вручную.
http://vincenth.net/blog/archive/2014/04/24/building-cross-platform-ibeacon-apps-for-ios-android-and-windows-with-c-and-xamarin.aspx Эта ссылка здесь подтверждает это: "Устройства Bluetooth Classic и Bluetooth Smart должны быть сначала обнаружены и сопряжены через пользовательский интерфейс настроек Windows 8.1 (ПК и устройства>Bluetooth), прежде чем они станут доступны через API среды выполнения Windows для Bluetooth"
Действительно расстраивает.
Что касается вопроса в заголовке: WinBeacon - это управляемая библиотека C#, которая может обнаруживать iBeacon, а также может выступать в качестве маяка. Отлично подходит для тестирования.
К сожалению, это работает только в ОС Windows, а не в варианте Windows Phone.