Пришел SkyNet (не тот…) Skype + Netduino

 

Грэг Дункан

Спорим, вы не сможете забыть его! Netduino пост! Да. И я уверен их еще будет много в дальнейшем…

В нем есть что-то настолько замечательное и забавное, пересекающее границы железа и программирования, что я не смог сопротивляться. И так как у нас теперь есть галерея Kinect, мы обязаны здесь идти в ногу с Netduino, .NET Micro Framework и подобными аппаратными проектами.

В любом случае… Сегодняшний проект поступил через подборку новостей Пита Брауна по клиентской разработке Windows #071 от 6.6.2011.

Демонстрационный проект Netduino – SkyNet использует Skype для удаленного управления Netduino.

Этот проект SkyNet использует оконную форму для перехвата сообщений от удаленного соединения Skype и передает их Netduino для управления положения веб-камеры.

...

После создания проекта Pan and Tilt (Слежение за объектом и наклоны камеры) для Netduino, я использовал VNC для удаленного наблюдения с моего домашнего ПК (хост) из офиса (удаленный пункт). Я использовал наблюдатель на основе веб-камеры для получения образа и веб-браузер для посылки команд на хостовый ПК.

Я решил, что будет действительно здорово упростить наблюдение за изображением и удаленного управления камерой, используя только одно приложение. Skype выглядит хорошим кандидатом для этого.

SkyNet выполняется на хостовом ПК и он автоматически запускает Skype, если тот не работает.

Он перехватывает любые сообщения, получаемые Skype на хостовом ПК и предназначенные для Netduino.

Затем он отправляет эти команды на Netduino через сокеты. Можно использовать кнопки на форме SkyNet для посылки команд напрямую Netduino в целях тестирования. Также имеется доступный флажок, помеченный надписью «Послать Netduino». Можно сбросить этот флажок, если Netduino не подключен, и вы хотите проверить SkyNet. Также есть поле, в которое необходимо ввести IP-адрес Netduino.

Код отправки команд через сокет приложению «Pan and Tilt», работающему на Netduino:

clip_image002

clip_image004

PanAndTilt ­- программа слежение за объектом

Этот проект используется для управления ориентацией веб-камеры из любого веб-браузера. Я разработал ее, чтобы удаленно следить за задним двориком (через VNC, когда я на работе), чтобы наблюдать какое животное(-ые) поедают мои растения.

Аппаратное обеспечение проекта состоит из двух сервомоторов для управления панорамированием и наклоном камеры с помощью Netduino+. Netduino получает команды по сети и передвигает соответствующий сервомеханизм, используя Servo_API от Криса Сето (Chris Seto). Он использует контакты 9 и 10 для сервомоторов. Убедитесь, что вы подсоединили Netduino к 9-вольтовому источнику энергии, так как USB-соединитель не в состоянии обеспечить необходимый для сервомоторов ток.

Команды посылаются с любого браузера по IP-адресу Netduino+ (т.е. https://192.168.0.104) с последующим добавлением в URL “/PanTilt.htm”. В моем случае я использую https://192.168.0.104/PanTilt.htm.

PanTilt.htm – небольшой HTML-файл, расположенный на SD-карте Netduino+. Он отображает стрелочки для контроля позиции камеры. Когда вы нажимаете стрелку влево браузер посылает Netduino «L» через JavaScript. Приложение PantAndTilt Netduino+ (которое является модификацией моего приложения MicroServer) обслуживает страницы на SD-карте и транслирует команды, в нашем случае в команду «left» для сервомотора, управляющего движением вдоль оси х. Есть команда для движения вверх, вниз, влево, вправо и в центр.

...

clip_image006

clip_image008

В этом проекте рассмотрен ряд интересных вещей, взаимодействие со Skype, проект «Pan and Tilt» на просто замечательном общем уровне помешанности…clip_image010

Вот несколько ссылок, которые могут оказаться интересными: