Сборник научных трудов по материалам Международной научно-практической конференции г. Белгород, 11 июня 2020 г



Pdf көрінісі
бет11/64
Дата19.05.2022
өлшемі6.35 Mb.
#457522
түріСборник
1   ...   7   8   9   10   11   12   13   14   ...   64
Sb k-11.06.20

Список литературы 
1. Выгузов М.Е., Горбачёва А.А. Перспективы развития животноводства и птицевод-
ства с помощью научно-инновационной биотехнологии в Тамбовской области на базе уни-
кального предприятия ООО «Агрофермент». – Рязань: Изд-во Рязанского государственного 
агротехнологического университета, 2020. – Часть I. – 264 с. 


23 
МОБИЛЬНОЕ ПРИЛОЖЕНИЕ ДЛЯ СБОРА ДАННЫХ
О ВЛИЯНИИ СКОРОСТИ ПЕРЕДАЧИ ДАННЫХ 
Макуха Любовь Витальевна 
старший преподаватель кафедры вычислительной техники, 
Сибирский федеральный университет, Россия, г. Красноярск 
Сидоров Анатолий Юрьевич 
старший преподаватель кафедры вычислительной техники, 
Сибирский федеральный университет, Россия, г. Красноярск 
Самоделов Владислав Константинович 
студент, Сибирский федеральный университет, Россия, г. Красноярск 
Наджафова Сейидзахра Яверовна 
студентка, Сибирский федеральный университет, Россия, г. Красноярск 
В статье представлен процесс разработки мобильного приложения для смартфона на 
платформе Android с функцией отправки GPS-координат текущего местоположения на сер-
вер через определенный интервал времени. Описан интерфейс пользователя и внутренний 
интерфейс приложения, а также приведено обоснование принятых технических решений. 
Ключевые слова: ГЛОНАСС/GPS, ОС Android, Android Studio, сервер, Open Server, 
смартфон, мобильное приложение. 
В рамках работы над системой предупреждения дорожно-транспортных про-
исшествий путем информирования водителей о возникновении аварийной ситуации 
в условиях недостаточной и ограниченной видимости, на основании измерения па-
раметров движения автотранспортного средства в режиме реального времени с ис-
пользованием технологий ГЛОНАСС/GPS, была поставлена задача разработать при-
ложение для смартфона на платформе Android с функцией отправки GPS-координат 
текущего местоположения на сервер через определенный интервал времени. 
Приложение предназначено для сбора данных о влиянии скорости передачи 
данных на сервер и обратно на используемое на смартфоне поколение мобильной 
связи, и скорости движения автотранспорта и рельефа местности. Помимо коорди-
нат текущего местоположения смартфона на сервер необходимо передавать следу-
ющие данные: 
 имя трека, указываемое в приложении для идентификации
 дата и время отправки данных на сервер; 
 дата и время получения ответа от сервера предыдущего запроса; 
 в зависимости от способа передачи данных на сервер передается исполь-
зуемое на смартфоне поколение мобильной связи или обозначение использования 
технологии беспроводной локальной сети Wi-Fi. 
Для выполнения данного задания была использована среда разработки 
Android Studio [1] для написания приложения для смартфона и локальный веб-сервер 
Open Server [2] – серверная платформа с Apache, PHP, MySQL, PHPMyAdmin. 
Саму реализацию можно разбить на два этапа: это разработка клиентского 
приложения для смартфона и разработка серверной части приложения.


24 
Разработка и отладка клиентского приложения для смартфона на платформе 
Android происходила в Android Studio. Сам интерфейс приложения состоит из сле-
дующих компонентов: 
 Слой главного окна приложения (рис. 1, а), на котором находятся следую-
щие элементы: Button, который начинает/останавливает отправку данных на сервер; 
TextView, который ведет лог данных: выводит дату и время отправки данных на сер-
вер, а также дату и время ответа от сервера. 
 Слой настроек приложения preference screen (рис. 1, б), где находится сле-
дующие элементы: элемент EditTextPreference, в котором указывается имя для иден-
тификации на стороне сервера; 2 элемента ListPreference – для выбора частоты от-
правки данных на сервер и выбора самого сервера, на который будут отправляться 
данные. 
 Боковая шторка главного окна (рис. 1, в), где имеется два пункта: 
«Настройки разрешений» – открывает настройки приложения, где можно управлять 
разрешениями приложения; «Очистить экран» – позволяет очистить экран TextView 
главного окна, куда выводится лог данных. 
а) главное окно приложения 
б) настройки приложения
в) боковая шторка 
главного окна 
Рис. 1. Интерфейс мобильного приложения 
При нажатии на элемент Button на главном окне приложения (кнопка запу-
стить) вызывается функция, в которой проверяются разрешения приложения, кото-
рые указаны в файле манифеста, а именно: 
 access_coarse_location; 
 access_fine_location; 
 read_phone_state. 
Первые два разрешения предназначены для приблизительного и точного по-
лучения координат от GPS соответственно, последнее же разрешение предоставляет 


25 
доступ к большому количеству информации о телефоне, но конкретно в нашем слу-
чае нам потребуется только информация об используемом стандарте мобильной 
сети. 
Если пользователь предоставил данные разрешения приложению, будет запу-
щена служба переднего плана (foreground service). Выбор службы переднего плана 
обусловлен тем, что приложение может работать как в активном режиме, так и в 
фоновом, когда приложение свернуто или телефон заблокирован. Можно было бы 
использовать обычную службу, работающую в фоновом процессе, но, начиная с вер-
сии Android 8.0, данный способ уже не будет работать из-за изменений в поведении 
операционной системы (далее ОС) от разработчиков Android, т.к. ОС Android может 
в целях оптимизации выключить данное приложение. Чтобы ОС не могла отключать 
данное приложение необходимо в настройках оптимизации найти данное приложе-
ние и запретить ОС оптимизировать его. 
В запускаемой службе имеется слушатель локальной службы GPS, который 
реализует интерфейс LocationListener. Данный интерфейс имеет четыре метода, од-
нако используется только метод onLocationChanged (Location location). Данный ме-
тод вызывается для получения текущих координат от ГЛОНАСС/GPS, а после 
внутри данного метода создается объект, унаследованный от класса AsyncTask, в ко-
торый передается два параметра – широта и долгота. AsyncTask предназначен для 
перемещения трудоёмких операций в фоновый поток, а отправка сетевых запросов 
вполне может быть ресурсозатратной задачей, которая выносится в отдельный
поток. 
В выполняемом фоновом потоке формируется POST запрос и отправляется на 
сервер. При получении ответа от сервера приложение фиксирует время ответа сер-
вера и ID предыдущей записи, который пришел от сервера ответом. Данный ID не-
обходим для того, чтобы при следующем запросе на сервер в строке БД с указанным 
ID изменить поле «Дата и время подтверждения». 
Серверная часть приложения состоит из базы данных и набора РНР страниц. 
Структура базы данных представлена ниже (рис. 2). 
Рис. 2. Структура базы данных 
Полученные данные с телефона заносятся в базу данных, а именно: Имя, ши-
рота, долгота, дата и время отправки, поколение мобильной сети. Поле «Дата и время 
подтверждения» остается пустым и изменяется последующим запросом от клиента. 
Именно для этого ответом на запрос приложению отправляется ID вставленной 
строки в БД. 
Если полученный от клиента ID имеет значение «-1», значит, данная запись от 
клиента первая в данной сессии и не нужно обновлять поле «Дата и время подтвер-
ждения» (Шаг 1), в противном случае ID содержит номер предыдущей вставленной 


26 
записи данного клиента, и он занесет дату и время подтверждения предыдущего за-
проса в поле «Дата и время подтверждения» (Шаг 2). Принцип заполнения таблицы 
представлен далее по тексту (рис. 3, 4). 
Рис. 3. Шаг 1. Занесение данных в БД 
Рис. 4. Шаг 2. Занесение данных в БД 
Чтобы создать трек-файл необходимо выбрать из выпадающего списка имя и 
выбрать временной промежуток для выборки данных. При нажатии на кнопку «Со-
здать» будет сформирован и скачан файл с расширением kml [3], где kml это язык 
разметки на основе XML для представления трёхмерных геопространственных дан-
ных в программе «Google Карты» и «Google Планета Земля» (рис. 5). 
Рис. 5. Выбор данных для создания kml файла 
Теперь, если открыть данный файл в программе «Google Карты», можно уви-
деть маршрут, построенный по выбранным данным путем соединения соседних то-
чек (рис. 6).
В процессе разработки было создано приложение для смартфона на плат-
форме Android с функцией отправки: ГЛОНАСС/GPS-координат текущего местопо-
ложения, имени пользователя, даты и времени отправки данных на сервер и получе-
ния ответа от сервера предыдущего запроса. 


27 
Рис. 6. Сформированный kml файл, открытый в программе «Google карты» 
Также в зависимости от способа передачи данных на сервер передается ис-
пользуемое на смартфоне поколение мобильной связи или обозначение использова-
ния технологии беспроводной локальной сети Wi-Fi. На сервере, помимо сохранения 
полученных данных, была реализована функция для создания трек-файла, открыв 
который в программе «Google Карты», становится возможным увидеть весь прой-
денный маршрут. 


Достарыңызбен бөлісу:
1   ...   7   8   9   10   11   12   13   14   ...   64




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет