Хабраиндекс
960,04
15 мая 2012 в 16:24

Сенсоры грядут

На прошедшем недавно Intel Developer Forum 2012 в Пекине компания Intel и ее партнеры продемонстрировали новые ультрабуки, одной из отличительных особенностей которых (не считая дизайна и наличия сенсорного экрана) является наличие сенсоров.

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

Зачем они нужны


Что сенсоры могут дать пользователю? Возможность использовать навигацию, работать с умными, контекстно-зависимыми приложениями, а также новые возможности по взаимодействию с интерфейсом пользователя, новый класс игр и многое другое.
Для программиста это возможность добавить в свое приложение функции, отличающие программу от продуктов конкурентов, а то и вовсе возможность найти и «застолбить» новую модель использования. Тема пока новая, у каждого разработчика есть шанс создать что-то, что станет «классикой жанра».

Благо предпосылки к созданию программ, работающих с сенсорами, появились еще в Windows 7 — Sensor and Location Platform. Это набор API в Windows, позволяющий работать с сенсорами. Унифицированный интерфейс взаимодействия с сенсорами позволяет избежать неразберихи, когда каждый сенсор поставлялся со своими драйверами и своим API. Теперь сенсорами не нужен свой API, нужен только правильный драйвер.

Как начать использовать сенсоры уже сейчас


С софтом разобрались, теперь про железо — ультрабуков с сенсорами на борту на рынке пока нет. Что делать, если уже чешутся руки поиграть с сенсорами, попрактиковаться и создать что-то уникальное?

Существуют два варианта:

  • Использовать сторонний датчик (набор сенсоров), например, от Freescale или STMicroelectronics
  • Использовать сенсоры, которые уже есть, практически у каждого — сенсоры смартфона

Далее я как раз и хочу рассказать о втором пункте, на примере использования смартфона на базе ОС Android в качестве «донора» сенсорных датчиков.

Однажды, в поисках подобного решения я наткнулся на интересное приложение — PCRemote, которое представляет из себя программу для удаленного управления компьютером с помощью устройств, работающих под Android. В сети полно подобных проектов, но этот оказался интересным потому, что предлагал использовать не только сенсорный экран (как множество других проектов) для управления компьютером, но и сенсоры. Причем поддержка сенсоров организована таким образом, что после установки всего необходимого софта в системе появляются реальные «виртуальные» сенсоры. Windows их «видит» как обычные сенсоры, подключенные к компьютеру, благодаря этому работа с ними возможна посредством стандартного API из состава Sensor and Location Platform.

Данное решение поддерживает следующие сенсоры:

  • GPS
  • Акселерометр
  • Датчик ориентации
  • Датчик освещенности

Огромным плюсом использования этого решения является то, что после того как на замену «виртуальным» сенсорам придут «реальные, железные», разработчику не нужно будет ничего менять, т.к. для программы взаимодействие с сенсорами останется прежним, на уровне Sensor and Location Platform API.

Как установить


Первое, что необходимо сделать, это перейти на страницу RemoteSensors и скачать RemoteSensors driver for Windows 7. На сайте представлены драйвера для 32-х и 64-х систем. Скачиваем, запускаем установку, следуем подсказкам.

После завершения установки идем в панель управления, раздел Hardware and Sound, далее Location and Other Sensors.



Ставим галочку (Enabled) напротив PcRemote Sensors Device и нажимаем Apply.



В системе появились сенсоры. Осталось привязать их показания к показаниям сенсоров смартфона. Для этого скачиваем приложение PCRemoteServer и запускаем его.



Последний шаг — через Google Play скачиваем и устанавливаем приложение PcRemote Advance.



Запускаем, выбираем пункт Discovery Server, после того, как сервер обнаружен и произошло подключение — выбираем пункт — Sensors to PC.



Готово! Наш ПК (ноутбук, ультрабук, нетбук) теперь имеет сенсоры!

Как проверить работоспособность данного решения? Для этого я написал простое приложение, которое при запуске инициализирует Sensor and Location Platform, перечисляет все сенсоры, доступные в системе и выводит их в виде списка (Sensors). При выборе сенсора в списке в нижней части окна (Values) можно видеть текущие показания сенсоров.



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

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

Если у вас остались вопросы о том как использовать сенсоры в своих приложениях — приходите послушать доклады, посвященные сенсорам на КРИ и DevCon 12.
+23
18284
29
Terror 110,0

Комментарии (26)

+2
Opik, #
Надо будет опробовать, для Linux подобное не планируется ли случаем?
0
Terror, #
К сожалению под Linux пока такого решения не встречал.
+1
bagyr, #
AFAIK, в линуксе эти данные суть есть файлы в дебрях sysfs (акселерометр так точно, сам видел).
В софте/скриптах все равно придется открывать этот файл через open(), с таким же успехом можно взять все прямо из сети в каком-нибудь json.
Каких-то особых api именно для датчиков я не видел.
0
Opik, #
Ну если драйвер свой, то да, идут записи в sysfs, тот же android со своим наборов сенсоров. А интересует, собственно, трансляция этих значений в sysfs другого устройства/компа
0
neithere, #
Хм. Первое, что пришло в голову — Qt Mobility, но чистый Linux не поддерживается, только всяческие MeeGo/Harmattan. Печаль.
0
DimonCJ, #
К сожалению для себя заметил что современные браузеры не умеют брать инфу для геолокации из сенсоров =(
0
Terror, #
Я думаю, что это вопрос времени. Сейчас сенсоры геолокации не имеют широкого распространения, отсюда и отсутствие интереса со стороны разработчиков браузеров.
0
Keyten, #
Есть DepthJS
0
XoJlMc, #
а что за зверь на картинке?
+2
Terror, #
Это Letexo — bit.ly/JjXiy4
+7
Vadi, #
О каких сенсорах идет речь становится понятно только на 50 строке текста. В каждом предложение по одному — два слова «сенсоры», даже поисковики поймут, что это плохой текст. До написания комментария, я осилил только пол статьи, это ужас. Хотя тема важная.
+1
vikky13, #
Я, как редактор черновика этого текста, такую засенсоренность текста заметила, но справиться с ней не смогла по очевидной причине — придумайте хоть один синоним к слову «сенсор» помимо упоминаемого в тексте «датчик», и будет вам (и нам) счастье.
+1
Vadi, #
К примеру, «детектор».
В тексте 35 слов «сенсор» и всего 2 «датчик» (+2 в списке). А ведь можно совсем без этих слов. Например, вместо «Что сенсоры могут дать пользователю?» можно придумать 100500 выражений с таким же смыслом.

Я не зануда и не учитель русского языка. Просто от блога крупной мировой компании ожидаешь большего.
+6
mhspace, #
Тут проблема скорее не в частом повторении слова «сенсор», а в том, что до середины статьи непонятно, о каких сенсорах идёт речь. Сенсоры температуры, атмосферного давления или трезвости сидящего перед ноутом человека? Я стал догадываться, о каких сенсорах идёт речь только когда зашла речь об оных в стмартфонах.
0
alexzzam, #
Да автор же ещё говорит так, как будто «сенсор» и «датчик» означают разные вещи.
И даже в одном месте расшифровывает: «датчик (набор сенсоров)».
+1
Terror, #
Да, автор переборщил со словом «сенсор», но давайте будем к нему благосклонны, т.к. сама идея, не смотря на такое изложение, остается интересной. Тем более, что на обилие слово «сенсор» уже указали, и не один раз. Понял, исправлюсь. :)
0
vikky13, #
Согласна с критикой. Нас оправдывает только желание побыстрее поделиться с читателями интересной информацией. В следующий раз будем более внимательны.
+1
binariti, #
Да я тоже не понял особо о чем тут речь идет поначалу.
Думаю, если заменить слово «сенсоры» на слово «вещества», то будет понятнее:
image
+3
Terror, #
C «тараканы» получилось бы интереснее
+2
Jenyay, #
Я до середины статьи думал, что речь идет о сенсорных экранах.
+6
noma4i, #
Ехал сенсор через сенсор, сенсор сенсор, сенсор сенсор.

Если не считать адскую тавтологию(яростная оптимизация СЕО?), то интересно.
+3
Terror, #
Может это такая подготовка к тому, что сенсоры скоро будут везде? :)
0
w66fer, #
Сенсоры уже давно везде.
0
Leong, #
приложение под ios есть для передачи инфы на PC?
0
Terror, #
Приложения нет. Подозреваю, что протокол там не сложный.
0
Leong, #
значит ждем бесплатное приложение под айфоны

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