По теории удаленного управления ...

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

По теории удаленного управления ...

Сообщение Roman Koff » 19.05.2010 (Ср) 15:06

Посоветуйте, как реализовать задачу:

Есть видеокамера на сервоприводе управляемая через RS232.
Есть компутер в локальной сети, к которому подключена камера.
Есть веб-сервер имеющий доступ в локальную сеть, а также, внешний IP-адрес.

Хочется создать решение, с помощью которого можно управлять камерой удаленно из сети Интернет через приложение .net либо через сайт asp.net (предпочтительнее).

Собствено вопрос: из каких компонентов должно состоять решение?

Из входящих: API для управления камерой -- имеется; концепция пользовательского интерфейса управления -- разработана. Видео с камеры передавать не надо.
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: По теории удаленного управления ...

Сообщение Dmitriy2003 » 20.05.2010 (Чт) 15:10

Roman Koff писал(а):Видео с камеры передавать не надо.

Что остается - вкл. / выкл. ?

Roman Koff писал(а):Есть компутер в локальной сети, к которому подключена камера.

сюда повесть сервис - слушать порт, куда будут приходить команды.

Roman Koff писал(а):Есть веб-сервер имеющий доступ в локальную сеть, а также, внешний IP-адрес.

здесь, или сервис (к примеру soap), или страничку (IIS поднят ? SSL ?) или настроить NAT - на сквозную идентификацию (SUA) чтоб
пакеты прямо на host с камерой сыпались.(тогда странички не будет, придеся gui писать).

Ну вот как-то так примерно. :)

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: По теории удаленного управления ...

Сообщение Roman Koff » 20.05.2010 (Чт) 17:15

Интерфейс управления представляет собой:
- Кнопка вкл./выкл.
- Поле с координатной сеткой, реагирующее на клик мышки. При клике происходит поворот камеры в соотв. точку.
- Скролл масштаба
- Скролл яркости
- Кнопки поворота по 8 осям координат и положению "HOME"
- 9 кнопок сохранения позиции и 9 кнопок восстановления сохраненной позиции

Как я понял:
На компутере создается сервис Win32 и работает через сокет. Какой протокол лучше юзать для сокета (работал с сокетами очень давно, уже все забыл)?
На сервере -- есть сервер приложений IIS7 с ASP.NET4. В идеале -- было бы все делать через веб-интерфейс (JavaScript)
Также возможен вариант с написанием некоего посредника на сервере (я так понимаю лучше всего, действительно веб-сервис), а не него уже вешать веб-приложение или апликацию с другой сетевой машины.

Правильно ли я все понял или есть более оптимальное решение?

Задача, на самом деле, простая. В аудитории есть веб-камера, подключенная к презентационной машине. Управление ею происходит с помощью IR-пульта (от телевизора Гыгыгыыы). Есть, конечно, "железные" решения для контрола за такими камерами, но они стоят тех денег, которые за них платить не будут. Хочется, чтобы у оператора был комп, с которого он бы управлял камерой не мешая презентационной машине.
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: По теории удаленного управления ...

Сообщение FireFenix » 20.05.2010 (Чт) 18:19

Если комп-комп-камера:
Реализуем Клиент-Сервер и юзаем обычный TCP/IP - System.Net.Sokets
клиент -> TCP/IP -> сервер -> rs232 -> камера

Как аналог через Web сервис
браузер -> HTTP -> веб-сервер -> rs232 -> камера

Если пуль-комп-камера:
пульт -> IR -> сервер -> rs232
только вот тут нада покурить как прикручивать ИК приёмник к серверному приложению

На сервере -- есть сервер приложений IIS7 с ASP.NET4. В идеале -- было бы все делать через веб-интерфейс (JavaScript)

Впринципе реализуемо.... вот только если ASP будет работать с rs232, но при написании через веб - отпадает надобность написания Серверного приложения =)-
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: По теории удаленного управления ...

Сообщение Dmitriy2003 » 20.05.2010 (Чт) 18:27

Самый простой вариант на мой взгляд, настроить NAT, повесть WinService и написать гуй, работать скорее всего придется через TCP (я бы создал структуру с состоянием, сериализация в XML или Binary и обменивался ей между клиентом и сервисом, можно заюзать gzip - сие зависит от размера передаваемых данных данных - думается все это можно упаковать <1k).

UDP - может и прокатило-бы в рамках интранета, но из интернета проблематично, лишний геммор с синхронизацией может возникнуть (на ровном месте).

Roman Koff писал(а):Также возможен вариант с написанием некоего посредника на сервере (я так понимаю лучше всего, действительно веб-сервис), а не него уже вешать веб-приложение или апликацию с другой сетевой машины.

тогда уж лучше так: Client (asp.net page) -> Server IIS (WebService SOAP) -> Host IIS (WebService SOAP)) -> Camera Control API - но я бы так не поступил, зачем плодить посредников если можно работать напрямую.

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: По теории удаленного управления ...

Сообщение Roman Koff » 20.05.2010 (Чт) 21:34

Чегото помоему я не четка написал. Вы все перепутали.

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

Программа для локального управления камерой с машины уже есть (Win32 .Net). Протокол известен, либы есть.

Хочется какраз сделать удаленный вариант управления через сеть и RS323.
Хочу реализовать такую связку: Камера - RS232 - Компутер - Сервер - Клиент.

Компутер - Сервер -- находятся в локальной сети (поэтому UDP предпочтительнее, но не знаю есть ли какиенить тонкости)
Сервер - Клиент -- могут быть и удалены через Интернет (хотя сойдет и вариант для локалки) -- соотв., наверное, через SOAP.
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: По теории удаленного управления ...

Сообщение FireFenix » 20.05.2010 (Чт) 21:49

Roman Koff писал(а):Компутер - Сервер -- находятся в локальной сети (поэтому UDP предпочтительнее, но не знаю есть ли какиенить тонкости)

UDP - сильно нагружает свитчи да и заточен более для конференций... TCP/IP предпочтительней

Roman Koff писал(а):Сервер - Клиент -- могут быть и удалены через Интернет (хотя сойдет и вариант для локалки) -- соотв., наверное, через SOAP.

если юзать TCP/IP то можно сыкономить на байтиках =) особенно если траф платный (если извращаться, то тотжий gprs)

если юзать TCP/IP для обоих, то можно обойтись только одним стандартом
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36

    TopList