Управление 2 сервоприводами с сайта-как?

SEEK
Offline
Зарегистрирован: 01.02.2013

Всем здравствуйте! Хотел поспрошать у знающих... В каком направлении мне двигаться чтобы "быстро и дешево" -по возможности, выполнить мою задачу. А представляет она у меня вот что: необходимо удаленное управление с сайта- устройством. Управление такого плана: мышью, -как в компьютерных играх. То есть движения мыши-поворачивают устройство по X,Y(так же -как организовано "зрение" в компьютерных играх-куда мышь повернул-туда и смотрит камера). Реакция должна быть быстрой(практически моментальной) и с точностью до долей угловых минут.

Исходя из всего вышесказанного-у меня 3 вопроса:

1) позволяют ли сервы достичь приемлемой точности позиционирования(и какую предельную точность они позволяют?) ?
2) В каком направлении лучше всего двигаться-если мастерить подобное? Видел в сети -люди делают удаленное управление веб камерой..правда там надо в интерфейсе стрелочки нажимать"вправо-влево" и т.д. А мне мышью надо...

3) можно на ардуино сделать требуещееся мне? может кто уже делал и ссылку дадите?

В конечном итоге мне надо управлять 2 сервоприводами и 1 каналом-мигание лампочкой.  

mr.il
Offline
Зарегистрирован: 05.01.2013

Исходя из требования мгновенной реакции, со стороны веб-интерфейса тебе желателен свой веб сервер ну и выделенный IP. Плюс без flash не обойтись, хотя и на js можно попробовать.

mr.il
Offline
Зарегистрирован: 05.01.2013

Ещё я думаю, можно написать управляющую прогу и вебморду на андроиде или win-phone, зацепить ардуину на смартфон с этим ПО и будет вебкамера+управляющий ардуиной модуль+вебморда управления в одном устройстве.

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

Zapek@n
Offline
Зарегистрирован: 16.02.2012

Если это должен быть именно веб-интерфейс и мгновенная реакция, то возникает следующая проблема. Вам нужно посылать координаты мыши с каждым ее изменением, т.е. очень много много раз. Стандартным POST методом тут не обойтись, т.к. это будут тысячи запросов, и каждый будет отдельным обращением к серверу, со всеми хэдерами и т.д. Тут могут помочь WebSockets, реализация которых есть пока не в каждом браузере. Для отслыки в обратном направление (от сервера к клиенту) еще используют long polling, но про обратную реализацию (от клиента к серверу), типа long posting я не слышал

Mastino
Offline
Зарегистрирован: 03.12.2011

SEEK пишет:

1) позволяют ли сервы достичь приемлемой точности позиционирования(и какую предельную точность они позволяют?) ?

Как мне известно со стандартной библиотекой - по одному градусу (360 за оборот)

SEEK пишет:

2) В каком направлении лучше всего двигаться-если мастерить подобное? Видел в сети -люди делают удаленное управление веб камерой..правда там надо в интерфейсе стрелочки нажимать"вправо-влево" и т.д. А мне мышью надо...

думаю Processing

SEEK пишет:

3) можно на ардуино сделать требуещееся мне? может кто уже делал и ссылку дадите?

будет задержка, если связь будет не по локальной сети

 

SEEK
Offline
Зарегистрирован: 01.02.2013

Zapek@n пишет:

Если это должен быть именно веб-интерфейс и мгновенная реакция, то возникает следующая проблема. Вам нужно посылать координаты мыши с каждым ее изменением, т.е. очень много много раз. Стандартным POST методом тут не обойтись, т.к. это будут тысячи запросов, и каждый будет отдельным обращением к серверу, со всеми хэдерами и т.д. Тут могут помочь WebSockets, реализация которых есть пока не в каждом браузере. Для отслыки в обратном направление (от сервера к клиенту) еще используют long polling, но про обратную реализацию (от клиента к серверу), типа long posting я не слышал

Понимаю...Ну я насчет моментальной реакции может несколько преувеличил-понимаю что несколько сеть будет лагать... А какие вообще способы реализации возможны? И кстати сказать -можно ли к ардуине прицепить вебкамеру и таких связок ардуина-вебкамера- штук 20 к 1 компу?

 

 

SEEK
Offline
Зарегистрирован: 01.02.2013

Mastino пишет:

Как мне известно со стандартной библиотекой - по одному градусу (360 за оборот)

А какие еще двигатели могут дать приемлемую точность? А если попробовать рассмотреть шаговые двигатели? я видел -что они бывают даже 0,06 градусов за 1 шаг...Только дорого шибко блин...И как их прицепить к ардуине-непонятно...

Zapek@n
Offline
Зарегистрирован: 16.02.2012

Шаговиком можно управлять с помощью подобного шилда http://arduino.ru/Hardware/ArduinoMotorShieldR3

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Есть смысл смотреть в сторону сокетов и протокола udp. Объяснять много, сначала почитайте.
Смысл в том, что udp пакеты не требуют подтверждения доставки, потому это самый быстрый вариант. Минус в том, что пакеты могут теряться.
имхо, конечно, может есть что и получше, но мне не известно

Zapek@n
Offline
Зарегистрирован: 16.02.2012

kisoft пишет:
Есть смысл смотреть в сторону сокетов и протокола udp. Объяснять много, сначала почитайте. Смысл в том, что udp пакеты не требуют подтверждения доставки, потому это самый быстрый вариант. Минус в том, что пакеты могут теряться. имхо, конечно, может есть что и получше, но мне не известно

Я так понял топикастер говорит об управлении с веб-страницы. Javascript c UDP не просочетать никак, насколько я знаю. Последние версии флэша вроде как имеют какую-то поддержку UDP

Mastino
Offline
Зарегистрирован: 03.12.2011

думаю сам топикастер проект не осилит..  начинать нужно с того, сколько топикастер может вложить денег в проект.

leshak
Offline
Зарегистрирован: 29.09.2011

Mastino пишет:

думаю сам топикастер проект не осилит..  начинать нужно с того, сколько топикастер может вложить денег в проект.

Ну, осилить может кто угодно и что угодно. Вопрос только в желании прилагать усилия и затраченном времени.

Конечно можно и "дегьгами" (не ведь невозможно разбиратся во всем), но если есть желани, то можно и самому.

Так что я бы характеризовал это как "преждевременно".

Тут даже дуина - не нужна. Явно вначале нужно разбиратся с HTTP, JavaScript и проч. Вначале все эти "захваты мышки", передачу данных сделать PC->PC.

А делать это сразу PC->Duina это как учить кого-то языку иностранному, самому его не зная. 

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

Вообщем начать можете с написания странички которая будет захватывать мышку и выводить ее координаты в какие-то текстовы поля. Потом - напишете серверную часть, скажем на php или .net. Научите свою страничку слать данные этому серверу. Возмите сниффер и посмотрите что между ними бегает. А потом уже, смотрите как эту серверную часть реализовать на ардуине.

sergeevalex
Offline
Зарегистрирован: 15.10.2012

Из литературы стоит посмотреть: Джоб Макар. "Секреты разработки игр в Macromedia Flash MX".

Там и про флеш и про сервера. А оттуда и до ардуины рукой подать.

SEEK
Offline
Зарегистрирован: 01.02.2013

"с деньгами то каждый дурак сможет-а вот без денег..." :) . Вобщем пока что вот что удалось собрать: в принципе инфа в сети есть и даже много:

 

http://a-bolshakov.ru/index/0-225

http://habrahabr.ru/post/108058/

http://habrahabr.ru/post/135912/   - очень подробно, даже с исходниками программ!!

http://robocraft.ru/blog/projects/345.html - очень подробно, даже с исходниками программ!!

http://www.xakep.ru/post/53672/  - очень подробно, даже с исходниками программ!!

http://cxem.net/arduino/arduino47.php -с джойстика PS3

http://www.circuitsathome.com/mcu/programming/controlling-robotic-arm-with-arduino-and-usb-mouse - англичанин собрал управление рукой-манипулятором с помощь мышки! (на англ. языке)

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

Сейчас меня больше заботит какой двигатель взять. Так как сервы чувствую не пойдут..1 градус на шаг-это много. Надо Десятки шагов на градус.