HM-10 и iOS/iBeacon. Общение между двумя

Я пытаюсь осмыслить возможности HM-10, но во многом не знаком с тем, как он работает. Я знаком только с вещами более высокого уровня.

Сначала я думал, что буду использовать hm-10 в качестве iBeacon, но быстро обнаружил его ограничения. Вот первоначальный план:

iBeacon (HM-10) вещает в определенной комнате, когда я вхожу со своим iPhone, он обнаруживает мой iPhone, а затем что-то делает, т.е. устанавливает один из своих контактов на высокий уровень.

Но, исходя из моего исследования, это невозможно с iBeacon? Мне нужно использовать вещание iBeacon в руке с обычным bluetooth?

Например, когда мое приложение/телефон обнаруживает iBeacon, оно затем соединяется с HM-10 и отправляет AT-команду, чтобы установить один из контактов в ВЫСОКОЕ состояние.

Имеет ли все это смысл? Может ли кто-нибудь предоставить больше информации?

Я нахожусь в процессе создания приложения для iPhone, но просто хотел знать, на правильном ли я пути.


person Mr Dog    schedule 03.05.2015    source источник


Ответы (1)


Поскольку HM-10 основан на CC2540, должна быть возможность превратить его в маяк Bluetooth LE, включая тот, который поддерживает формат iBeacon.

Несколько мыслей, которые помогут вашему пониманию:

  1. Стандартные маяки Bluetooth LE (AltBeacon, iBeacon, URL-маяк) передают только устройства, которые не обнаруживают телефоны — телефоны обнаруживают их с помощью специального приложения. Поэтому, когда вы говорите «он обнаруживает мой iPhone, а затем что-то делает», это отличается от стандартного маяка Bluetooth LE.

  2. Концепция «сопряжения» с устройством Bluetooth обычно связана с классической технологией Bluetooth (например, до версии 4.0). Устройства Bluetooth LE, такие как упомянутые выше маяки, имеют концепцию подключения для чтения и записи характеристик GATT.

  3. Если вы создадите собственное BLE-устройство из HM-10/CC2540, можно будет заставить его «обнаруживать» мобильные телефоны, возможно, рекламируя службу GATT, а затем выполняя какие-либо действия при подключении и/или записи в характерная черта. Поскольку CC2540 содержит контакты GPIO, можно было бы заставить его «что-то делать», поставив контакт на высокий уровень.

То, что вы описываете, состоит из двух больших частей работы: (1) написание специальной прошивки для CC2540 и (2) написание приложения для iPhone с использованием CoreBluetooth и/или CoreLocation API-интерфейсов iBeacon. Прежде чем начать на стороне iOS, вам нужно выяснить, как будет работать устройство Bluetooth.

person davidgyoung    schedule 03.05.2015
comment
Большое спасибо за подробный ответ. Не могли бы вы сказать, что есть способ сделать это без написания клиентской прошивки? Я не думаю, что обладаю знаниями для написания прошивки, приложение для iPhone, с которым я справлюсь. Если бы я использовал HM-10 в качестве устройства BLE, а не ibeacon, можно ли было бы сделать то, что я ищу? - person Mr Dog; 04.05.2015