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

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



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

Виды сенсоров


Не берусь говорить точно о том, какие именно датчики будут устанавливаться, но скорее всего в стандартный набор будут входить:


    • Датчик освещенности

    • Акселерометр

    • Компас

    • Датчик ориентации

    • GPS



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


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

Благо предпосылки к созданию программ, работающих с сенсорами, появились еще в Windows 7 - Sensor and Location Platform. Это унифицированный интерфейс взаимодействия с сенсорами, который позволяет избежать неразберихи, когда каждый датчик поставлялся со своими драйверами и своим 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.

有关编译器优化的更完整信息,请参阅优化通知