Устройства для управления ЛА на больших расстояниях

Korogodsky
baychi:

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

Я в Йоте подключил внешний динамический бесплатно, в КомстарWimax по телефону сказали что у них по умолчанию идут внешние динамические, на счет 3G и CDMA не узнавал.

baychi
Korogodsky:

Я в Йоте подключил внешний динамический бесплатно

Ну и славно. Я просто про GSM недавно узнавал - там в основном такое деление. А ведь еще пару лет назад стат. IP 5$/мес у MTS/Beeline стоил. 😦

Korogodsky:

Как вам такая идея?

Так оно обычно и делается. Только ПК лучше брать не домашний, а сервак на работе, который включен гарантированно. 😃

webconnector
baychi:

Так оно обычно и делается. Только ПК лучше брать не домашний, а сервак на работе, который включен гарантированно

ddns.info в чем проблема я не понимаю все без платно у меня сервак стаял 3 года и все ок
комп самика пасилает свой ип Send IP -->пример uav.ddns.info --> procesing --> DNS status OK

и фсе пусть сколько угодно меняет тепер мы знаем наш IP¨под етим домеином
лутше всего послать команды на домеин а не на IP

Вот пример скрипта для микротика

# Define User Variables
:global ddnsuser “DYNDNSUSER”
:global ddnspass “DYNDNSPASS”
:global ddnshost “DYNDNSHOST”

# Define Global Variables
:global ddnsip
:global ddnslastip
:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip “0” }

:global ddnsinterface
:global ddnssystem (“mt-” . [/system package get system version] )

# Define Local Variables
:local int

# Loop thru interfaces and look for ones containing
# default gateways without routing-marks
:foreach int in=[/ip route find dst-address=0.0.0.0/0 active=yes ] do={
:if ([:typeof [/ip route get $int routing-mark ]] != str ) do={
:global ddnsinterface [/ip route get $int interface]
}
}

# Grab the current IP address on that interface.
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]

# Did we get an IP address to compare?
:if ([ :typeof $ddnsip ] = nil ) do={
:log info (“DynDNS: No ip address present on " . $ddnsinterface . “, please check.”)
} else={
:if ($ddnsip != $ddnslastip) do={
:log info “DynDNS: Sending UPDATE!”
:local str “/nic/update?hostname=$ddnshost&myip=$ddnsip&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG”
/tool fetch address=members.dyndns.org src-path=$str mode=http user=$ddnsuser \
password=$ddnspass dst-path=(”/DynDNS.".$ddnshost)
:delay 1
:local str [/file find name=“DynDNS.$ddnshost”];
/file remove $str
:global ddnslastip $ddnsip
}
}

Korogodsky
webconnector:

ddns.info в чем проблема я не понимаю

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

baychi
Korogodsky:

Я думаю это может замедлить скорость реакции управления

Не замедлит. Регистрация, как и превращение доменного имени в IP адрес делается один раз в начале сеанса. А дальше, до разрыва связи, Вы уже к нему не обращаетесь.

Korogodsky:

вчера сделал 4 ползунка на удаленной части ПО, реагируют на ручки управления хорошо

Напомните, чем Вы PPM сигнал c пульта в ПК вводите. Или это джойстик?

Korogodsky
baychi:

Напомните, чем Вы PPM сигнал c пульта в ПК вводите. Или это джойстик?

Точно могу посмотреть вечером дома как называется устройство если нужно. У меня передатчик JR 66 MAX, в него вставляется USB переходник, я его покупал для авиасимулятора, все это опознается как джойстик, можно калибровать и тд и тп.

msv

Какая-то путаница с терминами… Есть реальные адреса и серые, тут все понятно и однозначно. Внешний - это обычно адрес, через который выходит LAN сидящая за прокси или NAT сервером. Вам не могут выдать внешний адрес, внешним его можете сделать вы, развернув за ним сеть, например через роутер. Кста он, оставаясь при этом внешним, может быть и реальным и серым… Ну это так, условности…
К неопределенностям, которые дают поставщики канала, добавлять неопределенности чужого сервиса имхо повозможности не стоит… И если есть возможность развернуть свой сервер со стат адресом и с простейшей прожкой показывающей в ответе адрес другой стороны, то зачем мудрить…

baychi
Korogodsky:

могу посмотреть вечером дома как называется устройство если нужно. У меня передатчик JR 66 MAX, в него вставляется USB переходник

Не нужно. Все понятно, переходник симулятора в режиме джойстика. 😃

Korogodsky
msv:

Какая-то путаница с терминами

по умолчанию в Йоте IP имеют вид 10.10.10.x, к нему я не могу обратиться извне, по просьбе они подключают адреса начинающиеся на 94.

webconnector
Korogodsky:

по умолчанию в Йоте IP имеют вид 10.10.10.x, к нему я не могу обратиться извне, по просьбе они подключают адреса начинающиеся на 94.

Ну если и так можно и VPN с обоих сторон на сервак и усе

тагда и дднс не нужен только один реал ип на серваке

Korogodsky
webconnector:

Ну если и так можно и VPN с обоих сторон на сервак и усе тагда и дднс не нужен только один реал ип на серваке

Не будем углубляться 😃

msv
Korogodsky:

по умолчанию в Йоте IP имеют вид 10.10.10.x, к нему я не могу обратиться извне, по просьбе они подключают адреса начинающиеся на 94.

Да я пока догадываюсь о чем речь… 😃 Запостил свою реплику, что бы и впредь не догадываться, а сразу понимать обсуждение… В данном случае 10.x.x.x - серая сетка, которая не маршрутизируется в инет. Но вы можете выходить с нее в инет благодаря серверу (скорее всего NAT), имеющего кроме доступа во внутреннюю сеть, один или несколько интерфейсов с внешними реальными адресами. Внутри одного провайдера сетка с серыми адресами может маршрутизироваться, а может и нет. Поэтому хоть один нужен реальник или хотя-бы на одной стороне или на посреднике-ретрансляторе.
ЗЫ по хорошему надо бы в отдельную тему вынести…

pashteton
msv:

ЗЫ по хорошему надо бы в отдельную тему вынести…

Ну наконец то здравая мысль…
+1

Korogodsky

Выкладываю на тестирование программу с частью функционала. Что умеет программа:
Модуль IPFPVBase.exe:

  1. Получает состояние ручек джойстика (rc пульта);
  2. Обрабатывает нажатие клавиш клавиатуры. Рабочие клавиши задаются пользователем в поле Key для каждого канала;
  3. Передает состояние ручек джойстика и состояние клавиш по протоколу UDP на заданный IP адрес и порт 8080;

Модуль IPFPVBoard.exe:

  1. Получает переданные данные данные по протоколу UDP через порт 8080;
  2. Демонстрирует перемещение ползунков при изменении состояния ручек джойстика и “зажигает” дискретные переключатели при нажатии на заданные клавиши клавиатуры.

Поскольку это мой первый проект на C# .NET и DirectX, и вообще я последний раз что-то делал на подобном языке программирования (Delphi) когда учился в институте, возможны КОСЯКИ. Прошу потестировать на своих компьютерах. Пишите у кого на какой операционной системе, DirectX и .NET заработало, и у кого НЕ ЗАРАБОТАЛО и при каких обстоятельствах, это пригодится для создания FAQ.
И самое главное - ПОТЕСТИРУЙТЕ НА 3G, EDGE, GPRS, CDMA и пишите сюда какая скорость реакции!

В дальнейшем планируется добавить обмен между базой и бортом потоковым видео и поддержку USB серво-контроллера Pololu Mini Maestro.

rapidshare.com/files/435947484/IPFPV_EXE.zip

AsMan
Korogodsky:

Поскольку это мой первый проект на C# .NET и DirectX, и вообще я последний раз что-то делал на подобном языке программирования (Delphi)

Имхо самая подходящая платформа для подобного проекта:-))) Потестировать можно. У тебя станция таймштамп передает а борт пишет лог? Иначе все субьективно будет.

Korogodsky
AsMan:

У тебя станция таймштамп передает а борт пишет лог? Иначе все субьективно будет.

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

Korogodsky

Посмотреть и потестировать запускается/не запускается и как регирует на перемещения джойстика и нажатя кнопок можно на одном компе, НЕ ОБЯЗАТЕЛЬНО запускать базовый и бортовой модуль на разных компьютерах, можно обе половины запустить на ОДНОЙ машине, просто указываете IP адрес этого компьютера. Для работы программы необходим джойстик или r/c пульт подключенный в режиме джойстика.

msv

Уж простите, но имхо для оценки задержки в канале и его стабильности проще пользовать пингом… 😃 Там хоть какие-то цифры и статистика… Ну и конечно есть куча серьезного софта… Подвигать крутилки и посмотреть может и забавно, но тестированием канала это сложно назвать…

Korogodsky
msv:

тестированием канала это сложно назвать

Дело то не в канале… Мне например интересно знать мнения гуру FPV насколько реально использовать такую систему для управления быстродвижущимся ТС на большом расстоянии, своего опыта у меня же нет, а примерно прикинуть на мой взгляд по этим крутилкам можно, поэтому и выкладываю на обсуждение, я за эти две страницы уже довольно много узнал.