![](https://habrastorage.org/getpro/habr/post_images/f23/5f5/8a7/f235f58a74db7bc43d1b06ee31c2f382.jpg)
Причем, данные модели не просто концептуальный дизайн, они являются образцами реальных устройств, которые начнут появляться на рынке в ближайшее время. С их выходом на рынок сенсоры больше не будут диковинкой, а станут неотъемлемой частью любого ультрабука.
Зачем они нужны
Что сенсоры могут дать пользователю? Возможность использовать навигацию, работать с умными, контекстно-зависимыми приложениями, а также новые возможности по взаимодействию с интерфейсом пользователя, новый класс игр и многое другое.
Для программиста это возможность добавить в свое приложение функции, отличающие программу от продуктов конкурентов, а то и вовсе возможность найти и «застолбить» новую модель использования. Тема пока новая, у каждого разработчика есть шанс создать что-то, что станет «классикой жанра».
Благо предпосылки к созданию программ, работающих с сенсорами, появились еще в 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.
![](https://habrastorage.org/getpro/habr/post_images/72b/e18/556/72be185566af56f45ef531cf95302970.png)
Ставим галочку (Enabled) напротив PcRemote Sensors Device и нажимаем Apply.
![](https://habrastorage.org/getpro/habr/post_images/c7f/09b/63a/c7f09b63a2517c483ee6756133590dfb.png)
В системе появились сенсоры. Осталось привязать их показания к показаниям сенсоров смартфона. Для этого скачиваем приложение PCRemoteServer и запускаем его.
![](https://habrastorage.org/getpro/habr/post_images/335/673/b91/335673b91ff32e4d331e94e88443a201.png)
Последний шаг — через Google Play скачиваем и устанавливаем приложение PcRemote Advance.
![](https://habrastorage.org/getpro/habr/post_images/9aa/cd6/24a/9aacd624a137956b76c7fd0f1416063f.png)
Запускаем, выбираем пункт Discovery Server, после того, как сервер обнаружен и произошло подключение — выбираем пункт — Sensors to PC.
![](https://habrastorage.org/getpro/habr/post_images/c56/38a/467/c5638a4677b81cddd411acb737778a9a.png)
Готово! Наш ПК (ноутбук, ультрабук, нетбук) теперь имеет сенсоры!
Как проверить работоспособность данного решения? Для этого я написал простое приложение, которое при запуске инициализирует Sensor and Location Platform, перечисляет все сенсоры, доступные в системе и выводит их в виде списка (Sensors). При выборе сенсора в списке в нижней части окна (Values) можно видеть текущие показания сенсоров.
![](https://habrastorage.org/getpro/habr/post_images/c1a/7ff/9e1/c1a7ff9e1f26d0016579944440565957.png)
Если все было сделано правильно, то при запуске приложения вы увидите список сенсоров, как на картинке.
Теперь можно смело приступать к разработке сенсоро-ориентированного приложения для новых мобильных платформ.
Если у вас остались вопросы о том как использовать сенсоры в своих приложениях — приходите послушать доклады, посвященные сенсорам на КРИ и DevCon 12.