Науковий вкник НЛТУ УкраТни Scientific Bulletin of UNFU
http://nv.nltu.edu.ua https://doi.org/10.15421/40270930 Article received 27.10.2017 р. Article accepted 28.11.2017 р.
УДК 005.8:331.45
ISSN 1994-7836 (print) ISSN 2519-2477 (online)
Eg] Correspondence author R. P. Shevchuk [email protected]
Р. П. Шевчук, А. В. Клюйко
Терноптьський нацюнальний економ1чний утверситет, м. Тернотль, Украта
ПРОГРАМНИЙ СЕРВ1С ДЛЯ ОПОВ1ЩЕННЯ ПРО ЗАГРОЗИ БЕЗПЕКИ ЖИТТеД1ЯЛЬНОСТ1 ЛЮДИНИ
Сьогодш нагально постало питання забезпечення безпеки життeдiяльностi людини в pa3i виникнення pi3Horo типу заг-роз та надзвичайних ситуацш. Одним i3 ефективних рiшень цього питання е використання систем оповiщення на базi персо-нальних мобiльних пристро'в. Проанаизовано низку мобiльних застосункiв для оповщення та реагування на загрози безпе-цi життедiяльностi людини та видшено !'х недолжи, що дало змогу сформувати вимоги до контекстно залежного програмно-го сервюу для оповщення про загрози безпеки життедiяльностi людини та розробити його структуру. Вщповщно до функщ-ональних вимог та розроблено! структури запропоновано сценарп та базовi алгоритми функцiонування програмного сервюу. Програмний сервiс реалiзовано iз використанням середовища розробки Android Studio, Google Maps API, бiблiотек Retrofit 2 та OkHttp. Конкурентною перевагою розробленого сервюу е можливiсть оповiщення користувачiв персональних мобшь-них пристро'в у реальному час про можливi загрози чи надзвичайш ситуацп, пов'язанi iз безпекою !'х життедiяльностi. Уш-кальною функцiю сервiсу е передача звукових та вщео/фотоданих iз сенсорiв пристрою у хмарне сховище в реальному чаа, пiсля натискання тривожно! кнопки. На сервернш частинi програмного сервюу вiдображаеться мiсцезнаходження користу-вача мобшьного пристрою на цифровiй картi мюцевоси та реалiзована функцiя побудови маршруту до нього.
Кл^чов^ слова: надзвичайна ситуащя; безпека людини; мобшьний застосунок; персональний мобшьний пристрiй; Google Maps API; Android.
Вступ. Вщомо, що безпека людини залежить ввд стану o6'ektíb та процесiв, що И оточують (Miahchenko, 2010). Свгтова статистика свiдчить, що 60-80 % нещас-них випадк1в - це наслвдок невмiння передбачити, роз-тзнати приховану небезпеку, невмiння оцiнити ризик i узгоджувати його iз своТми можливостями, яш визнача-ються психо фiзiологiчними властивостями органiзму та станом техшки. У разi виникнення загрози безпеки життeдiяльностi людини, важливим чинником е мит-теве оповiщення та шформування про небезпеку.
З огляду на це актуальною е задача оповщення про загрози, пов'язаш iз безпекою життедiяльностi людини. Одним iз пiдходiв для вирiшення шеТ задачi е розроб-лення програмного сервюу для персональних мобшь-них пристроТв (ПМП), який в реальному чай поввдо-мить про можливi загрози чи надзвичайш ситуацп.
Постановка завдання. Сьогодш розроблено низку мобшьних застосуншв для оповiщення та реагування на загрози безпеш життедiяльностi людини: FamilyLocator (FamilyLocator, n.d.), bSafe (BSafe, n.d.), SOS+ (SOS -StaySafe, n.d.), Shake2Safety (ShakeSafety - PersonalSa-fety, n.d.), SaveMePro (SaveMePro, n.d.), "Кнопка Жизни" (Knopka Zhizni, n.d.), "Мобильний спасатель" (Mobylnii spasatel, n.d.). Принцип роботи перелiчених застосунк1в практично щентичний: вони постiйно вiдстежують мк-цеперебування людини та у разi загрози (тсля натискання тривожно! кнопки) поввдомляють И координати
засобами СМС чи електронно! пошти ввдповвдш служби або родич1в людини. Деяк1 1з иерел1чених засоб1в мк-тять шструкцш 1з надання першо! допомоги в надзвичайних сигуащях i доввдники заклад1в першо! допомоги (Knopka Zhizni, n.d.; Mobylnii spasatel, n.d.).
Недолшами уйх проаналiзованих засобiв можна вважати статичшсть подання даних та вщсутшсть ш-формацп про причини загрози. Вщповщно, у користу-вачiв, яш отримують оповiщення про загрозу, немае можливосп адекватного реагування на оповщення. Низка проаналiзованих засгосункiв характеризуемся занадто перевантаженим iнгерфейсом, у якому користу-вач, перебуваючи у сганi больового шоку, розгубленос-гi не завжди здатний вибрати погрiбну функцiю (FamilyLocator, n.d.; ShakeSafety - PersonalSafety, n.d.; Mobylnii spasatel, n.d.).
Шдхщ авгорiв полягае в тому, щоб розробити контекстно залежний програмний сервк для ПМП, у якому, кр1м градицiйного функцiоналу, буде здшснюва-тись оповiщення користувача ПМП про потенцшно не-безпечнi мкця, до яких вiн наближаеться. Ушкальною функцiю сервiсу буде передача звукових та ввдео/фото-даних iз сенсорiв ПМП у хмарне сховище в реальному чай, тсля натискання тривожно! кнопки. Окр!м цього, на сервернш частит застосунку буде вщображатись мкцезнаходження користувача ПМП на цифровiй карп мiсцевосгi та прокладатись маршрут до нього.
1нформащя про aBTopiB:
Шевчук Руслан Петрович, канд. техн. наук, доцент кафедри комп'ютерних наук. Email: [email protected]
Клюйко Анатолш Васильович, мапстрант кафедри комп'ютерних наук. Email: [email protected]
Цитування за ДСТУ: Шевчук Р. П., Клюйко А. В. Програмний сервк для оповщення про загрози безпеки життедяльносп
людини. Науковий вкник НЛТУ УкраТни. 2017. Вип. 27(9). С. 137-142. Citation APA: Shevchuk, R. P., & Kliuiko, A. V. (2017). Software Service for Notification About Human Safety Threats. Scientific Bulletin of UNFU, 27(9), 137-142. https://doi.org/10.15421/40270930
Аналiз останшх досл1джень та публiкацiй. У робот (Bilousov & Maliavin, 2014) розглянуто принципи побудови та запропоновано програмне забезпечення для радюкеровано! автоматизовано! системи оповщен-ня населення й органiв влади про загрозу або виникнен-ня надзвичайних ситуацш техногенного та природного характеру.
У робот (Vorobiienko & Bilousov, 2012) розглянуто основш принципи побудови та функцюнування автома-тизованих систем оповщення рiзного призначення. У роботi (Bilousov & Malyavin, 2014) висвiтлено локальш та спецiальнi автоматизованi системи оповщення ци-вiльного захисту. Методику ощнювання ефективностi функцiонування систем оповiщення населення подано у робоп (Zhaulybaev, 2016).
У робот (Shevchuk & Kliuiko, 2017) проаналiзовано принципи роботи мобшьних програмних застосунк1в, що використовують для оповщення про загрози безпе-ки життeдiяльностi людини та запропоновано структуру програмного сервiсу на основi моделi клкнт-сервер-но! взаемодп, у якш клieнтська складова е мобшьним застосунком для операцшно! системи Android.
Проаналiзувавши роботи (Bilousov & Maliavin, 2014; Vorobiienko & Bilousov, 2012; Bilousov & Malyavin, 2014), можна зробити висновок, що бшьшкть систем оповщення встановлеш стацiонарно у спещальних закладах та характеризуються високою вартктю i склад-нiстю налаштування. Функцiональною особливiстю проаналiзованих систем оповщення е !х орiентацiя на масове оповщення населення про надзвичайш ситуацп рiзного типу.
Мета роботи - розробити контекстно залежний програмний сервк для оповiщення про загрози безпеки життедiяльностi людини.
Аналiз вимог до контекстно залежного програмного сервку. Вимоги до будь-якого програмного сервь су подiляють на функцiональнi (вимоги до поведшки сервiсу) та нефункцюнальш (вимоги до характеру поведшки сервiсу). Основними функцiональними вимогами до програмного сервку е:
1. Додавання та видалення мiсць на цифровш картi мюце-воста, що загрожують безпецi життедiяльностi людини.
2. Визначення статусу потенцiйно небезпечного мiсця.
3. Вщправка на сервер аудiо-вiдео/фотоданих з позначе-ного на картi мкця.
4. Оповiщення користувача про наближення до потен-цiйно небезпечного мкця.
5. Оповiщення родичiв користувача та вщповщш служби про надзвичайну ситуащю.
6. Прокладення маршруту до мкця надзвичайно! ситуацп. Обов'язковими нефункцiональними вимогами до
програмного сервку е:
1. Клiентська частина повинна працювати на операцшнш системi Android 4.0 або вище.
2. Зручний графiчний штерфейс.
3. Програмна надiйнiсть - сервк повинен бути стiйким до рiзноманiтних дiй користувачiв.
4. Швидкiсть вщгуку для миттевого оповiщення про загрозу безпеки життедiяльностi користувача - 0,5 с. Сер-вiс повинен миттево реагувати на дИ користувача. Структура контекстно залежного програмного
сервку. Пкля аналiзу предметно! областi та вимог, у робоп розроблено структуру контекстно залежного програмного сервку на основi моделi клкнт-серверно! взаемодп, у якш клкнтська складова е мобшьним застосунком для операцшно! системи Android (рис. 1).
Рис. 1. Структура контекстно залежного програмного сервюу
Клкнтська частина складаеться i3 бази даних, у якш зберпаються данi про користувача та небезпечш мiсця на цифровш картi мiсцевостi та ряду модулiв:
• Модуль взаемодiï i3 сервером - призначений для син-хронiзацiï даних i3 сервером.
• Модуль контексту - використовують для визначення поточного контексту, в якому перебувае користувач (час доби, погода, вщстань до найближчоï загрози).
• Модуль ршень - призначений для визначення коефь цiента загрози життю людини та дае змогу в режимi реального часу повщомити користувача про потенцiйну загрозу.
• Модуль представлення - реалiзовуе функцп змiни зов-нiшнього вигляду представлення даних користувачу. Модуль взаемодiе iз сервiсом GoogleMaps для вщобра-ження точок на цифровiй картi мiсцевостi.
• Модуль монiторингу - дае змогу вщстежити та зберегти дат про пересування користувача.
• Модуль "Небезпечне мкце" - призначений для створен-ня, видалення та редагування небезпечних точок на цифровш картi мiсцевостi.
• Модуль вдаравки мультимедiа - призначений для пере-дачi на сервер мультимедiйних файтв про небезпечну точку на цифровш карл мiсцевостi.
Серверна частина складаеться з бази даних i таких модулiв:
• Модуль побудови маршрупв - призначений для побудови оптимального маршруту до небезпечного мкця.
• Модуль вiзуалiзацiï даних - призначений для вiзуалiзацiï даних, отриманих вiд сервiсу GoogleMaps та тента.
• Модуль синхрошзацп даних - призначений для синхрошзацп даних тентсько! та серверно! частини.
• Модуль взаемодп з тентом - на рiвнi бiзнес-логiки проводить валщащю даних, отриманих вiд користувача, та здшснюе !х перетворення.
Структура програмного сервку включае клiентську програму, яка встановлена на ПМП, картографiчний сервк GoogleMaps та серверну частину, на якш прово-дяться операцп, пов'язаш зi синхронiзацiею та вiзуалiза-щею даних, а також прокладанням маршруту.
Кожна функцiональна частина вiдiграе важливу роль у функцiонуваннi цшо! системи. Мобшьний клiент забезпечуе вiзуалiзацiю результапв, отриманих вiд мо-дулiв серверно! частини, на мобшьному пристро!. Кар-тографiчний сервiс забезпечуе вiдображення цифрово! карти мiсцевостi, яка е основою вщображення даних про небезпечнi мкця та прокладання маршруту. Модуль прокладання маршрутiв забезпечуе формування оптимального маршруту iз використанням алгоритму Дейкстри.
Кожен запит клiента аналiзуеться на сервернш час-тинi та формуеться вiдповiдь на нього. У разi не отри-мання вiдповiдi, виводиться повiдомлення про помил-ку. Для взаемозв'язку клкнта з сервером використо-вуеться технологiя SOAP (BSafe, n.d.).
На рис. 2 подано дiаграму варiантiв використання, у як1й наведено функцюнальшсть, що буде реалiзована у програмному сервiсi.
Рис. 2. Д1аграма вар1ант1в використання
Розроблення базових алгоритмш роботи програмного сервiсу. Вщповщно до функцiональних вимог та роз-роблено! структури у роботi запропоновано сценарп та базовi алгоритми функцюнування програмного сервюу:
• алгоритм роботи iз небезпечними мкцями;
• алгоритм для передачi мультимедiйноï iнформацiï на сервер;
• алгоритм оповщення про наближення до небезпечного мкця;
• алгоритм прокладання маршруту до об'екта на цифровш карл.
Опишемо детальшше розроблеш алгоритми функць онування програмного сервку.
В алгоршм роботи iз небезпечними мiсцями реаль зовано функцп додавання, редагування та видалення ш-
формацп про небезпечне мiсце на цифровш карп мкце-востi, а також встановлення його статусу. Шд "небез-печним мiсцем" у робот розумшть мiсце, яке, на думку користувача програмного сервку, несе загрозу безпещ життедiяльностi людини. Технiчно "небезпечне мкце" - це пара координат, що вщповщае широтi та довгоп на мiсцевостi.
Для реалiзацiï функцп отримання координат за-реестровано слухача та провайдерiв (GPS i Network). GPS - це геолокацшш даш, як1 отриманi з GPS-супут-нишв. Network - це координати, яш отриманi через стiльниковий зв'язок або мережу Wi-Fi.
У разi додавання нового мкця на цифрову карту мкцевосп потрiбно визначити його статус. Одш мiсця е небезпечними впродовж певного перiоду часу (нап-
риклад вноч1), шш! - тимчасов! (ДТП на дороз1). Також можуть бути мюця, як1 мають перюдичний час небезпе-ки (наприклад конкретна вулиця взимку). Тому, тсля створення "небезпечного мюця", користувачев! пропо-нуеться визначити його статус. У програмному сервю! реал1зовано так вар1анти статуйв "небезпечного мю-ця": небезпечне постшно (по замовчуванню); небезпеч-не до шнця поточного дня; небезпечне вночц небезпечне в певну пору року.
1нформац!я про кожне нове "небезпечне мюце" до-даеться у ктентську базу даних, тсля чого виконуеться синхрошзащя даних !з серверною частиною. Координа-ти "небезпечних мюць" знаходяться за допомогою GPS та Network. Пюля видалення шформацп про небезпечне мюце, з бази даних буде видалена вщповвдна шформа-ц!я.
Алгоритм передач! мультимедшно! шформацп на сервер передбачае потокове завантаження в!део- та аудюфайл!в !з "небезпечного м!сця" на серверну части-ну програмного сервюу. В алгоритм! передбачено мож-ливють опов!щення в!дпов!дн! служби або родич!в лю-дини про потенц!йну загрозу. Опов!щення реал!зовано засобами СМС та електронно! пошти, де у тш повщом-лення надсилаеться посилання на веб-сторшку серв!су !з завантаженим мультимедшним контентом. Реал!зац!я ще! функцп дае змогу адекватно оцшити загрозу та прийняти зважен! та правильн! ршення.
Для в!дправки файл!в на сервер використовуеться POST запит протоколу HTTP з типом вмюту multipart/form-data. Поввдомлення такого типу складаеться з шлькох частин, кожна з яких представляе собою вм!ст деякого елемента форми. Кожен елемент мае заголовок, в якому зазначено !м'я елемента i тип контенту. Цей тип запиту використовуеться i для передач! файл!в з ПМП на баз! операцшно! системи Android.
У робот! реал!зовано алгоритм опов!щення про наб-лиження до небезпечного м!сця, результатом якого е ввдповвдне пов!домлення для користувача, яке додатко-во наголошуе про потенц!йну загрозу безпец! життед!-яльност! (рис. 3). Функц!онал алгоритму реал!зовано у модул! прийняття pinieHb.
На рис. 4 подано блок-схему алгоритму прокладання маршруту до об'екта на цифровш карт!, який реал!зова-но на серверн!й частин! програмного сервюу.
С Кшець J
Рис. 3. Блок-схема алгоритму оповiщення про наближення до небезпечного мюця
Рис. 4. Блок-схема алгоритму прокладання маршруту до об'екта на цифровш кари
Реал!зований алгоритм складаеться з таких етатв:
• перев1рка з'еднання з мережею Internet;
• ввдображення карти на диспле! ПМП;
• отримання картограф1чних даних для визначення м1с-цезнаходження користувача.
• ввдображення м1сцезнаходження користувача на карл;
• прокладання маршруту вщ задано! точки до користувача. Особливост функцюнування програмного сервЬ
су. Програмний серв!с реал!зовано !з використанням се-редовища розробки Android Studio, Google Maps API, б!блютек Retrofit 2 та OkHttp.
У робот! розроблено Java-штерфейс для синхрошза-ц1! даних !з ПМП та сервером. Завантаження мультиме-д!йних файл!в реал!зовано засобами б!бл!отеки Retrofit 2. Алгоритм прокладання маршрупв на карт! реал!зова-но за допомогою API служби маршрупв Google. На рис. 5 про!люстровано екранн! форми ктентсько! час-тини розробленого програмного сервюу.
Рис. 5. Екранш форми мобшьного застосунку
Висновки. У робот реалiзовано програмний сервiс для пiдвищення рiвня безпеки життедiяльностi людини, який через функцп оповiщення повiдомляе про потен-цшш загрози та надзвичайнi ситуацi!. Програмний сер-вiс реалiзовано iз використанням середовища розробки Android Studio, Google Maps API, бiблiотек Retrofit 2 та OkHttp на основi моделi клiент-серверно! взаемодi!, у як1й ктентська складова е мобiльним застосунком для операцшно! системи Android.
Конкурентною перевагою розробленого сервку е можливiсть оповщення користувачiв ПМП у реальному чай про можливi загрози чи надзвичайш ситуацi!, пов'язанi iз безпекою !х життедiяльностi. Унiкальною функцiю сервюу е передача звукових та ввдео/фотода-них iз сенсорiв ПМП у хмарне сховище в реальному чай, пiсля натискання тривожно! кнопки. На сервернш частинi сервiсу вщображаеться мiсцезнаходження ко-ристувача ПМП на цифровш картi мiсцевостi та реаль зована функцiя побудови маршруту до нього.
Перелш використаних джерел
Bilousov, S. I., & Maliavin, I. P. (2014). Prohramne zabezpechennia radiokerovanoi avtomatyzovanoi systemy opovishchennia. Vymi-riuvalna ta obchysliuvalna tekhnika v tekhnolohichnykh protsesakh, 4, 153-157. Retrieved from:
http://nbuv.gov.ua/UJRN/vott_2014_4_31. [in Ukrainian]. Bilousov, S. I., & Malyavin, I. P. (2014). The Local and Special Automated Systems of Notification of Civil Defense. Digital Technologies, 15, 129-133.
BSafe. (n.d.). Retrieved from: http://www.getbsafe.com.
FamilyLocator. (n.d.). Retrieved from: http://www.sygic.com/family-locator.
Knopka Zhizni. (n.d.). Retrieved from: https://knop-ka24.ru/6.https://play.google.com/store/apps/details?id=com.yo-app.savemepro. [in Russian].
Miahchenko, O. P. (2010). Bezpeka zhyttiediialnosti liudyny ta sus-pilstva. navch. pos. Kyiv: Tsentr navchalnoi literatury. 384 p. [in Ukrainian].
Mobylnii spasatel. (n.d.). Retrieved from: http://spasatel.mchs.ru. [in Russian].
SaveMePro. (n.d.). Retrieved from: https://play.google.com/sto-re/apps/details?id=com.yoapp.savemepro.
ShakeSafety - PersonalSafety. (n.d.). Retrieved from: https://play.go-ogle.com/store/apps/details?id=com.photon.shake2safety.
Shevchuk, R., & Kliuiko, A. (2017). Structure of context - sensitive software service for notification about human safety threats. Conference Proceedings of the All-Ukrainian conference with International participation, ACIT'2017, 130-133. Ternopil.
SOS - StaySafe. (n.d.). Retrieved from: https://play.google.com/sto-re/apps/details?id=com.extentia.sos.
Vorobiienko, P. P., & Bilousov, S. I. (2012). Systemy opovishchennia tsyvilnoho zakhystu: navchalnyi posibnyk. Odesa: ONAZ im. O.S. Popova. 76 p. [in Ukrainian].
Zhaulybaev, A. A. (2016). Aktualnost i sostoianie problemy otcenki effektivnosti funktcionirovaniia sistem opoveshheniia naseleniia (na primere sistemy opoveshheniia Respubliki Kazakhstan). Nauchnye i obrazovatelnye problemy grazhdanskoi zashhity, 1(28), 59-62. [in Russian].
Р. П. Шевчук, А. В. Клюйко
Тернопольский национальный экономический университет, г. Тернополь, Украина
ПРОГРАММНЫЙ СЕРВИС ДЛЯ ОПОВЕЩЕНИЯ ОБ УГРОЗАХ БЕЗОПАСНОСТИ
ЖИЗНЕДЕЯТЕЛЬНОСТИ ЧЕЛОВЕКА
Сегодня достаточно остро стоит вопрос обеспечения безопасности жизнедеятельности человека при возникновении различного типа угроз и чрезвычайных ситуаций. Одним из эффективных решений данного вопроса является использование систем оповещения на базе персональных мобильных устройств. Проанализирован ряд мобильных приложений для оповещения и реагирования на угрозы безопасности жизнедеятельности человека и выделены их недостатки, что позволило сформировать требования к контекстно зависимому программному сервису для оповещения об угрозах безопасности жизнедеятельности человека и разработать его структуру. Согласно функциональных требований и разработанной структуры, авто-
рами предложены сценарии и базовые алгоритмы функционирования программного сервиса. Программный сервис реализован с использованием среды разработки Android Studio, Google Maps API, библиотек Retrofit 2 и OkHttp. Конкурентным преимуществом разработанного сервиса является возможность оповещения пользователей персональных мобильных устройств в реальном времени о возможных угрозах или чрезвычайных ситуащях, связанных с безопасностью их жизнедеятельности. Уникальной функцию сервиса является передача звуковых и видео/фото данных с сенсоров устройства в облачное хранилище в реальном времени, после нажатия тревожной кнопки. На серверной части программного сервиса отображается местонахождение пользователя мобильного устройства на цифровой карте местности и реализована функция построения маршрута к нему.
Ключевые слова: чрезвычайная ситуация; безопасность человека; мобильное приложение; персональное мобильное устройство; Google Maps API; Android.
R. P. Shevchuk, A. V. Kliuiko
Ternopil National Economic University, Ternopil, Ukraine
SOFTWARE SERVICE FOR NOTIFICATION ABOUT HUMAN SAFETY THREATS
Nowadays the issue of ensuring the safety of human life in the case of different types of threats and emergencies is quite acute. Alert systems on personal mobile devices are one of the effective solutions to this issue. The authors have analysed a number of mobile applications for alerting and responding to human life threats. We have also highlighted their disadvantages in order enable formulating requirements for a context-dependent software service to alert people about the threats to human life safety and to develop its structure. In the course of the study scripts and basic algorithms for the operation of the software service are developed according to the functional requirements and the developed structure. The software service is provided using the Android Studio development environment, the Google Maps API, the Retrofit 2 libraries, and OkHttp. The competitive advantage of the developed service is the possibility to alert real-time users of personal mobile devices about possible threats or emergency situations connected with their life safety. A unique feature of the service is the transfer of audio and video / photo data from device sensors to the cloud storage in real time after pressing the alarm button. The server part of the software service shows the location of the user of the mobile device on the digital map of the area and implemented the function of constructing the route to it.
Keywords: emergency; human security; mobile application; personal mobile device; Google Maps API; Android.