Могу ли я читать данные iBeacon с помощью Arduino?
Я использую модуль HM-10 и Arduino UNO.
Мое требование - читать данные с ibeacons рядом со мной, используя Arduino. Является ли это возможным? Я не смог найти ни одной статьи по этому вопросу. Во всех статьях рассказывается о подключении вашего андроид телефона к Arduino. Любая идея?
3 ответа
Да, это возможно. Я использую HM-10 в качестве детектора iBeacon (linksprite.com BLE 4.0 Shield), и он успешно обнаруживает RadBeacon, работающий в режиме iBeacon. Прошивка на моем HM-10 - версия 540.
Прежде чем он обнаружит RadBeacon, мне пришлось отправить HM-10 следующие команды:
AT+ROLE1
AT+IMME1
AT+RESET
Тогда я использовал AT-DISI? команда, и последовательный монитор показывает широковещательную передачу, принятую от радиомаяка (и еще одного маяка), следующим образом (например):
OK + DISISOK + DISC: 4C000215: 2G234454CF6D5A0FADF2F4911BA9FFA7: 00000001AC: 0CF3EE041CCE: -052OK + DISC: 00000000: 00000000000000000000000000000000: 0000000000: B9782E08068C: -071OK + DISCE
В этом примере HM-10 обнаруживает мой RadBeacon, который имеет UUID 2G234454... с силой сигнала -052. Он также обнаруживает другой маяк BLE (мой AppleTV внизу) с UUID B9782E08068C с силой сигнала -071.
Я определенно не очень разбираюсь во всем этом, но мне кажется, что пока это работает. Следующей задачей для меня будет выяснить, как анализировать получаемые текстовые данные. В основном меня интересуют данные о расстоянии / силе сигнала, чтобы вызвать действие, когда RadBeacon подходит очень близко к HM-10.
[Полное раскрытие: я перемешал некоторые из номеров UUID выше, так как я не уверен, является ли какая-либо из этой информации частной или взломанной или что-то еще]
[Кстати, BLE Shield nRF8001 не будет этого делать, поскольку он работает только в периферийном режиме.]
Да, вы можете получить минимальное и максимальное количество ближайших iBeacons. Вам нужно прикрепить hm-10 к Arduino Uno.
Попробуйте использовать эту библиотеку: https://github.com/dinosd/BLE_PROXIMITY Вы можете настроить подходящие AT-команды, если хотите их настроить. Но это должно работать и с настройками по умолчанию.
Используйте SoftwareSerial для доступа к HM-10.
В версии встроенного ПО V539 HM-10 добавлена команда AT для отображения списка ближайших iBeacons. Команда AT+DISI?
, Вам просто нужно настроить Arduion для отправки этой команды через последовательный порт и анализа возвращаемых данных.