roboforum.ru

Технический форум по робототехнике.

Робот на базе роутера D Link DIR-320

Наше хобби — конструировать и программировать.
Демонстрация готовых роботов и устройств построенных своими руками.

Робот на базе роутера D Link DIR-320

Сообщение 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. Вот его лицо
face.jpg
, а это спина
back.jpg
.
Орфография и стилистика автора сохранены.
esprit
 
Сообщения: 70
Зарегистрирован: 06 июн 2008, 05:26
Откуда: Уссурийск

Re: Робот на базе роутера D Link DIR-320

Сообщение dccharacter » 28 сен 2011, 20:06

Я прикручивал к ORFA-terminal TCP-сокет. Его там надо до ума довести, а то он не умеет препарировать входящие ответы. А команды посылает отлично.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Робот на базе роутера D Link DIR-320

Сообщение d3xr » 28 сен 2011, 22:42

чет я накосячил... хотел прошить dd-wrt, сначала вернул оригинал. после прошивки родной проши роутер не отзывается. статус не горит, по 192.168.1.1, 192.168.0.1 не отзывается, сетевуху как только не настраивал... Доктор, он умер?
Аватара пользователя
d3xr
 
Сообщения: 201
Зарегистрирован: 01 июн 2010, 08:04
Откуда: Казань

Re: Робот на базе роутера D Link DIR-320

Сообщение =DeaD= » 28 сен 2011, 22:52

Вроде говорят не должно его никак убить такими средствами... только если загрузчик снести, но средствами загрузчика же это вроде невозможно... или я что-то не то читал...
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Робот на базе роутера D Link DIR-320

Сообщение dccharacter » 29 сен 2011, 00:26

Посмотри что он в отладочную консоль при запуске выдает
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Робот на базе роутера D Link DIR-320

Сообщение zuluss008 » 29 сен 2011, 01:33

у меня такое было- ...
Причём- при держании ресета более минуты результата никакого - верно?.....;)
лечится использованием JTAG, допайкой нужных контактов на плату роутера. (Т.е.- перепрошиванием родного аварийного загрузчика,
при условии что вы не повредили физически область NVRAM)
Если нужно, схему + алгоритм действий в этом напрвлении могу подсказать.

P.S. много раз хотел DIR выкинуть на мусорку, но....
Он действительно ПРОГРАММНО неубиваем.

Добавлено спустя 2 минуты 5 секунд:
=DeaD= писал(а):Вроде говорят не должно его никак убить такими средствами... только если загрузчик снести, но средствами загрузчика же это вроде невозможно... или я что-то не то читал...

можно и "средствами" загрузчика...
Например, при прошивании питание выдернуть...

Добавлено спустя 1 минуту 48 секунд:
роутер мертв, но лампочки какие-то на нем горят? Такие симптомы?
zuluss008
 
Сообщения: 98
Зарегистрирован: 19 окт 2010, 23:13
Откуда: Республика Беларусь, г. Брест
Skype: zuluss008
прог. языки: Python, C++
ФИО: Зуев Евгений Николаевич

Re: Робот на базе роутера D Link DIR-320

Сообщение d3xr » 29 сен 2011, 11:20

Лампочки горят. Посмотреть отладочную консоль не могу... Есть у меня шнурок usb-rs232 на PL2303, но у него уровень 6В o_O
Подключил Rx шнурка к Tx роутера, скорость 115200. Крякозябры выдает. Другая скорость может быть? Или дело в уровне сигнала?

Скорости разные пробовал, все равно
ВЪЪъЪГЪЪЪЪЪЧЧЪЪъВЧЧЪ©ЪЧЪЪЪЪъЪъЪЧъВЪЧЪЪЪЪЪъЧЪВЪОЪЧЧЪЧЧЪъЪЪъЪЧЪЪЧЧЪъЪЪЪЧЪЪъЧВНЪЪЪООЪЪЪоъъЪЪчъЪЪЧЪъЪЪШОЧЪЪЪЪВВЪоЪъЪЪЪъЧЪъВЧЧЪВЧЧъОЪЪЪъЧВЪЪъЪЪЪЪоЪОЧЪъЪЪЪЪЪЪ╬ЧЪъЪЪъъчЧЧЪъЪОЪОЪОЪЪЪВВВЪЪъЪЧЪЧОЪЪЪВЪОчЪЪЪЧОЪЪЧЪЪЪЪЧОЪЧЧЪОЪЪВЪъЪГЪЪЪШЪВЪЪЪЪООЪЪъВЪЪъЪъВЪъЪЪЪОъВЧЧЪЪЪЪЪОЪЧЪЧЪЧЧГЪoЪОЪЧЧЪъЪЪЪСъЪЧЪъЧЪЪЧъЪЪНЧЪЧОЪЪЪЪъВЧЪВЧОЪЪЧЧЪЪЪЧЧЪООЪъЪЪВЪЪЪЪъЪВОЪъЪЪЧЪВъВЧ©ШЪОЪЧЪЪВОЪВЪЪО
выдает.

Загоряется сразу индикатор питания, потом начинает мигать lan, потом загорается статус.

IP-сетевухи выставил на 192.168.0.10, пинг
Обмен пакетами с 192.168.0.1 по с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Ответ от 192.168.0.10: Заданный узел недоступен.
Превышен интервал ожидания для запроса.

Статистика Ping для 192.168.0.1:
Пакетов: отправлено = 4, получено = 1, потеряно = 3
(75% потерь)

C:\Users\Isk_And_R>ping 192.168.1.1

Обмен пакетами с 192.168.1.1 по с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Ответ от 192.168.1.1: число байт=32 время=38мс TTL=253

Статистика Ping для 192.168.1.1:
Пакетов: отправлено = 4, получено = 1, потеряно = 3
(75% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 38мсек, Максимальное = 38 мсек, Среднее = 38 мсек


Причем название сети в винде высвечивается как DIR-320

IP-сетевухи выставил автоматом, пишет неопозанная сеть, пинг
C:\Users\Isk_And_R>ping 192.168.1.1

Обмен пакетами с 192.168.1.1 по с 32 байтами данных:
Ответ от 192.168.1.1: число байт=32 время=38мс TTL=253
Ответ от 192.168.1.1: число байт=32 время=37мс TTL=253
Ответ от 192.168.1.1: число байт=32 время=38мс TTL=253
Ответ от 192.168.1.1: число байт=32 время=38мс TTL=253

Статистика Ping для 192.168.1.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 37мсек, Максимальное = 38 мсек, Среднее = 37 мсек

C:\Users\Isk_And_R>ping 192.168.0.1

Обмен пакетами с 192.168.0.1 по с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.

Статистика Ping для 192.168.0.1:
Пакетов: отправлено = 4, получено = 0, потеряно = 4
(100% потерь)


Ни по ssh, ни по телнету, ни через браузер ни заходит.

_______________________
Вариант с jtag как провернуть? И отладчика нет у меня, видимо паять придется. Схемы все с lpt... Можно как нибудь на ком порте сделать, или с usb?

Добавлено спустя 30 минут 8 секунд:
Хотя наверное можно такую штуку купить, да? http://kazan.dns-shop.ru/catalog/i12455/
Аватара пользователя
d3xr
 
Сообщения: 201
Зарегистрирован: 01 июн 2010, 08:04
Откуда: Казань

Re: Робот на базе роутера D Link DIR-320

Сообщение dccharacter » 29 сен 2011, 11:36

Сделай себе переходник USB-UART - жизнь сильно улучшится
на шнурке ты скорее всего неправильно как-то скорость выставляешь....
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Робот на базе роутера D Link DIR-320

Сообщение d3xr » 29 сен 2011, 11:58

На ft232 я не осилю. Одна плата лежит разведенная и запаянная, не работает. Такой вариант будет работать? http://www.getchip.net/posts/041-uart-t ... ttiny2313/
Аватара пользователя
d3xr
 
Сообщения: 201
Зарегистрирован: 01 июн 2010, 08:04
Откуда: Казань

Re: Робот на базе роутера D Link DIR-320

Сообщение dccharacter » 29 сен 2011, 22:41

Я вот себе такой сделал.
post218399.html#p218399
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Робот на базе роутера D Link DIR-320

Сообщение zuluss008 » 30 сен 2011, 00:35

Для работы через JTAG дира нужно:
- иметь LPT порт на компе
- спаять кабель типа Wiggler (см. распайку)
- выполнить инстукцию ниже.

Добавлено спустя 1 минуту 44 секунды:
Итак паяем кабель (а-ля 5 проводков для AVR):

Добавлено спустя 3 минуты 55 секунд:
Далее всё подсоединяем и выполняем следующие операции (архив со всеми программами ниже в архиве):

Работа с DIR-320 через EJTAG через кабель Wiggler

1. Установить в БИОСе системной платы ПК режим параллельного порта ECP или ECP+EPP.
2. Загрузиться с BartPE.
3. Настроить сетевой адаптер так, чтоб был доступ к роутеру.
4. Подключить порт EJTAG роутера к ПК через кабель Wiggler.
5. Подать питание на роутер.
6. Войти в каталог с драйвером giveio.sys и программой его загрузки loaddrv.exe (например, через Тотал коммандер).
7. Запустить loaddrv.exe.
8. Набрать в появившемся окошке <полный_путь_к_драйверу>\giveio.sys и последовательно нажать Install и Start. Убедиться в успешном выполнении этих команд.
9. Запустить Командную строку.
10. Ввести команду subst z: "<полный_путь_к_программе_работы_с_jtag>" <ENTER> (последняя косая черта в пути должна отсутствовать).
11. Ввести команду z: <ENTER>.
12. Запустить Putty.
13. Набрать вдрес роутера и нажать OK.
14. В появившемся окне терминала ввести имя и пароль роутера.
15. Ввести команду halt. Подождать завершения работы роутера (должны погаснуть индикаторы wi-fi и ГОТОВ).
16. Запустить программу brjtag.exe или tjtag302RC2-1.exe с нужными параметрами.
Примеры.
- считывание и сохранение начального загрузчика:
brjtag -backup:cfe /wiggler /wx8 /dma /fc:033
или
tjtag302RC2-1 -backup:cfe /cable:wiggler /byte_mode /fc:40

Добавлено спустя 10 минут 36 секунд:
выполнив эту инструкцию до крайнего пункта, я сам долго не мог вьехать что за параметры надо указывать в этом пункте инструкции.
Но полазив вот тут
http://sat-forum.su/index.php/topic,6818.15.html
нашел ссылку на файл CFE.bin (для DIR-320 версии A1) (это вроде бы что-то вроде аварийного загрузчика)
что-то ввёл в качестве параметров (точно не помню), прошил этим файлом роутер и всё ожило.

Крайний совет - сначала почитайте от корки до корки все 11 страниц по моей ссылке, может остальные более простые способы вам помогут.
Удачи.

Добавлено спустя 3 минуты 46 секунд:
вот ещё одна распиновка кабеля, но с номерами пинов автор явно промазал

Добавлено спустя 14 минут 13 секунд:
Да, кстати, сам долго мучался с обменом по UART между DIRом и сначала компом, потом ардуиной.
Во первых, если у вас шнурок на PL2303 (как и у меня), то посмотрите вовнутрь, на какие пины PL2303 заведен кабель со стороны МК.
У меня всё было оборвано и пришлось изучать даташит на PL2303, чтобы восстановить кабель.
Восстановил, но кракозябры шли.
В итоге, добавил общую землю между диром и компом, поигрался настройкой гипертерминала (или PUTTY, не помню) и всё завелось.
Лог выходит чистый.
Проверьте кодировки (у вас может не ASCII стоит?), поманипулируйте скоростями.
На разных прошивках разные скорости UARTA по умолчанию. На некоторых 38400, 9600, на "местной" вроде 115200.

Добавлено спустя 8 минут 8 секунд:
d3xr писал(а):Лампочки горят. Посмотреть отладочную консоль не могу... Есть у меня шнурок usb-rs232 на PL2303, но у него уровень 6В o_O
Подключил Rx шнурка к Tx роутера, скорость 115200. Крякозябры выдает. Другая скорость может быть? Или дело в уровне сигнала?




вот даташит, где там 6В? :shock:
у меня напрямую этот шнурок и с диром и с атмегой 16 работает, и с ардуиной :good:

попробуйте rx и tx шнурка соединить между собой
потом тоже самое с rx и tx роутера
а лучше прозвоните кабель по даташиту, у меня один провод отпаялся от PL2303 - два дня дурные вопросы на этом форуме всем задавал :crazy:
Вложения
pl2303.pdf
(149.45 КиБ) Скачиваний: 0
pcbdir_330_431.jpg
EJTAG.zip
(98.82 КиБ) Скачиваний: 0
7edeee251047.jpg
zuluss008
 
Сообщения: 98
Зарегистрирован: 19 окт 2010, 23:13
Откуда: Республика Беларусь, г. Брест
Skype: zuluss008
прог. языки: Python, C++
ФИО: Зуев Евгений Николаевич

Re: Робот на базе роутера D Link DIR-320

Сообщение d3xr » 30 сен 2011, 00:56

Мультимер показывает разность потенциалов между rx и tx шнурка 6,6в оО
Там кроме pl2303 еще микруха какая то стоит... Перекрещивал, эхо идет. Кстати земли не соединял, упустил.

Добавлено спустя 9 минут 53 секунды:
zt213leea
Аватара пользователя
d3xr
 
Сообщения: 201
Зарегистрирован: 01 июн 2010, 08:04
Откуда: Казань

Re: Робот на базе роутера D Link DIR-320

Сообщение zuluss008 » 30 сен 2011, 01:01

а rx или tx относительно gnd сколько показывает?
хотя вот эта надпись из даташита дает волю размышлениям
Вложения
1.JPG
zuluss008
 
Сообщения: 98
Зарегистрирован: 19 окт 2010, 23:13
Откуда: Республика Беларусь, г. Брест
Skype: zuluss008
прог. языки: Python, C++
ФИО: Зуев Евгений Николаевич

Re: Робот на базе роутера D Link DIR-320

Сообщение d3xr » 30 сен 2011, 19:44

6,4 вольта
Аватара пользователя
d3xr
 
Сообщения: 201
Зарегистрирован: 01 июн 2010, 08:04
Откуда: Казань

Re: Робот на базе роутера D Link DIR-320

Сообщение zuluss008 » 30 сен 2011, 23:45

имхо,вам надо сначала попробовать заведомо исправный переходник usb-uart или com-uart на max232.
Чтобы определить, где проблема, в переходнике (несогласованности уровней и т.д) или в настройках uarta (на роутере или в гипертерминале).
Мне кажется - проблема во втором.
zuluss008
 
Сообщения: 98
Зарегистрирован: 19 окт 2010, 23:13
Откуда: Республика Беларусь, г. Брест
Skype: zuluss008
прог. языки: Python, C++
ФИО: Зуев Евгений Николаевич

Re: Робот на базе роутера D Link DIR-320

Сообщение zuluss008 » 01 окт 2011, 17:01

dccharacter писал(а):Я прикручивал к ORFA-terminal TCP-сокет. Его там надо до ума довести, а то он не умеет препарировать входящие ответы. А команды посылает отлично.

Не совсем понял.(Не пользовал ORFA-терминал, т.к. нет плат OR)
To dccharacter
Ты пробросил TCP на виртуальный COM-порт компа? Я правильно понял?
Но со входящими командами были проблемы, да?
Подскажи как это сделать тривиально? (кроме как разбирать исходники ORFA-терминала)
Через какие библиотеки?
Я с COM-портом в VS2008 работал,
с сокетами пока нет.

Добавлено спустя 1 минуту 30 секунд:
=DeaD= писал(а):Народ говорит, что можно URL открывать в OpenCV как файл.

Получилось???
(У меня пока openCV 1.0) :oops:

Добавлено спустя 34 минуты 58 секунд:
Holmes писал(а):Tsi, я вот именно эту же ссылку и нашел только ...

Прикрепляю весь текущий проект на C#. Думаю так удобнее, там есть все либы и т.д.
Работа с камерой в mainForm.cs. Там в конце регион Camera.

Сейчас поищу по FFMPEG...

Добавлено спустя 18 минут 15 секунд:
Не могу ни на форуме ни в сети найти архив, придется грузить сюда.
Там перекомпиленные либы, как пользоваться я писал выше. Сразу оговорюсь, сам не пробовал.
Может дойдут руки, попробую позже, а сейчас очень занят роботом и подготовкой к Крыму =). Уеду на 2 недели.
Если у кого получится через FFMPEG, отпишите плз.


У кого-нибудь получилось???
zuluss008
 
Сообщения: 98
Зарегистрирован: 19 окт 2010, 23:13
Откуда: Республика Беларусь, г. Брест
Skype: zuluss008
прог. языки: Python, C++
ФИО: Зуев Евгений Николаевич

Пред.След.

Вернуться в Наши проекты

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

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