Проектирование и разработка мобильного приложения для навигации на парковках с применением Bluetooth-маячков

W 004 42 М.Ф. Кузьмин

ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЛЯ НАВИГАЦИИ НА ПАРКОВКАХ С ПРИМЕНЕНИЕМ BLUETOOTH-МАЯЧКОВ

Рассмотрено проектирование навигационной системы на основе Bluetooth-маячков (Beacon). Маячки представляют собой компактные устройства, работающие от батареек, передающие Bluetooth-сигнал по протоколу Bluetooth Low Energy. Навигационная система представляет собой приложение для Android, при разработке которого решались такие задачи как: получение данных с маячков и сопоставление их с базой позиций маячков, трилатерация позиции пользователя и графическое отображение схемы помещения и позиции пользователя. Для получения данных с маячка используется Android AltBeacon API, которая предоставляет уникальный идентификатор группы маячков, идентификатор маячка и дистанцию до маячка на основе силы сигнала. Вычисление позиции пользователя осуществляется алгоритмом трилатерации, которому необходимы данные с трех маячков. Визуализация графического интерфейса и схему помещения осуществляется средствами Android. Разработанное в проекте программное обеспечение позволит облегчить навигацию в оборудованных Bluetooth-маячками парковках, торговых центрах, шахтах и других объектах.

Ключевые слова: Bluetooth Low Energy, Bluetooth-маячки, трилатерация, Android, iBeacon, навигация, парковка.

Введение

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

В данной работе рассматривается проектирование и разработка навигационной системы на основе Bluetooth-маячков (Beacon). Навигационная система представляет собой прило-

ISSN 0236-1493. Горный информационно-аналитический бюллетень. 2017. № 3. С. 383-393. © 2017. М.Ф. Кузьмин.

жение для Android, которое получает данные с маячков и вычисляет на их основе позицию пользователя.

Актуальность программного обеспечения поддержки

навигации на парковке

Здания становятся более объемными и нередко представляют сложную архитектуру, ориентирование в которой для неподготовленного человека представляет трудности.

Такие же проблемы встречаются на подземных парковках торговых центров, площадь которых превышает десятки тысяч кв. м. Такие парковки рассчитаны на несколько тысяч автомобильных мест. Однотипные этажи, запутанная разметка секторов и множество других машин на парковке могут увеличить длительность поиска своего автомобиля на несколько часов [1].

Учитывая множество мобильных приложений по поиску своего автомобиля, подтверждается актуальность данной проблемы [2, 3, 4]. Приложения в этой области используют GPS для определения местонахождения автомобиля, что непригодно для многоуровневых парковок, так как нет прямой видимости спутников, что приводит к потере сигнала, либо к высокой погрешности от отраженного сигнала [5].

Таким образом, можно сделать вывод, что навигация на парковках остается востребованной. Для ее решения целесообразно разработать средства, позволяющие определять местонахождение клиента.

Bluetooth-маячки в навигационных системах

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

Bluetooth-маячки — это устройства с технологией Bluetooth 4.0 LE (Low Energy), роль которых может выполнять любое устройство с поддержкой протокола Bluetooth LE, например смартфоны на Android выше версии 4.3 и iOS выше версии 7. Специализированные Bluetooth-маячки имеют компактные размеры и способны автономно проработать более года (табл. 1) [8].

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

Установленные по площади помещений здания Bluetooth-маячки, координаты которых известны, и информация, полу-

Preamble

Advertising Channel PDU

Header MAC address Data

Beacon prefix Proximity UUID Major Minor TX power

Рис. 1. Содержание пакета В1иеШЛ-маячка

чаемая с них, позволяют определять в каком помещении и где в нем находится клиент.

Исходя из рассмотренных особенностей, очевидны преимущества навигации на основе Bluetooth-маячков:

• позиционирование в помещениях;

• низкая стоимость;

• простота в обслуживании.

Время автономной работы, в зависимости от батареи и частоты трансляции

cr2032 small 240 mah cr2450 small 620 mah cr2477 small 1000 mah

Чип Интервал трансляции Примерное время работы батареи, месяц

Gimbal 100 мс 1,0 2,5 4,0

Gimbal 645 мс Н/Д Н/Д Н/Д

Gimbal 900 мс Н/Д Н/Д Н/Д

Nordic 100 мс 1,1 2,8 4,5

Nordic 645 мс 5,4 13,9 22,4

Nordic 900 мс 11,0 28,7 46,3

Bluegiga 100 мс 0,6 1,6 2,6

Bluegiga 645 мс 5,8 15,1 24,3

Bluegiga 900 мс 13,9 35,8 57,1

TI CC254x 100 мс 0,7 1,8 2,9

TI CC254x 645 мс 4,3 11,2 18,0

TI CC254x 900 мс 5,6 14,3 23,1

Программное обеспечение

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

Формализация функциональных требований

Диаграмма вариантов использования (рис. 2) отображает функции навигационной системы на основе разрабатываемого мобильного приложения (далее — системы): отображения карты, сохранения и удаления позиции и взаимодействие алгоритма позиционирования с устройством маячка и базой данных маячков. Пользователь взаимодействует с системой посредством интерфейса мобильного приложения, которая взаимодействует с базами данных и маячками.

Математическое обеспечение

Для определения позиции пользователя, которая необходима для сохранения и построения пути по требованиям к приложению, используется алгоритм трилатерации.

Запишем систему, состоящую из уравнений трех окружностей:

где гр г2, г3 — расстояния от пользователя до маячков О, А, Б; х, у — координаты пользователя; i — смещение маячка А относительно маячка О по оси х; у — смещение маячка Б относительно маячка О по оси у.

г{2 = х2 + у2 г22 = (х - О2 + у2 Г32 = х2 + (у - у)2,

2

2 =

,2

Поль

БД Маячков

Рис. 2. Диаграмма вариантов использования

Рис. 3. Пример алгоритма трилатерации Имеем две неизвестных, выразим их:

х =

2 2,-2 г - г + г

и У

- Гз2 + У

2г " 2у

В результате выполнения вычислений становятся известны две координаты, описывающие текущую позицию пользователя, как на рис. 3.

Логика функционирования системы

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

Диаграмма состояний (рис. 4) отображает состояния приложения при выполнении пользователем команд сохранения и удаления позиции автомобиля. Мобильное приложение постоянно отображает карту. Запрос на сохранение вызывает ме-

Запрос на сохранени

Рис. 4. Диаграмма состояний

Рис. 5. Диаграмма деятельности

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

Диаграмма деятельности (рис. 5) отображает процессы системы при взаимодействии пользователя и процесс вычисления позиции.

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

Объектная модель

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

Диаграмма классов (рис. 6) отображает объектную модель навигационной системы, включающую классы для моделирования пользователей, маячков и транспортных средств, а также связи между ними в навигационном приложении.

User, Beacon и ParkPosition наследуют абстрактный класс Location, в котором хранится информация о позиции объекта.

Рис. 6. Диаграмма классов

Рис. 7. Диаграмма последовательности

Класс BeaconsList хранит данные всех маячков из базы данных и данные обнаруженных маячков, а также выполняет их визуализацию. Класс Car хранит парковочное место и содержит метод поиска ближайшего парковочного места. Класс MapView отображает карту и обновляет данные о маячках и позицию пользователя.

Диаграмма последовательности (рис. 7) отображает вызовы команд пользователем и маячком, и взаимодействие объектов в системе.

Пользователь посредством интерфейса вызывает методы в инициализации, сохранения и удаления позиции. MapView активирует мониторинг Bluetooth LE и визуализирует карту. Маячок периодически транслирует информацию, принимаемую AltBeacon API, который проверяет его с базой данных маячков.

Техническое обеспечение

После определения структуры, потоков данных и логики работы разрабатываемого приложения необходимо определить архитектуру системы. Для этого построены диаграммы компонентов и развертывания на рис. 8 и 9 соответственно.

Диаграмма компонентов (рис. 8) отображает основные модули системы: визуализация карты и интерфейса, вычисление позиции, взаимодействие с маячками, базы данных маячков и помещений.

• Подсистема визуализации интерфейса отображает кнопки сохранения и удаления позиции.

• Подсистема визуализации карты отображает текущую позицию пользователя, сохраненную позицию автомобиля и схему карты.

• Подсистема вычисления позиции пользователя получает данные с маячка с помощью AltBeacon API, сопоставляет их с

Подсистема визуализации интерфейса

Подсистема визуализации карты

_¿.1_

Подсистема вычисления позиции пользователя

_LL_

AltBeacon API

БД Маячков

Рис. 8. Диаграмма компонентов 390

Сервер components

БД Маячков БД Помещений ^

Ethernet

/

Интернет

GSM

Мобильное устройство

components

Подсистема визуализации карты Подсистема вычисления позиции пользователя AltBeacon API

Подсистема визуализации интерфейса Рис. 9. Диаграмма развертывания

базой данных маячков и производит вычисление позиции на основе полученных данных.

Диаграмма развертывания (рис. 9) отображает физические объекты и реализованные в них компоненты системы. Базы данных хранятся на сервере, связь с которым производится посредством интернета. Бизнес-логика и визуализация производится приложением на мобильном устройстве, а связь с маячками производится по протоколу Bluetooth LE.

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

<1 О  <1 о

Рис. 10. Скриншоты прототипа разработанного приложения

Результаты

Результатом данной работы является прототип навигационного мобильного приложения (рис. 10) для парковок под управлением Android, удовлетворяющий поставленным требованиям к приложению.

Заключение

При выполнении данной работы были получены следующие результаты:

• сформированы функциональные требования к программе;

• разработано математическое обеспечение;

• разработана структура базы данных;

• разработана структура мобильного приложения;

• спроектирована архитектура системы навигации;

• разработан прототип навигационного мобильного приложения для Android.

СПИСОК ЛИТЕРАТУРЫ

1. Торговый центр начинается c парковки [Электр. ресурс] // Метра-жи — режим доступа http://metragi.ru/amv-vyipuskov/2014/10/torgovyij-czentr-nachinaetsya-c-parkovki.html, дата обращения: 04.05.2016.

2. 5 мобильных приложений, которые помогут найти свою машину [Электр. ресурс] // Лайфхакер — режим доступа http://lifehacker. ru/2013/04/10/5-mobilnykh-prilozhenijj-kotorye-pomogut-najjti-svoyu-mashinu-na-parkovke/, дата обращения: 04.05.2016.

3. Google.Парковка [Электр. ресурс] // Новость из PR-CY.RU — режим доступа http://pr-cy.ru/news/p/4288, дата обращения: 04.05.2016.

4. Обзор приложений для поиска автомобиля на парковке [Электр. ресурс]. — режим доступа https://www.planetiphone.ru/news/107/obzor-prilozhenij-dlya-poiska-avtomobilya-na-parkovke.html, дата обращения: 04.05.2016.

5. What is GPS [Электр. ресурс] // Garmin — режим доступа http:// www8.garmin.com/aboutGPS/, дата обращения: 04.05.2016.

6. Боремся с ошибками акселерометра, гироскопа, M7, цифрового компаса и других датчиков в iPhone 5S и не только [Электр. ресурс] // Habrahabr — режим доступа http://habrahabr.ru/post/196878/, дата обращения: 04.05.2016.

7. Навигация в помещениях с iBeacon и ИНС [Электр. ресурс] // Habrahabr — режим доступа http://habrahabr.ru/post/245325/, дата обращения: 04.05.2016.

8. Большой обзор iBeacon Hardware [Электр. ресурс] // Habrahabr — режим доступа http://habrahabr.ru/company/navigine/blog/269195/, дата обращения: 04.05.2016. итез

КОРОТКО ОБ АВТОРE

Кузьмин Михаил Федорович — студент, e-mail: kumife@mail.ru, НИТУ «МИСиС».

UDC 004.42

Gornyy informatsionno-analiticheskiy byulleten'. 2017. No. 3, pp. 383-393. M.F. Kuzmin

DESIGN AND DEVELOPMENT OF A MOBILE APPLICATION FOR NAVIGATION IN PARKING LOTS WITH THE USE OF BLUETOOTH BEACONS

This article describes the design of navigation system based on Bluetooth beacons (Beacon). Beacons are compact devices that run on batteries that transmit Bluetooth signals for the Bluetooth Low Energy Protocol.

The navigation system is a application for Android, the drafting of which was solved tasks such as: receiving data from beacons and their comparison with the base positions of the beacons, trilaterate the user's position and the graphic display of the schema of the premises and the user's position. To retrieve data from the tracker is used AltBeacon Android API, which provides a unique identifier for the group of beacons, the beacon ID and the distance to the beacon based on signal strength. The calculation of the position of the user is carried out by the trilateration algorithm, which requires data from three beacons. Visualization of the graphical interface and the layout of the room is handled by the Android.

Developed in the project software to facilitate the navigation is equipped with Bluetooth beacons, Parking lots, shopping centers, mines and other objects.

Key words: Bluetooth Low Energy Bluetooth beacons, trilaterate, Android, iBeacon, navigation, Parking.

AUTHOR

Kuzmin M.F., Student, e-mail: kumife@mail.ru, National University of Science and Technology «MISiS», 119049, Moscow, Russia.

REFERENCES

1. Torgovyy tsentr nachinaetsya c parkovki. Metrazhi, available at: http://metragi. ru/arxiv-vyipuskov/2014/10/torgovyij-czentr-nachinaetsya-c-parkovki.html (accessed 04.05.2016).

2. 5 mobil'nykh prilozheniy, kotorye pomogut nayti svoyu mashinu. Layfkhaker, available at: http://lifehacker.ru/2013/04/10/5-mobilnykh-prilozhenijj-kotorye-pomogut-na-jjti-svoyu-mashinu-na-parkovke/ (accessed 04.05.2016).

3. Google.Parkovka. Novost' iz PR-CY.RU, available at: http://pr-cy.ru/news/p/4288 (accessed 04.05.2016).

4. Obzor prilozheniy dlya poiska avtomobilya na parkovke, available at: https://www. planetiphone.ru/news/107/obzor-prilozhenij-dlya-poiska-avtomobilya-na-parkovke. html (accessed 04.05.2016).

5. What is GPS. Garmin, available at: http://www8.garmin.com/aboutGPS/ (accessed 04.05.2016).

6). Boremsya s oshibkami akselerometra, giroskopa, M7, tsifrovogo kompasa i drugikh datchikov v iPhone 5S i ne tol'ko. Habrahabr, available at: http://habrahabr.ru/ post/196878/ (accessed 04.05.2016).

7. Navigatsiya v pomeshcheniyakh s iBeacon i INS. Habrahabr, available at: http:// habrahabr.ru/post/245325/ (accessed 04.05.2016).

8. Bol'shoy obzor iBeacon Hardware. Habrahabr, available at: http://habrahabr.ru/ company/navigine/blog/269195/ (accessed 04.05.2016).