Научная статья на тему 'Анализ данных акселерометра на платформе Tizen'

Анализ данных акселерометра на платформе Tizen Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1330
85
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
акселерометр / мобильные вычисления / JavaScript / Tizen / accelerometer / mobile computing / JavaScript / Tizen

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — А. В. Павлов, А. Р. Солодовникова, Е. А. Ильюшин, Д. Е. Намиот

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

On analysis of accelerometer data on the Tizen platform

The article presents the results of a training project carried out during courses on the Internet Things and web programming using JavaScript. Using a single JavaScript programming language, a software system was developed to study the sensors of a mobile phone without the need for native application development. The proposed system consists of a mobile application for the Tizen operating system, which allows you to record and visualize the accelerometer data, as well as the server component for storing the recorded tracks. The described development practically tested the possibility of end-to-end service creation using only one JavaScript programming language, which dramatically increases the development speed and reduces the entry threshold for new developers. The source code for the application is available for modification and extension.

Текст научной работы на тему «Анализ данных акселерометра на платформе Tizen»

Анализ данных акселерометра на платформе

Tizen

А.В. Павлов, А.Р. Солодовникова, Е.А. Ильюшин, Д.Е. Намиот

Аннотация— В статье представлены результаты учебного проекта, выполненного в ходе курсов по Интернету Вещей и веб-программированию с использованием JavaScript. С использованием одного языка программирования JavaScript была создана программная система для изучения сенсоров мобильного телефона без необходимости собственной разработки приложений. Предложенная система состоит из мобильного приложения для операционной системы Tizen, которое позволяет записывать и визуализировать данные акселерометра, а также серверной компоненты для хранения записанных треков. Практически проверена возможность сквозного создания сервисов с использованием только одного языка программирования JavaScript, что резко повышает скорость разработки и снижает порог входа для новых разработчиков. Исходный код приложения доступен для модификации и расширения.

Ключевые слова—акселерометр, мобильные

вычисления, JavaScript, Tizen.

I. Введение

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

Классически, акселерометр (рис.1) состоит из пружины, подвижной массы и демпфера [1]. Пружина крепится к неподвижной поверхности, к пружине крепится масса. С другой стороны ее поддерживает демпфер, который гасит собственные вибрации груза. Во время ускорения массы деформируется пружина. На этих деформациях и основываются показания прибора. Три таких прибора, объединенные в одну систему и сориентированные по осям позволяют получать информацию о положении предмета в трехмерном пространстве.

Если происходит встряска, наклон или поворот акселерометра (объекта, в который встроен такой

Статья получена 20 января 2018. А.В. Павлов - МГУ имени М.В. Ломоносова (e-mail: panton.anton98@gmail.com) А.Р. Солодовникова - МГУ имени М.В. Ломоносова (e-mail: sar-audi@mail.ru)

Е.А. Ильюшин - МГУ имени М.В. Ломоносова (e-mail: john.ilyushin@gmail.com)

Д.Е. Намиот - МГУ имени М.В. Ломоносова (e-mail: dnamiot@gmail.com)

сенсор), то инертная масса реагирует на силу инерции. С увеличением интенсивности и силы манипуляций (сотрясения, наклона или поворота) увеличивается и радиус деформации пружины. Специальный датчик фиксирует уровень смещения инертной массы от ее положения в состоянии «покоя».

Рис.1 Акселерометр [1]

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

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

Другое название для акселерометра - в^ешог [2]. Это связано с тем, что, вообще говоря, акселерометр регистрирует разницу ускорения объекта и гравитационного ускорения по трём осям. Отсюда вытекает один из недостатков акселерометра в телефоне: если нет ускорения или оно не велико, то акселерометр не работает. Он просто перестает регистрировать положение устройства в пространстве или делает это с большой погрешностью [1].

Акселерометры находят довольно широкое применение в мобильных сервисах. Их применение рассматривалось и в работах, выполнявшихся в лаборатории ОИТ [3-5].

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

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

Другая область применения - так называемая страховая телематика. По записанным данным акселерометра можно определять характер движения (стиль вождения), от которого зависит страховка [6]. Другие сервисы могут использовать акселерометр для контроля вибрации. Каноническое использование для телефонов - автоматическая смена ориентации экрана при повороте устройства. Другой популярный пример -анализ и распознавание жестов мобильным телефоном (например, в компьютерных играх) [7]. Акселерометр может даже являться каналом утечки данных [8].

Иными словами, акселерометр на мобильном телефоне - один из наиболее часто используемых сенсоров. В статье представлены результаты практической работы, выполненной на факультете ВМК в рамках курса по Интернету Вещей. Авторы реализовали подход, предложенный в приложении Google Science Journal [9]. Научный журнал - это бесплатное приложение от Google. С его помощью преподаватели и просто любители науки могут проводить эксперименты и сохранять данные о них (рис. 2).

! * 'О' © S 4:15

4- Welcome to Science Jo... У :

m 9 & в

Sound Intensity (dB) •

4* 28 dB О

so

Minimum Average 13 26 Maximum 44

II. Акселерометр в смартфонах

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

Корпус

Датчики

Рис.3 Акселерометр в мобильном устройстве [10]

С акселерометром обычно связывают следующие параметры:

• масштабный коэффициент — коэффициент

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

• пороговая чувствительность (разрешение) —

величина минимального изменения кажущегося ускорения, которое способен определить прибор;

• смещение нуля — показания прибора при

нулевом кажущемся ускорении;

• случайное блуждание — среднеквадратичное

отклонение от смещения нуля;

• нелинейность — изменения зависимости между

выходным сигналом и кажущимся ускорением при изменении кажущегося ускорения;

Accelerometer Y (m/s2)

Ell

2.1 m/s2 О

S>

-0:16 -0:12 -0:08 -0:04 0:00 0:04 0:08

Рис. 2. Научный журнал от Google [9]

В данной работе реализована поддержка экспериментов с акселерометром, в качестве мобильной платформы использовалась система Tizen, а все программирование было выполнено на базе Web API.

Акселерометр и гироскоп (которые часто путают) -это разные датчики. Они могут как дополнять друг друга, так и выполнять одинаковые функции. Отличие заключается в принципах работы, а также в эффективности выполнении конкретных задач. В каких-то приложениях они могут использоваться совместно, для достижения наиболее точных результатов.

Гироскоп - это устройство, которое может измерять изменения углов ориентации связанного с ним тела относительно инерциальной системы координат. Принцип работы гироскопа (рис.4) заключается в грузиках, которые вибрируют на плоскости с частотой скорости умноженной на перемещение. При повороте гироскопа возникает так называемое Кориолисово

ускорение. По сути, гироскоп - это волчок, который вращается вокруг вертикальной оси. Он закреплён в раме, которая способна поворачиваться вокруг горизонтальной оси, и, в свою очередь, закреплена в другой раме, которая может поворачиваться вокруг третьей оси [11].

Результирующая

радиального

движения

F^=CHnaKopMonHta

\

/

V

Рис.4 Гироскоп [12]

На рисунке 5 показано применение гироскопа для ориентации смартфона в пространстве

записать "картинку" какого-либо перемещения (как эталон) и сравнить ее с текущими данными.

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

10

X: о

-10

10

Artiial f.

Remrtl У j

1

V: о

-10

il tuai Y

Record V i!

Actual Z Record Z

Start

Show Record

Saue Record

Load Record

Рис.6 Основной интерфейс приложения

При нажатии на кнопку Start приложение начинает записывать показания акселерометра.

Рис.5 Ориентация смартфона в пространстве [12]

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

III. Научный журнал на Tizen

В этом разделе описывается разработанное приложения для Tizen [13], которое позволяет оперировать данными акселерометра. Например,

Рис.7 Интерфейс приложения при записи

Вместо кнопки Start появляется кнопка Stop (рис.7), при нажатии на которую можно остановить запись. Записанные показания будут зарезервированы приложением до тех пор, пока не будут загружены или записаны новые показания.

В приложении имеется возможность загрузки сторонних или ранее сохранённых записей. При нажатии на кнопку Load Record приложение предложит пользователю ввести название сохранённой записи (рис.8).

Рис.8 Запрос на ввод названия записи

Записи можно сохранять. При нажатии на кнопку Save Record приложение предложит пользователю ввести название и описание сохраняемой записи.

Имеется возможность отобразить зарезервированную запись вместе с текущей (рис.9). За это отвечает кнопка

Show Record

Рис.9 Режим сравнения записей

Разработка выполнена с использованием веб-интерфейсов, поддерживаемых в Tizen. JavaScript приложение "подписывается" на получение информации

от сенсоров устройства (рис. 10):

var 5er53"Li5i = tizei.sensorservice.getAvailableSensors();

for (var i in seisD-List) {console.log(seise-Lisi[i]);}

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

var LiiearAcc = lizen.sensorservice.getDefaultSensorisensorList|G|);

linearAcc.getSensorHardwarelnfoihwInfoCBj function(){]0;

linearAcc.itart(onsuccesiC3, onerrorCB);

Рис.10. Получение данных от сенсоров

Отметим, что серверная компонента также может быть написана на JavaScript (node.js). Таким образом весь проект может быть написан на одном языке JavaScript, что обеспечивает очень быструю разработку с низким порогом входа.

IV. Заключение

В работе представлено мобильное приложение для операционной системы Tizen, которое обеспечивает возможность записи показаний акселерометра, их сохранение, загрузку, а так же их последующую визуализацию. Сохранение и загрузка записей производится на удалённом сервере. Назначение приложение - экспериментирование с сенсорами мобильного телефона без программирования. В ходе работы практически проверена возможность создания всего проекта (мобильного приложения и серверной компоненты) на одном языке программирования JavaScript.

Исходный код приложения доступен для свободной загрузки на сайте GitHub.

V. Благодарности Авторы благодарят компанию Самсунг (ее исследовательский центр в Москве) за предоставленное оборудование.

Библиография

[1] Акселерометр https://ru.bmstu.wiki/%D0%90%D0%BA%D1%81%D0%B5%D0% BB%D0%B5%D1%80%D0%BE%D0%BC%D0%B5%D1%82%D1 %80 Retrieved: Jan, 2018

[2] Lane N. D. et al. A survey of mobile phone sensing //IEEE Communications magazine. - 2010. - Т. 48. - №. 9.

[3] Пестов Е. Распознавание движения мобильного устройства //International Journal of Open Information Technologies. - 2013. -Т. 1. - №. 3.

[4] Бутаков Н. А. Применимость инерциальных систем навигации в мобильных устройствах //International Journal of Open Information Technologies. - 2014. - Т. 2. - №. 5.

[5] Намиот Д. Е., Сухомлин В. А. О проектах лаборатории ОИТ //International Journal of Open Information Technologies. - 2013. -Т. 1. - №. 5.

[6] Namiot D. et al. Blockchain applications for transport industry //International Journal of Open Information Technologies. - 2017. -Т. 5. - №. 12. - С. 130-134.

[7] Liu J. et al. uWave: Accelerometer-based personalized gesture recognition and its applications //Pervasive and Mobile Computing. -2009. - Т. 5. - №. 6. - С. 657-675.

[8] There Goes Your PIN: Exploiting Smartphone Sensor Fusion Under Single and Cross User Setting https://eprint.iacr.org/2017/1169 Retrieved: Jan, 2018

[9] Научный журнал https://play.google.com/store/apps/details?id=com.google.android.ap ps.forscience.whistlepunk&hl=ru Retrieved: Jan, 2018

[10] Акселерометр в телефоне // Geek Nose URL: http://geek-nose.com/akselerometr-v-telefone-chto-eto-princip-raboty-foto/

Retrieved: Jan, 2018 [11] Гироскоп и как он работает

https://mobcompany.info/interesting/chto-takoe-giroskop-v-smartfone-i-kak-on-rabotaet.html Retrieved: Jan, 2018

[12] Принцип работы гироскопа https://trashbox.ru/topics/41482/kak-eto-rabotaet-giroskop. Retrieved: Jan, 2018

[13] Accelerometer Project https://github.com/pavlovanton/AccelerometerProject Retrieved: Jan, 2018

On analysis of accelerometer data on the Tizen

platform

Anton Pavlov, Alevtina Solodovnikova, Evgeniy Ilyushin, Dmitry Namiot

Abstract— The article presents the results of a training project carried out during courses on the Internet Things and web programming using JavaScript. Using a single JavaScript programming language, a software system was developed to study the sensors of a mobile phone without the need for native application development. The proposed system consists of a mobile application for the Tizen operating system, which allows you to record and visualize the accelerometer data, as well as the server component for storing the recorded tracks. The described development practically tested the possibility of end-to-end service creation using only one JavaScript programming language, which dramatically increases the development speed and reduces the entry threshold for new developers. The source code for the application is available for modification and extension.

Keywords— accelerometer, mobile computing, JavaScript, Tizen.

i Надоели баннеры? Вы всегда можете отключить рекламу.