Технический форум по робототехнике.
esprit » 14 фев 2011, 07:33
==================================================================================================================
Вставка от =DeaD=
ВНИМАНИЕ!!! На рынке сейчас часто вместо DIR-320 продаётся DIR-320NRU - это совершенно другой по железу роутер и всё что тут описано к нему не имеет отношения. Будьте бдительны!
На текущий момент задача проброски видео и уарта на роутере D-Link DIR-320 решена полностью, при этом в рамках флеш-памяти роутера, т.е. для работы подключение каких-то флешек или usb-хабов не требуется.
Порядок модификации роутера для этой задачи подробно описан в вики на странице [[DIR-320]].
Кроме того от пользователя d3xr есть описание установки прошивки OpenWrt на DIR-320, оно находится на странице [[OpenWrt]]
==================================================================================================================Вдохновленный темой
http://roboforum.ru/forum40/topic5222.html, задумался над созданием робота на базе этого роутера. Первоначальный функционал - управляемый с компьютера робот по каналу Wi-Fi. Робот прошит (так скажем, не без усилий) прошивкой от
http://vampik.ru/. На нем завелась Linux-подобная операционка, можно подключиться Телнетом. Задача первая научиться рулить роботом посредством операционной системы. На борту есть USB порт, говорят есть UART. Вот его лицо
, а это спина
.
dccharacter » 23 мар 2011, 17:38
С первого раза не понял. Ладно, попробуем еще раз:
Инструкция к модулю: OR-AVR-M128-DS.pdf -
mediawiki/images/5/53/OR-AVR-M128-DS.pdfФорум поддержки пользователей: [http://roboforum.ru/viewtopic.php?f=69&t=7684]
Так более понятно?
esprit » 25 мар 2011, 15:59
Под виндой все живет. Из под DIR-320 не хочет. С командной строки светодиод повешеный на F0 зажигается и гаснет.
- Код: Выделить всё • Развернуть
stty -crtscts 9600 < /dev/tts/0 настройка порта
echo "PinSetF0=1" > /dev/tts/0 зажечь светодиод
echo "PinSetF0=0" > /dev/tts/0 погасить светодиод
А вот suart этого делать не хочет. По сокету коннектиться, говорит что получил PinSetF0=1, а светодиод молчит и ответа от suart "=>Socket:" тоже нет. В исходнике исправил /dev/ttyS0 на /dev/tts/0. Куда смотреть?
dccharacter » 25 мар 2011, 16:05
Там была еще какая-то тема с "отвязкой" единственного юарта от консоли ядра - смотри вики, возможно, дело в этом.
И еще, запускаю сюарт с параметром -d. При подключении к роутеру с компа сюарт пишет "connection accepted"
esprit » 25 мар 2011, 16:24
nvram set kernel_args="root=/dev/mtdblock2 rootfstype=squashfs,ext3 noinitrd init=/linuxrc console=null" nvram commi это я сделал. Из коммандной строки то работает. Мож у меня не актуальный suart нет там в исходнике отработки параметров типа -d. connection accepte пишет. сокет отрабатывает затык похоже в уарт.
dccharacter » 25 мар 2011, 16:36
esprit писал(а):nvram set kernel_args="root=/dev/mtdblock2 rootfstype=squashfs,ext3 noinitrd init=/linuxrc console=null" nvram commi это я сделал. Из коммандной строки то работает. Мож у меня не актуальный suart нет там в исходнике отработки параметров типа -d. connection accepte пишет. сокет отрабатывает затык похоже в уарт.
./suart -s/dev/tts/0 -b115200 -p3000 -d
С компа телнетом на 3000 порт, сюарт должен написать "connection accepted". Когда на компе что-то набираешь suart говорит, что получены данные и показывает какие Socket => "asdasdasdasd"
Добавлено спустя 3 минуты 6 секунд:Проверь тот ли у тебя сюарт:
forum10/topic9534-195.html#p199152
esprit » 25 мар 2011, 16:47
Можно увидеть исходник вашего суарт. так как в исходнике с
download/file.php?id=19699 не обозначена работа сюарт с параметрами коммандной строки и жестко прописано addr.sin_port = htons(3000); - слушать порт 3000 и tty_fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NONBLOCK); открыть /dev/ttyS0
dccharacter » 25 мар 2011, 16:52
ты как-то странно читаешь сообщения - по диагонали? вот прямая ссылка:
download/file.php?id=19739
esprit » 25 мар 2011, 18:11
wiki/DIR-320Шаг 1. Скачиваем программу suart и загружаем её в роутер
1. Скачайте архив suart.zip по ссылке [http://roboforum.ru/download/file.php?id=19699];
download/file.php?id=19699Добавлено спустя 9 минут 25 секунд:* SUART -- Socket to UART tunnel utility
*
* Copyright (c) 2011 Volkov Andrey (espirit), Botov Anton (=DeaD=)
глаз радует )))
Добавлено спустя 1 минуту 1 секунду:тока esprit, а не espirit (((
boez » 25 мар 2011, 20:02
Ну тут уж тебе не повезло, автокорректоры в мозгу у народа примерно одинаковые, я тоже пока первый раз не взялся отвечать (а тогда я имя проверяю внимательно) был полностью уверен, что там написано espirit 
А версию стоит брать именно последнюю - там помимо прочего добавлена опция SO_REUSEADDR. Предотвращает выпадение ошибки "порт занят" когда закрываешь suart и через короткое время снова пытаешься открыть. Ну и всякие опции выбора девайса-скорости-дебажного режима тоже полезны, чтобы всякими stty не баловаться.
Добавлено спустя 5 минут 18 секунд:Ссылку в вики поправил на свежую версию.
wallera » 26 мар 2011, 09:10
Друзья! во внутренней сети связка Tcp/Ip ->suart работает (telnet 192.168.1.1 3000) ,
а как из вне на suart подключиться по телнету (у меня выделенный Ip)
так? ---->>> мой.ай.пи.х 3000 , предварительно пробросил порт 3000 к 192.168.1.1 в virtual server......
boez » 26 мар 2011, 11:43
Ну разрешать подключение без аутентификации из внешней сети не сильно хорошо, но в принципе для этого даже проброс портов не нужен. suart слушает на всех интерфейсах сразу, так что нужно просто в родном файрволе разрешить входящие на 3000 порт. А вот чтобы это сделать, надо знать как он организован... Хотя возможно просто добавление правила в веб-интерфейсе поможет.
Из командной строки это
- Код: Выделить всё • Развернуть
iptables -I INPUT <x> -p tcp --destination-port 3000 -i <имя входящего интерфейса> -j ACCEPT
плюс может такое же зеркальное правило на OUTPUT. А вот чтобы узнать под каким номером <x> его совать, надо знать содержимое цепочки INPUT. Хотя конечно можно под номером 0 засунуть и полюбому поможет

dccharacter » 26 мар 2011, 16:07
А я правильно понимаю, что VPN поднимается тоже как интерфейс? Тогда можно 3000 порт на всех интерфейсах закрыть, а на ВПН открыть.
Добавлено спустя 2 минуты 11 секунд:
А, стойте. Тема-то в другом. Если мы рулим роутером по вай-фаю, то ВАН точно совершенно приходит на другой роутер. Соответственно на том роутере настраиваем проброс портов со всей необходимой безопасностью, а на ДИР-320 уже безопасность не нужна, так как он находится в милитаризованной зоне.
wallera » 27 мар 2011, 02:34
Парни, не очень понятно ,но будем вникать.У меня задача несколько другая (но близкая к теме). У нас 3 метеостанции с которых по RS232 снимается несколько параметров
Скорость, направление ветра, осадки(есть/нет),атмосферное давление ....
ставим DIR320, и через суарт снимаем показания в сеть ... метеостанции в радиусе 70 км
от города -погода в трех разных точках часто не совпадает с инет-прогнозами...
Так как же мне доступаться из вне к суарту , ни какие аустенификации не нужны, проект
народный -заходи смотри.
dccharacter » 27 мар 2011, 04:04
так? ---->>> мой.ай.пи.х 3000 , предварительно пробросил порт 3000 к 192.168.1.1 в virtual server......
так
esprit » 27 мар 2011, 11:24
Так как же мне доступаться из вне к суарту , ни какие аустенификации не нужны, проект
народный -заходи смотри.
Как минимум, Вай Фай имеет средства проверки подлинности и шифрование данных. Адреса и порты тоже надо знать чтоб подключиться. Меня смущает 70 км и Вай Фай.