Получите BLE-маяк с Raspberry Pi

Я ищу учебник о том, как получить сигнал iBeacon с Raspberry PI. Я пытаюсь контролировать зону нашего склада. Как только маяк, который рекламирует определенную информацию, входит в эту зону, Rasperry Pi должен отправить запрос REST в веб-службу.

Я нашел это: Может ли RaspberryPi с BLE Dongle обнаружить iBeacons? но это не совсем отвечает на мой вопрос. Кто-нибудь знает хороший учебник, как реализовать что-то вроде выше?

(чем проще, тем лучше, я не совсем программист...:-))

Ура, Витус

1 ответ

Моя компания работает над инструментами, чтобы сделать это проще, но у нас пока нет учебника. Именно мы разместили информацию, на которую вы ссылались: Может ли RaspberryPi с BLE Dongle обнаруживать iBeacons?

Если вы хотите вызвать службу ReST при обнаружении iBeacon, вы можете использовать ее с предоставленным нами сценарием обнаружения. При запуске сценария обнаружения он записывает идентификаторы любых iBeacons, которые он видит. Вам нужно написать отдельную программу, которая читает выходные данные этого сценария, ищет идентификаторы, которые ему нужны, а затем вызывает службу ReST, когда видит их.

Соединение двух программ с помощью стандартного вывода одной и чтения ее с другой - очень распространенная техника программирования в Linux. Вы бы запустить нашу программу с ibeacon_scan -b и это вывело бы информацию ниже:

2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 1 6 -59
E2C56DB5-DFFB-48D2-B060-D0F5A71096E0 6 9 -55
74278BDA-B644-4520-8F0C-720EAF059935 0 73 -50

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

Особенности того, как вы это делаете, зависят от того, какой язык программирования вы хотите использовать. Вы можете сделать это на C, Ruby, Perl, Java или любом другом языке, поддерживаемом Raspberry Pi. Если у вас есть клиентская библиотека для службы ReST, вы, вероятно, захотите собрать эту программу на любом языке, который использует клиентская библиотека.

Полное раскрытие: я главный инженер Radius Networks.

Другие вопросы по тегам