Разработка мобильного приложения робота-бегуна | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №18 (360) апрель 2021 г.

Дата публикации: 30.04.2021

Статья просмотрена: 167 раз

Библиографическое описание:

Гугуев, Ю. Д. Разработка мобильного приложения робота-бегуна / Ю. Д. Гугуев, А. И. Изюмов. — Текст : непосредственный // Молодой ученый. — 2021. — № 18 (360). — С. 13-17. — URL: https://moluch.ru/archive/360/80505/ (дата обращения: 17.12.2024).



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

Ключевые слова: мобильный робот, приложение, android, программирование

Внешний вид разрабатываемого прототипа представлен на рисунке 1.

Внешний вид разрабатываемого прототипа Внешний вид разрабатываемого прототипа

Рис. 1. Внешний вид разрабатываемого прототипа

Расположение комплектующих узлов разрабатываемого прототипа

Рис. 2. Расположение комплектующих узлов разрабатываемого прототипа

Основополагающий принцип спортивных состязаний заключается в конкуренции с оппонентом. Подобная работа стимулирует к повышению собственных показателей, в роли оппонента на беговой дорожке и выступает разрабатываемый прототип. В мобильном приложении устанавливается дистанция и время ее преодоления. От данных параметров зависит скорость движения аппарата по беговой дорожке. Спортсмен, соответственно движется за роботом, с целью обгона, либо же сопровождает робота, дабы уложиться в диапазон заданного времени. Траектория робота определяется фиксацией датчиком разделительной полосы между беговыми дорожками стадиона. По окончании тренировки мобильное приложение сохраняет все параметры (дистанция, время, скорость, ЧСС спортсмена (при наличии фитнес-браслета, соединенного с приложением по каналу Bluetooth)) и выводит сводную статистику в сравнении с действующими нормативами подготовки спортсменов [4].

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

Данное приложение будет разрабатываться на платформе Xamarin forms, который в свою очередь является удобной, мультиплатформенной реализацией фреймворка для создания визуальных приложений на языке C#.

Xamarin.Forms представляет платформу, которая нацелена на создание кроссплатформенных приложений под Android, iOS и Windows 10. Зачем использовать именно данную платформу, какие преимущества она несет? Есть определенные статистические данные, что значительная часть мобильных приложений создается более чем для одной платформы, например, для Android и iOS. Однако неизбежно разработчики сталкиваются со следующими трудностями:

— различие в подходах построение графического интерфейса так или иначе влияет на разработку. Разработчики вынуждены подстраивать приложение под требования к интерфейсу на конкретной платформе

— разные API — различие в программных интерфейсах и реализациях тех или иных функциональностей также требует от программиста учет этих специфических особенностей

— разные платформы для разработки. Например, чтобы создавать приложения для iOS нам необходима соответствующая среда — Mac OS X и ряд специальных инструментов, типа XCode. А в качестве языка программирования выбирается Objective-C или Swift. Для Androidа мы можем использовать самый разный набор сред — Android Studio, Eclipse и т. д. Но здесь для подавляющего большинства приложений применяется Java или Kotlin

Xamarin позволяет создавать одну единственную логику приложения с применением C# и.NET сразу для всех трех платформ — Android, iOS, UWP.

Преимущества использования Xamarin.Forms:

— В процессе разработки создается единый код для всех платформ

— Xamarin предоставляет прямой доступ к нативным API каждой платформы

— При создании приложений мы можем использовать платформу.NET и язык программирования C# (а также F#), который является достаточно производительным, и в тоже время ясным и простым для освоения и применения

— Xamarin Forms поддерживает несколько платформ. Основные платформы: Android, iOS, UWP, Tizen. Дополнительные платформы в состоянии превью: MacOS, WPF, GTK#.

Графическое представление работы платформы Xamarin.Forms.

Рис. 3. Графическое представление работы платформы Xamarin.Forms.

Xamarin работает поверх фреймворка Mono, который предоставляет opensource-реализацию.NET Framework. Mono может работать поверх разных платформ — Linix, MacOS и т. д.

На уровне каждой отдельной платформы Xamarin полагается на ряд субплатформ. В частности:

— Xamarin.Android — библиотеки для создания приложений на ОС Android

— Xamarin.iOS — библиотеки для создания приложений для iOS

Для проектирования архитектуры было решено использовать архитектурный паттерн MVVM.

Паттерн MVVM (Model-View-ViewModel) позволяет отделить логику приложения от визуальной части (представления). Данный паттерн является архитектурным, то есть он задает общую архитектуру приложения.

Model (Модель) описывает используемые в приложении данные. Модели могут содержать логику, непосредственно связанную этими данными, например, логику валидации свойств модели. В то же время модель не должна содержать никакой логики, связанной с отображением данных и взаимодействием с визуальными элементами управления.

View (представление) определяет визуальный интерфейс, через который пользователь взаимодействует с приложением. Применительно к WPF представление — это код в xaml, который определяет интерфейс в виде кнопок, текстовых полей и прочих визуальных элементов.

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

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

Схема архитектуры мобильного приложения

Рис. 4. Схема архитектуры мобильного приложения

Удаленная связь с роботом

Для работы с bluetooth le был выбран плагин BLE plugin для Xamarin forms, его преимущества:

— Мультиплатформенность

— Событийная архитектура

— Понятная документация

— Не требует модернизация для Xamarin forms

— Не надо контролировать потоки чтения, отправки и других задач

Сам модуль связи в архитектуре приложения имеет вид интерфейса. Реализация для удаленной связи через интерфейс позволяет не привязываться к одному типу связи и при необходимость добавить новый тип (например WiFi) просто создать еще одну реализацию интерфейса без изменения кода приложения.

Структура интерфейса модуля связи

Рис. 5. Структура интерфейса модуля связи

Работа с протоколом обмена

Для протокола было решено использовать массив байт с контрольной суммой, и id типа сообщения, потому что:

— Для протокола было решено использовать массив байт с контрольной суммой, и id типа сообщения, потому что:

— На с++ (на стороне робота) легко преобразуется в структуру

— Контрольная сумма позволяет проверить целостность сообщения

— Id позволяет легко определить тип сообщения

— Только полезная нагрузка на трафик

Структура интерфейса парсера сообщений

Рис. 6. Структура интерфейса парсера сообщений

Долгосрочное локальное хранение данных работы робота

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

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

Для нашего приложения необходимо чтобы БД имела следующие характеристики:

— Создание быстрых записей

— Локальное хранение

— Для хранения такого типа данных будет задействована база данных SQLite по следующим причинам:

— Легко интегрируется в Xamarin forms

— Структура базы данных позволяет делать быстрые записи

— Существует ORM решение для Xamarin forms

— База данных локальна

ORM (объектно-реляционное отображение, или преобразование) — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая “виртуальную объектную базу данных”.

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

Для записи и хранения данных о состоянии робота в базе данных есть связи между модулями “База данных” и “Модели состояния робота”, тем самым при получении сообщения состояния робота мы имеем возможность сразу произвести запись в локальном хранилище.

Литература:

  1. Api android https://developer.android.com/reference
  2. Xamarin forms https://dotnet.microsoft.com/apps/xamarin/xamarin-forms
  3. Удобная документация по c# https://metanit.com/
Основные термины (генерируются автоматически): ORM, API, MVVM, UWP, WPF, мобильное приложение, платформа, приложение, разрабатываемый прототип, Контрольная сумма.


Похожие статьи

Разработка мобильного приложения робота-бегуна. Часть 2

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

Разработка приложения-органайзера для студента

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

Разработка мобильного приложения для создания заметок

В статье автор разрабатывает мобильное приложение для создания заметок.

Разработка виртуального тренажера по сборке компьютера

В статье описывается процесс создания VR-тренажера по сборке компьютера в виртуальной реальности.

Исследование технологии дополненной реальности для создания мобильного AR приложения

В статье авторы исследуют возможности дополненной реальности для создания мобильного приложения, помогающего гостям и туристам лучше узнать город. Описаны этапы создания «GidApp Aktobe».

Разработка мобильного приложения для координации деятельности сотрудников организации

В статье автор разрабатывает мобильное приложение для координации деятельности сотрудников организации.

Использование искусственного интеллекта в сфере спорта для оптимизации работы фитнес-приложений

В статье рассмотрены возможности применения ИИ-технологий в сфере спорта. Особое внимание уделено вопросу использования нейросети простыми пользователями для составления персонализированного плана тренировок. А также представлены конкретные примеры ф...

Разработка мобильного приложения-викторины по биотехнологиям

В работе представлен процесс разработки мобильного приложения — викторины по биотехнологиям.

Использование платформы Umaigra в работе с учащимися на уроках литературы

Исследование темы посвящено описанию возможностей приложения Umaigra на уроках литературы для подготовки задания. Дана инструкция по применению. Описаны возможности, эффективная работа и быстрота электронного приложения. Приведен пример разработки за...

Разработка автономного робота на базе Arduino Uno для создания изображений

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

Похожие статьи

Разработка мобильного приложения робота-бегуна. Часть 2

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

Разработка приложения-органайзера для студента

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

Разработка мобильного приложения для создания заметок

В статье автор разрабатывает мобильное приложение для создания заметок.

Разработка виртуального тренажера по сборке компьютера

В статье описывается процесс создания VR-тренажера по сборке компьютера в виртуальной реальности.

Исследование технологии дополненной реальности для создания мобильного AR приложения

В статье авторы исследуют возможности дополненной реальности для создания мобильного приложения, помогающего гостям и туристам лучше узнать город. Описаны этапы создания «GidApp Aktobe».

Разработка мобильного приложения для координации деятельности сотрудников организации

В статье автор разрабатывает мобильное приложение для координации деятельности сотрудников организации.

Использование искусственного интеллекта в сфере спорта для оптимизации работы фитнес-приложений

В статье рассмотрены возможности применения ИИ-технологий в сфере спорта. Особое внимание уделено вопросу использования нейросети простыми пользователями для составления персонализированного плана тренировок. А также представлены конкретные примеры ф...

Разработка мобильного приложения-викторины по биотехнологиям

В работе представлен процесс разработки мобильного приложения — викторины по биотехнологиям.

Использование платформы Umaigra в работе с учащимися на уроках литературы

Исследование темы посвящено описанию возможностей приложения Umaigra на уроках литературы для подготовки задания. Дана инструкция по применению. Описаны возможности, эффективная работа и быстрота электронного приложения. Приведен пример разработки за...

Разработка автономного робота на базе Arduino Uno для создания изображений

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

Задать вопрос