Поделиться через


Windows Phone 8, Netduino и Bluetooth...

Грэг Дункан

Сегодняшний проект пришел к нам от Мэта Каванага (Matt Cavanagh) и посвящен…

Управление Netduino с WP8 через Bluetooth

В последний раз я дотрагивался до моего Netduino пять месяцев назад (из-за загрузки на работе) примерно с того момента, как женился. Поэтому в эти выходные я решил стряхнуть с него пыль и познакомить со своим Lumia 920.

Разъяснение: На самом деле я не стряхивал с него пыль.

Теперь они друзья.

Вот видео того, чему посвящен пост, для объяснения, как это работает. Трудно увидеть реальные цвета вещей на видео – так что поверьте мне на слово, что всё работает.

Я собираюсь начать с объяснения части, связанной с Netduino, а затем перейду к WP8. Я постараюсь максимально доходчиво объяснить предмет, на случай, если кто-то на планете хуже меня разбирается в электронике…

Сначала займемся аппаратурой…

Сначала надо обновить Netduino. Удивительно, но Netduino не обновляет себя, сидя в чулане. Я работаю с Windows 8, ио так как по ошибке прописал его ROM файлом Netduino Plus, все драйверы работали прекрасно и ничего специально делать не пришлось.

Затем я прицепил замечательный компактный Bluetooth-модуль компании Pro-tecc:

...clip_image002

... далее Windows Phone 8

Windows Phone 8.

Создайте новое приложение WP8 в VS2012. Да, это возможно лишь в WP8, не в 7.

Я создал простой интерфейс с тремя слайдерами, по одному на каждый цвет. По умолчанию, цвет слайдеров с левой стороны будет основным цветом телефона, так что я отменил этот стиль и заменил его. Ниже располагается прямоугольник, залитый выбранным цветом. Ниже идут три зависимых кнопки: Still (спокойный), Strobe (стробируемый), и Ambient (внешний). Кнопка Still просто посылает величины, выбранные с помощью слайдеров. Strobe посылает каждые 100 мс случайные величины (существенно мигая светодиодом). Действие кнопки Ambient немного сложнее. Я использовал заднюю камеру устройства для получения среднего цвета поверхности, на которую смотрит телефон, а затем отсылал его Netduino. Чтобы заставить камеру инициалироваться мне пришлось поместить скрытый прямоугольник в UI и привязать его кисть к камере.

Поверх этого располагается элемент Grid с градусником, демонстрирующим соединение. Если соединения не происходит (или соединение проходит в первый раз), этот элемент будет показываться поверх всей картинки до тех пор, пока произойдет успешное соединение и не буде получен тестовый пинг.

clip_image004

...

clip_image006

Исходники? Да, он предоставил исходный код для обеих сторон, достаточно щелкнуть на посте и промотать текст до конца сообщения.

Это поможет вам начать работу и предохранить WP8 от грусти…