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