Файл: 2. Разработка Программного продукта. 1 Концепция приложения.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.12.2023
Просмотров: 59
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Запрос получен сервером GCM
curl --header "Авторизация: ключ = AIzaSyD6ktqBEKOqAp4jvYV8r9eth6hhP0KaQE4" --header Content-Type: "application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\" -XHRCU6aifpnjSXZD6aA7OY7rLkH4Ml9apc8kEgkUZ-bVaKrMRA8ZfHsw3QDBLGKiJs9mLZW9EKqAeFaE6ieUnuCU114lAh6Ys25HA \"], \"data\":{\"name\":\"Satvik\"}}"
-
UMTS, WCDMA HSPA/HSPA+: стандарты передачи данных 3G -
USB: необходим для подключения смартфона к компьютеру. -
IEEE 802.11: стандарт Wi-Fi -
RFC 2616: стандарт HTTP/1.1 -
Радиоволны UHF в диапазоне ISM от 2,4 до 2,485 ГГц -
NIEM 3.0 для XML-кодирования стандарта. В настоящее время NIEM 2.1 используется для схемы ANSI/NISTITL.
В качестве ограничений продукта были определены следующие:
-
Экономическое ограничение:Система потребует развертывания системы видеонаблюдения в каждом подъезде. -
Социальное ограничение: Использование такой системы может рассматриваться как нарушение неприкосновенности частной жизни в общественных местах. -
Ограничение устойчивости:Использование этой системы должно быть устойчивым для больших кампусов и должно соответствующим образом масштабироваться; устойчивость такой обширной системы необходимо проверить. -
Логистическое ограничение:Система не может принимать большие объемы данных и постоянно требует активного подключения к Интернету. -
Ограничение окружающей среды:Система может работать неправильно в определенных условиях, например, при слабом освещении или в зонах со слабым интернет-соединением. -
Ограничение доставки:Приложение полностью зависит от платформы Google Cloud Messaging, которая может добавить задержку при отправке уведомлений пользователям, поскольку это бесплатная и открытая служба.
Установка приложения для пользователя-любителя затруднена из-за того, что многие библиотеки OpenCV и HTTP-запросов должны быть установлены пользователем для настройки системы наблюдения. Приложению также требуется среда выполнения, чтобы оно могло отправлять сообщения на сторонний сервер приложений. Это усложняет этап установки. Однако после завершения этапа настройки приложение становится простым в использовании. С другой стороны, приложение для Android автоматически обрабатывает процесс регистрации на сервере GCM, что упрощает установку на стороне Android.
Использование приложения для смартфона делает всю систему очень рентабельной, а тот факт, что теперь каждый может позволить себе смартфон, оказывается проще использовать веб-службу обмена сообщениями по сравнению с другими альтернативами, такими как GSM Smart Messaging System. Служба SMS также может создавать ложные тревоги, поскольку сообщение может быть служебным сообщением от поставщика услуг сети. Таким образом, наличие push-уведомлений помогает нам классифицировать сообщения, чтобы они были специфичными для приложения, и, таким образом, приложение будет получать только релевантные сообщения. Кроме того, стоимость системы увеличится, так как оператор будет взимать плату за каждое SMS,запланированные задачи были успешно реализованы и протестированы. Различные компоненты, такие как приложение Python (Tracking и Viola Jones для распознавания лиц), сервер подключения GCM, сторонний сервер приложений и приложение Android, были взаимосвязаны и протестированы для работы в качестве системы наблюдения.Различные задачи, связанные с анализом требований и этапом проектирования системы, перечислены ниже:
-
Предыстория и изучение существующих методов и методологий -Эта задача включала изучение различных существующих методов решения задачи и поиск наиболее подходящего решения для нашей проблемы, что включало изучение различных алгоритмов и их эффективности, библиотек, которые можно было бы использовать, и языка программирования, подходящего для развертывания. Он также предоставил всю архитектуру для развертывания всей системы. Размещение серверов и способы соединения различных серверов для отправки push-уведомлений. -
Установка и настройка всех библиотек и функций OpenCV —После того, как все технологии и методы были определены, следующим шагом была установка всех библиотек, их тестирование в системе и проверка, подойдет ли она для нашей задачи или нет. -
Разработка мобильного приложения в Android Studio –Эта задача была сосредоточена на установке Android Studio и изучении программирования для Android, а затем, наконец, на разработке пользовательского интерфейса клиентского приложения. -
Разработка программы, определяющей лицо в ленте —После установки библиотек следующей задачей стало обнаружение лиц во входном видеопотоке. Это было выполнено с использованием стратегии локализации Keypoint. -
Разработка стороннего сервера приложений на Google App Engine.Эта задача включала развертывание стороннего сервера приложений, который обрабатывает этапы регистрации и идентификации системы. На этапе регистрации принимается запрос клиентских приложений, в котором клиентское приложение передает идентификатор регистрации, полученный от сервера подключения GCM. Сторонний сервер сохраняет этот регистрационный идентификатор в хранилище данных ядра приложения и, таким образом, поддерживает список зарегистрированных пользователей. Затем он обрабатывает запрос приложения Python, где получает сообщение, а затем передает его на сервер GCM вместе с регистрационными идентификаторами всех зарегистрированных устройств.
-
Связывание стороннего сервера приложений с облачным сервером обмена сообщениями Google —В этой задаче проект Google API создается в Google Developers Console. Мы получаем номер нашего проекта, который используем при регистрации приложения на сервере. Затем мы включаем службу GCM, перейдя к API и аутентификации и включив переключатель Google Cloud Messaging для Android. Затем мы получаем ключ API, перейдя к учетным данным, создаем новый ключ в доступе к общедоступному API и создаем новый ключ сервера. Этот ключ API используется сторонним сервером приложений для пересылки сообщений на сервер подключения GCM. -
Настройка Устройства для получения сообщений и отображения их в правильном формате –В этой задаче Android-приложение получает пакет, содержащий сообщение в формате JSON. Мы анализируем его, чтобы извлечь наше сообщение, а затем добавляем к нему текущее время. Наконец, с помощью широковещательного приемника генерируется уведомление, и пользователь уведомляется о сообщении. Кроме того, нажатие на уведомление создает действие и загружает приложение, которое отображает прошлые вместе с текущими полученными сообщениями с отметками времени.
Демонстрация проекта начнется с реализации и показа результата десктопного приложения, которое запустит фоновый скрипт и начнет распознавать лица в видеопотоке. За этим процессом последует push-уведомление на мобильный телефон пользователя, которое будет информировать пользователя о действиях перед камерой, даже если пользователь не находится рядом со своей системой.
Демонстрация проекта разделена на две части:
Программное обеспечение для распознавания лиц: в этой части мы запускаем наши алгоритмы распознавания лиц, которые обнаружат любые лица, присутствующие в видеопотоке, сначала определят ключевые точки с помощью алгоритмов SIFT, а затем с помощью алгоритмов альта/джонса начнут обнаруживать лица.
Мобильное приложение для Android:демонстрация клиентского мобильного приложения была продемонстрирована на мобильном телефоне Android. Мобильное приложение будет получать уведомления с серверов и отображать уведомления, полученные от результатов, запущенных в системе.
Рисунок 11- Уведомление получено
Рисунок 12-Интерфейс Android-приложения
Рисунок 13 Код распознавания лиц
Существующий метод, используемый в большинстве мест, ограничен человеком, который может видеть кадры с камеры для наблюдения. Этот метод ограничен и подвержен человеческим ошибкам. Этот метод также варьируется от места к месту и не очень эффективен и требует краудсорсинга.
Наш продукт не подвержен ручным ошибкам, поскольку распознавание лиц полностью автономно, что помогает системе быть эффективной и быстрой. Он прост в использовании и портативный, а приложение, созданное специально для системы, может использовать любой человек с телефоном Android
Анализ затрат на всю систему сводится к стоимости следующих частей. Стоимость деталей указана в следующей таблице. Система будет работать с любым смартфоном с активным интернет-соединением. Однако это не будет учитываться при анализе затрат, поскольку это общепринятое использование.
Стоимость онлайн-инфраструктуры для любого учреждения должна быть нулевой, поскольку используются все ресурсы с открытым исходным кодом. При использовании в больших контекстах, чтобы масштабироваться для обслуживания большего количества клиентских конечных точек, онлайн-инфраструктура должна быть расширена с использованием метода оплаты за использование, который также был включен ниже:
Таблица 15- Экономически затраты
сущность | Расходы |
Базовые смартфоны | 3000 рублнй |
Консоль разработчиков Google – единовременная плата за регистрацию | 700 рублей |
Стоимость онлайн-инфраструктуры Google App Engine (только для использования после квоты) | 1000 рублей в месяц |
Проект направлен на предоставление экономичной и простой в использовании системы видеонаблюдения, которая использует современные алгоритмы распознавания лиц для обнаружения лиц в видеопотоке и оповещения пользователей на их смартфонах с помощью мобильного приложения. Цель состоит в том, чтобы отслеживать поведение, деятельность или другую изменяющуюся информацию, обычно людей, с целью оказания на них влияния, управления, направления или защиты. В этом исследовании мы фокусируемся на обнаружении людей и не рассматриваем распознавание их сложных действий.Эти накладные расходы включают в себя перечисление видов деятельности, которые будут происходить в этой области, а затем создание модели, которая точно фиксирует рутинные действия и помечает нестандартные. Очевидно, что эти накладные расходы велики и делают программный подход непригодным для крупномасштабного развертывания. Отсюда возникает потребность в неконтролируемой системе видеонаблюдения, способной обучаться рутинным действиям по собственным данным. Систему с возможностью самообучения было бы легко развернуть, и она позволила бы осуществлять крупномасштабный мониторинг. В систему входят следующие пункты:
-
Обнаружение лица, отслеживание и идентификация. -
Обнаружение аномальных событий. -
Регистрация приложения Android на сервере приложений и сервере соединений GCM.
-
Взаимосвязь различных компонентов системы для предоставления обсуждаемых услуг. -
Уведомление системного администратора/владельца в его/ее приложении для Android через Push-уведомления.
Заключение
В ходе выполнения дипломной работы было создано мобильное приложение, позволяющее жителям города доводить до властей информацию о свалках.
Была выбрана среда разработки Anroid Studio, как самая популярная среди разработчиков. Студио находиться в свободном доступе, и является официальным средством разработки Андроид приложений. Так же была выбрана операционная система мобильного устройства Андроид для работы приложения.
В ходе выполнения выпускной работы были решены следующие задачи:
проанализированы предметная область и аналогичные проекты в магазине приложений «Google Play»;
подготовлен проект приложения;
написано мобильное приложение под управлением операционной системы Android;
Изучена разработка приложений под Android на Java;
Изучены основы язык Java для программирования приложений.
Результатом работы является создание мобильного приложения для мониторинга несанкционированных свалок
Разработанный проект удовлетворяет всем требованиям технического задания.
Следует считать, что задачи выпускной квалификационной работы полностью решены и цель исследования достигнута.
Список литературы
-
Android для разработчиков. 3-е изд. — СПб.: Питер, 2016. — 512 с.: ил. — (Серия «Библиотека программиста»). -
Java 8: руководство для начинающих, 6-е изд. : Пер. с англ. - М.ООО "И.Д. Вильяме", 2015. - 720 с.: ил. - Парал. тит. англ. -
Блэйк Мик /Программирование под Android . - СПб.: Санкт- Петербург, 2012. - 496 с. -
Брюс Эккель «Философия Java» (4-е полное издание): СПБ.: Питер,2015 – 1168 с. -
Дорнин Л. Google Android: программирование для мобильных устройств. — СПб.: БХВ-Петербург, 2012. — 448 с.: ил.+CD-ROM