- PVSM.RU - https://www.pvsm.ru -
С использованием технологии Bluetooth Low Energy, которую ещё называют Bluetooth Smart, можно создавать iBeacon [1]-маяки. Маяк периодически оповещает окружающие устройства о своём присутствии, а устройства, оснащённые соответствующими приложениями, определяют расстояние до маяка и выполняют некие действия. Если подобная система установлена в музее, смартфон посетителя может показать ему дополнительные сведения об экспонатах, основываясь на положении человека в выставочном зале. По той же схеме можно организовать, например, предоставление скидок в магазинах и любые другие варианты взаимодействия с пользователем, которые предусматривают его присутствие в некоторой области пространства.
Сегодня мы расскажем о том, как создать iBeacon-приложение для Intel Galileo и Intel Edison. Приложение информирует окружающих о присутствии платы, которая выглядит для них как BLE-маяк. Принять сигнал можно, например, с помощью программы для смартфона, которая способна обнаружить присутствие маяка и измерить расстояние от него до мобильного устройства. Готовый код приложения «BLE iBeacon», предназначенного для Edison и Galileo, можно найти здесь [3].
Этот пример демонстрирует применимость технологии BLE iBeacon для идентификации местоположения BLE-маяка (в данном случае – платы Edison или Galileo) относительно мобильного устройства. Если вас интересуют особенности создания проекта, в том числе – подробные технические сведения, загляните сюда [4]. Наша разработка протестирована на Intel Edison с установленной платой расширения Arduino.
Обратите внимание на то, что так как здесь мы используем Bluetooth Low Energy, необязательно, чтобы мобильное устройство и маяк были подключены к одной и той же Wi-Fi-сети. В то же время, плата и компьютер, на котором запущена среда разработки Intel XDK IoT Edition, должны быть подключены к одной и той же сети.
Для успешного освоения этого руководства ваше рабочее место должно соответствовать следующим требованиям:
Intel Edison
Здесь мы расскажем о том, как использовать примеры кода для создания проекта, который позволит плате оповещать окружающие устройства о своём присутствии с использованием BLE.
Создание нового проекта в Intel XDK IoT Edition
Переход к выбору шаблона приложения
Выбор шаблона
Создание проекта
Здесь мы расскажем о том, как включить BLE на плате. Для того, чтобы выполнить нижеприведённые шаги, нужно будет подключиться к плате, используя средства закладок SSH Terminal или Serial Terminal, которые имеются в Intel XDK IoT Edition. Вот несколько полезных ссылок с подробностями о том, как организовать в XDK терминальное подключение к плате по последовательному порту.
После того, как подключение будет установлено, сделайте следующее:
rfkill unblock bluetooth
hciconfig hci0 up
vi /etc/opkg/base-feeds.conf
src/gz all http://repo.opkg.net/edison/repo/all
src/gz edison http://repo.opkg.net/edison/repo/edison
src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
Сохраните изменения и выйдите из редактора.
rfkill unblock bluetooth
killall bluetoothd
hciconfig hci0 up
Здесь рассмотрим сборку, выгрузку на плату и запуск приложения, которое позволяет устройству работать с BLE-модулем.
Если в консоли, расположенной в нижней части окна программы, выводится сообщение о том, что невозможно обнаружить MRAA, вы должны будете обновить библиотеку MRAA на плате. Для того, чтобы это сделать, щёлкните по значку Manage your daemon/IoT device в правой нижней части окна, затем выберите пункт Update libraries on board.
Если приложение удалось запустить на плате – это пол дела. Проект нужно протестировать с использованием смартфона и подходящего мобильного приложения, рассчитанного на работу с BLE iBeacon-устройствами. В подобных приложениях обычно имеется команда, которая может называться Locate Beacon (Обнаружить маяк). Она позволяет находить маячки, расположенные поблизости и рассчитывать расстояние до них. Вот пара подходящих приложений: одно для iOS [15] и ещё одно – для Android [16].
Мы рассказали о том, как, пользуясь возможностями Bluetooth Low Energy, сделать из Intel Edison или Intel Galileo iBeacon-маячок, который способен оповещать о своём присутствии устройства, расположенные неподалёку от него. Мы видим несколько вариантов использования предлагаемого решения. Первый, рассчитанный на небольшие и учебные проекты, предусматривает использование платы в роли конечного устройства. Ещё один вариант заключается в создании на основе Edison или Galileo прототипа крупной системы коммерческого назначения. Если прототип оправдывает ожидания, универсальные платы можно заменить специализированными маячками, а Edison и Galileo использовать для новых экспериментов.
Автор: Intel
Источник [17]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/blog-kompanii-intel/138728
Ссылки в тексте:
[1] iBeacon: http://www.ibeacon.com/what-is-ibeacon-a-guide-to-beacons/
[2] Image: https://habrahabr.ru/company/intel/blog/303670/
[3] здесь: https://github.com/gomobile/iotapp-template-ble-ibeacon
[4] сюда: https://github.com/gomobile/iotapp-template-ble-peripheral#design-considerations
[5] этот: https://software.intel.com/node/afe1630d-fc66-4cfe-8786-98b690d09dcc
[6] здесь: https://software.intel.com/node/afe1630d-fc66-4cfe-8786-98b690d09dcc#connect-board
[7] iOS: https://support.apple.com/en-us/HT202880
[8] Вот: http://www.bluetooth.com/Pages/Bluetooth-Smart-Devices-List.aspx
[9] сюда: https://software.intel.com/en-us/setting-up-serial-terminal-intel-edison-board
[10] Windows: https://software.intel.com/en-us/articles/getting-started-with-the-intel-galileo-board-on-windows#putty
[11] Mac OS X: https://software.intel.com/en-us/articles/getting-started-with-the-intel-galileo-board-on-mac#terminal
[12] Linux: https://software.intel.com/en-us/articles/getting-started-with-the-intel-galileo-board-on-linux#terminal
[13] текстовом редакторе vi: http://www.cs.colostate.edu/helpdocs/vi.html
[14] Bleno: https://github.com/sandeepmistry/bleno
[15] iOS: https://itunes.apple.com/us/app/locate-for-ibeacon/id738709014?mt=8
[16] Android: https://play.google.com/store/apps/details?id=com.radiusnetworks.locate&hl=en
[17] Источник: https://habrahabr.ru/post/303670/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.