На прошедшем недавно 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.
