Обнаруживаются ли устройства с поддержкой BLE по умолчанию?

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

Я хотел бы понять, отправляют ли такие обнаруживаемые пакеты по умолчанию такие устройства, как мобильные телефоны (iOS / Android)? Или их нужно настроить (например, через приложение) для явной рекламы себя или некоторых битов данных?


person James    schedule 29.12.2015    source источник


Ответы (2)


Нет, по умолчанию они не обнаруживаются.

Том 3 спецификации Bluetooth 4.x определяет два обнаруживаемых режима:

  • 9.2.3 - Режим ограниченной доступности для обнаружения

Ограниченный режим обнаружения обычно используется, когда пользователь выполняет определенное действие, чтобы сделать устройство доступным для обнаружения в течение ограниченного периода времени.

  • 9.2.4 - Общий режим обнаружения

Общий режим обнаружения обычно используется, когда устройство предполагается обнаружить в течение длительного периода времени.

Хороший дизайн BLE будет заключаться в том, чтобы устройство оставалось бездействующим на неопределенное время для экономии заряда батареи, пока не потребуются какие-либо действия. Дизайнер полностью решает, когда размещать рекламу, как долго и с какими интервалами. Вы можете активировать его кнопкой или активировать сразу после загрузки.

Однако, если ваше устройство не имеет пользовательского интерфейса и не может быть активировано вручную (например, узел датчика широковещательной передачи), то может показаться, что у вас нет другого выбора, кроме как использовать общий режим обнаружения и непрерывно размещать рекламу. Вам нужно будет выбрать рекламный интервал, который является лучшим компромиссом между экономией энергии и возможностью обнаружения.

Также возможно иметь повторяющиеся окна режима ограниченной видимости.

Модуль Laird, который я использую, имеет это в примечание по приложению:

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

Я также нашел эта цитата:

Многие продукты BLE большую часть времени спят, просыпаясь только для рекламы и подключения при необходимости. Это означает, что реклама имеет большое влияние на энергопотребление.

И чтобы ответить на вторую часть вашего вопроса, Если устройство не рекламируется, ни один из Центров не сможет подключиться к нему.

Теперь со всем сказанным. Многие устройства рекламируются все время с момента установки батарей. Например, устройства, совместимые с Apple iBeacon, будут рекламировать непрерывно с интервалом 100 мс, пока не разрядятся батареи. Здесь представлено интересное введение в тему интервала показа рекламы и времени автономной работы .

person Mark Ch    schedule 29.12.2015
comment
Но разве BLE не всегда включен? Я думал, что все дело в том, что при реализации он потребляет очень мало энергии от батареи. - person James; 30.12.2015
comment
Ну @ Джеймс, ты наверняка заставил меня задуматься. В настоящее время я обновляю продукт с классического BT до BLE, и я планирую иметь 1-минутное окно сопряжения, активируемое кнопкой, после которого модуль BLE полностью переходит в неактивное состояние (если не было установлено соединение). Я признаю, что модуль Laird, на который я смотрел, настолько хорошо справляется с инкапсуляцией конкретной реализации BLE, что мне не пришлось много о нем узнавать, чтобы заставить его работать. - person Mark Ch; 30.12.2015
comment
добавлены дополнительные быстрые исследования, надеюсь, они будут полезны. пожалуйста, не стесняйтесь делиться любой информацией, которую вы найдете, я чувствую, что мне еще есть чему поучиться на BLE. - person Mark Ch; 30.12.2015
comment
+1 спасибо за информацию, очень полезно. Однако меня вообще не интересует подключение к устройствам, я просто хочу знать, находятся ли они поблизости. Если бы упомянутые устройства, куда будут транслировать пакеты информации, включающие их MAC-адрес, было бы достаточно, это не звучит так, как будто это норма для BLE. Я предполагаю, что я надеялся, что если бы у меня было устройство, которое активно сканирует, периферийные устройства будут выдавать ответ типа Я вижу, что вы набираете, похоже, что периферийные устройства не будут этого делать, если им явно не сказано сделать это при чтении X данные. - person James; 31.12.2015
comment
Я просто не думаю, что это так легко обобщать. Объем bt 4.x охватывает такое огромное количество различных устройств, все с разным поведением и допускающие множество проприетарных настроек. - person Mark Ch; 31.12.2015
comment
да, я надеялся, что, возможно, существует сценарий рукопожатия по умолчанию, через который должны пройти все устройства, то есть маяк: я здесь, устройство: я вижу вас - все, что помимо этого, например, подключение / обмен данными, будет зависеть от устройства. - person James; 31.12.2015
comment
ну, вы не совсем ошибаетесь ... только то, что устройства с поддержкой BLE - это слишком широкая категория. Если вы выберете подмножество устройств, например устройства, поддерживающие Apple iBeacon, то да, все они будут постоянно скричать рекламу с момента установки батарей с интервалом 100 мс. Фактически, теперь, зная, какова ваша цель ... на самом деле многие устройства действительно рекламируются все время ... только не все !! Я добавил к ответу последний абзац. Думаю, я оставлю это здесь. Спасибо за интересное обсуждение. - person Mark Ch; 31.12.2015
comment
Я знаю, что в конечном итоге будут ограничения, однако большинство современных телефонов (которые, скорее всего, сейчас занимают большую часть рынка) должны иметь поддержку маяков. Он никогда не будет точным на 100%, но если он поможет вам достичь ориентиров, этого будет достаточно :) Спасибо за ваше время и усилия! - person James; 31.12.2015

Это сильно зависит от характера устройства.

Мобильные телефоны, столы

Во-первых, не все мобильные телефоны вообще могут давать рекламу. Более новые могут. Например, в Android 5.0 появилась возможность рекламировать. Более ранние версии могли быть только централизованными или наблюдательными.
Те, которые могут рекламировать, не рекламируются по умолчанию. Рекламу нужно включить из приложения.

Маяки

С другой стороны, маячки по умолчанию рекламируют. Они все время рекламируют. Все, чем они занимаются, - это широковещательная реклама.

person Nick Alexeev    schedule 29.12.2015
comment
Здесь я строго имею в виду устройства с поддержкой BT 4.0, если вы не имеете в виду, что некоторые из них ограничены ОС? Есть ли разница между доступностью и рекламой? Например, ищут ли устройства BLE (учитывая, что он всегда включен) ближайшие маяки? (аналогично Wi-Fi) - person James; 29.12.2015
comment
Сначала вы спрашивали, отправляют ли устройства [...] эти доступные для обнаружения пакеты по умолчанию? Теперь вы спрашиваете, ищут ли устройства BLE [...] поблизости маяки? Так что это? Мне непонятно, чего вы хотите. - person Nick Alexeev; 30.12.2015
comment
вопрос остается прежним: в конечном итоге, если устройство выполняет поиск, оно отправляет пакет. Мне просто интересно знать, будет ли устройство с поддержкой BLE отправлять пакеты без явной настройки для этого (например, как пакет типа I am here) - person James; 30.12.2015
comment
@James - когда устройство Bluetooth LE выполняет поиск, оно просто прослушивает рекламные пакеты. Сама по себе она не транслирует. Даже маяки и другие устройства, о которых Ник упоминает выше, должны быть запрограммированы (прошивка и т. Д.) Для отправки рекламных пакетов. Для таких вещей, как iBeacons, единственное, что они делают, это рекламируют, но другие разрешают соединения и обычно прекращают рекламу после того, как соединение установлено. - person Brad Larson; 30.12.2015
comment
@BradLarson, спасибо, да, все, что я читал, намекает на это - я не знаю внутренней работы стека BLE, поэтому я не был уверен, транслировали ли они общий пакет типа Я здесь (хотя задним числом , вот что такое реклама). - person James; 30.12.2015
comment
@BradLarson Я полагаю, когда периферийное устройство видит рекламные данные, оно автоматически не пытается с ним связаться? Например, сценарий типа рукопожатия, который происходит между двумя устройствами, то есть маяк: я здесь, устройство: я тебя вижу !? - person James; 31.12.2015
comment
@James - Действия устройства в ответ на рекламные данные полностью зависят от его программирования / дизайна. Для таких вещей, как iBeacons, нет причин подключаться к ним, поэтому принимающее устройство просто принимает рекламные объявления и извлекает из них данные. Ответ не отправляется, и iBeacon ничего не сделает с ним, если он будет отправлен. Для устройств, использующих соединения, соединение может быть инициировано в ответ на рекламный пакет, но это не обязательно. Все зависит от того, что хочет делать центральное устройство. - person Brad Larson; 31.12.2015