Не нужно прятаться от HID – сквозной проект сенсора движения для WinRT

Грэг Дункан

Сегодняшний аппаратный пост имеет, с моей точки зрения, ряд замечательных и забавных возможностей. Кроме того, всё, что объединяет в себе Windows 8.1, Netduino, C# и возможность сказать «HID» не может быть совсем плохим, не правда ли?

Образец сенсора движения, микропрограммы и приложения WinRT для HID

Это сквозное решение включает руководство для построения простого пассивного инфракрасного сенсора, работающего по протоколу HID. Оно представлено документом, озаглавленным «Создание сенсора движения». Вместе с ним идет проект на Visual Studio C# с исходным кодом, предназначенный для создания микропрограммы сенсора.

Вдобавок к руководству по созданию устройства, решение включает в себя пример приложения для Магазина, которое мониторит датчик на предмет обнаружения движения и снимает короткое пятисекундное видео в случае обнаружения движения. (Приложение описано во втором руководстве, озаглавленном «Разработка приложений с протоколом Human Interface Device (HID)».

Замечание: Это сквозное решение использует ПО, произведенное по лицензии Creative Commons Attribution-ShareAlike 3.0 Unported License. Условия лицензии приведены здесь.

Требования к операционной системе

Клиент

Windows 8.1

Сервер

N/A

Установка среды разработки для встраиваемого ПО

Прежде ем загружать в Netduino Plus встраиваемое ПО, необходимо выполнить следующие шаги:

· Установить на машине разработки Microsoft Visual C# Express 2010

· Установить .NET Micro Framework SDK v4.2

· Установить на плату Netduino Plus встраиваемое ПО Netduino Beta v4.1.1

· Загрузить проект встраиваемого ПО устройства и открыть его в Visual C# Express

Заметьте, что это видео дает прекрасное объяснение процессу установки бета-версии ПО на плату Netduino. (См. сопутствующее руководство, объясняющее подробности сборки устройства и установки ПО.)

Сборка сенсора движения, основанного на HID

Сенсор движения состоит из платы разработки Netduino Plus с присоединенным пассивным инфракрасным сенсором (PIR). Детали сборки этого сенсора можно найти в документе, озаглавленном «Создание сенсора движения». Собрав сенсор, можно присоединить его к лэптопу на Windows 8.1 или планшету и запустить пример приложения.

Установка среды разработки для приложения Магазина

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

· Установите Windows 8.1 на машину.

· Установите Microsoft Visual Studio Professional 2013 или Microsoft Visual Studio Ultimate 2013.

· Скачайте проект примера. Посмотрите сопровождающий документ «Разработка приложений с протоколом Human Interface Device (HID)», в котором можно найти подробности о приложении-примере. (Если на вашем компьютере не установлена видеокамера, возможно, вы захотите развернуть приложение на компьютере с видеокамерой.)

Сборка приложения-примера

После сборки сенсора движения можно приступить к его тестированию с помощью приложения-примера. Подробнее сборка приложения описана в руководстве (а также детали функционирования приложения).

...

Вот снимок документа «Создание сенсора движения».

clip_image002

Введение

С добавлением в Windows 8.1 нового HID WinRT API Microsoft предоставила ученым, энтузиастам и инженерам замечательную платформу для соединения удаленных устройств с планшетами и лэптопами. Новый API упрощает интеграцию широкого спектра устройств: от измерительного оборудования в исследовательских лабораториях до станций, следящих за погодой, медицинских приборов и тренировочного оборудования.

Единой чертой всех этих устройств является поддержка протокола HID. На ранних стадиях этот протокол применялся для связи с клавиатурами, мышками и джойстиками – устройствами, выступавшими в качестве интерфейса между компьютером и человеком. Отсюда и название «Human Interface Device» или HID.

Однако из-за того, что протокол является самоописывающим, он оказался идеальным для поддержки большого круга других устройств (под самоописывающим подразумевается, что HID-устройство представляется самостоятельно: назначение, возможности, размер пакета при соединении с ведущим ПК).

Сенсор движения описывается в этой статье как учебный инструмент – его и соответствующее ПО можно использовать для изучения протокола HID и нового WinRT API. Сенсор спроектирован для работы с приложением HidInfraredSensor, предоставляемым в качестве образца в современном SDK.

Если вы новичок в работе с протоколом HID или транспортом USB, то замечательной начальной точкой станет книга Яна Эксельсона (Jan Axelson) «USB Complete». Прочтите главы, посвященные HID, прежде чем погружаться в детали встраиваемого ПО. Другим полезным источником информации является форум разработчиков на сайте usb.org.

Быстрое начало

В этом разделе документа собрана информация, которая поможет быстро собрать и запустить сенсор движения. Он спроектирован, чтобы работать с приложением-примером HidInfraredSensor, входящим в галерею примеров MSDN для Windows 8.1. Этот пример мониторит или прослушивает события регистрации движения от сенсора. Когда случается событие и регистрируется движение, приложение записывает короткое видео, используя встроенную в устройство веб-камеру.

Приложение следит за событиями, используя новый HID WinRT API; а видео записывается с помощью MediaCapture API.

(Более подробно о внутренней работе устройства можно узнать из описания встраиваемого ПО в этом документе.)

...

clip_image004

Наконец перейдем к коду...

clip_image006

...соберем и запустим его...

Сборка приложения-примера

После сборки сенсора движения можно приступить к его тестированию с помощью приложения-примера. Подробности сборки приложения (а также детали его функционирования) находятся в руководстве по приложению.

Прочитав документ и установив исходники приложения, можно приступить к его сборке:

1. Запустите Microsoft Visual Studio 2013 и выберите File > Open >Project/Solution.

2. Перейдите в каталог, в который вы разархивировали пример. Зайдите в каталог с именем приложения и дважды щелкните на файле решения (.sln).

3. Нажмите F7 или воспользуйтесь меню Build > BuildSolution для сбрки примера.

4. Включите плату Netduino с помощью внешнего источника питания.

5. Подождите несколько секунд пока сенсор не инициализируется (инфракрасному сенсору необходимо около 10 сек, чтобы определить уровень окружающего инфракрасного излучения).

6. Присоединить плату Netduino к планшету или лэптопу USB-кабелем.

7. Из работающей Visual Studio с открытым проектом примера можно запустить приложение либо под отладчиком, либо без отладки (для отладки нажмите клавишу F5 или в меню выберите Debug > StartDebugging. Для запуска без отладки нажмите Ctrl+F5 или Debug> StartWithoutDebugging.)

И вот у вас есть сквозное HID-решение для Windows 8.1...