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
.

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

=DeaD= » 01 дек 2011, 22:21

Переделал управление шасси на клавиатуру (кнопки WASD).
Поправили слайдер управление сервой вращения камеры.
Вложения
or-html-wasd.zip
(1.57 КиБ) Скачиваний: 0

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

zuluss008 » 02 дек 2011, 01:23

У меня тоже радостные новости- Flash - на роутере сгорела... :cry:
Подключил к USB- порту картридер без внешнего питания, нагрузил его как следует.
При прошивании через JTAG пишет - нет у тебя FLASH MEMORY...
Говорят, можно с DDR память выпаять и впаять в роутер, увеличив внутреннюю память...

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

=DeaD= » 02 дек 2011, 07:41

zuluss008 писал(а):Подключил к USB- порту картридер без внешнего питания, нагрузил его как следует.

Чем нагрузил? :shock:

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

elmot » 02 дек 2011, 09:19

zuluss008 писал(а):У меня тоже радостные новости- Flash - на роутере сгорела... :cry:
Подключил к USB- порту картридер без внешнего питания, нагрузил его как следует.
При прошивании через JTAG пишет - нет у тебя FLASH MEMORY...
Говорят, можно с DDR память выпаять и впаять в роутер, увеличив внутреннюю память...

А связь? Вы хотите мертвый раутер с большой памятью RAM или заменить сгоревший flash? Если это сгорел именно flash, а, скажем не питание или интерфейс flash. На планках DDR флэш-памяти нету. Ну или почти нету.

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

d3xr » 03 дек 2011, 18:08

Кто сейчас на каких прошивках работает? Не получается у меня на openwrt suart поставить, а олеговская чего то не прельщает меня :(

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

=DeaD= » 03 дек 2011, 18:27

Я пересел на OpenWRT в редакции, подготовленной тов. elmot. Только suart туда еще не портировали - это последний шаг остался.

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

d3xr » 03 дек 2011, 23:38

а можно прошивку выложить где нибудь?

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

=DeaD= » 04 дек 2011, 10:15

Пока с elmot не обсудили все вопросы распространения - вот в частном порядке для тестов запороленый архив, пароль в ЛС скину.

После заливки адрес будет 192.168.0.1, подключение к домашней вай-фай настраиваемое, параметры камеры реально меняются только после перезагрузки роутера (а не после того как оно написало, что поменял), параметры все пока выводятся дефолтные в формах, а не текущие, т.е. если сейчас 160х120, а не 320х240, то в форме при входе всё равно будет указан параметр 320х240. Вроде это еще не поправили.
Вложения
openrobotics-dir-320-openwrt-based-firmware-by-elmot.zip
(2.83 МиБ) Скачиваний: 0

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

d3xr » 05 дек 2011, 19:34

Подскажите как вебморду роутера в инете расшарить? IP белый, система Win7, на роутере OpenWRT. В какую сторону копать?

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

=DeaD= » 05 дек 2011, 19:44

Как роутер к инету подцеплен? Через комп? Если да, тогда может быть заморочено. Вот если бы в домашней сети через вай-фай - там на домашнем роутере бы прописали проброску портов и всё.

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

d3xr » 05 дек 2011, 21:00

К инету через wi-fi другого роутера (Tp-Link TD-8901G)

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

elmot » 07 дек 2011, 11:55

d3xr писал(а):Подскажите как вебморду роутера в инете расшарить? IP белый, система Win7, на роутере OpenWRT. В какую сторону копать?

Видео передается по порту 8080 без защиты, веб морда по 80 basic authorization, протокол http. Я просто пробрасывал порт на домашнем раутере наружу(Port Forwarding), работало, URL для видео http://<ip>:8080?action=stream, для морды http://<ip>. Я уже пробовал, работает. Но я Вас умоляю, осторожнее с этим, и особенно с портом 80. В сети кулхацкеров немеряно, обнаружат открытый порт - станет весело. Вам же не нужно, чтобы робот без вашего ведома катался по дому, давя кошек и подсматривая?

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

tenik » 09 дек 2011, 11:14

suart к прошивке не прикрутили? а то охота попробовать, а на Олеговской прошивке не получается роутер к домашней сети клиентом приконнектить :(

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

=DeaD= » 09 дек 2011, 11:47

В эти выходные я буду проверять прошивку с ser2net на борту, если всё окей - скоро сделаем "релиз".

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

elmot » 09 дек 2011, 14:58

Текущее состояние прошивки (0.53 по моей нумерации)

Для чего?
Для раутера D-LINK DIR-320. H/w версия А1. С серебристой вставкой на корпусе. Вероятно, может подойти к другим раутерам на основе того же чипа. Предполагается подключение камеры по USB и периферии по UART.
Для D-LINK DIR-320NRU, он же H/w версия B1, просто черный, не подходит!
Что внутри?
Готовая к заливке прошивка - trx файл.
Ядро и дополнения к стандартному ImageBuilder’у от OpenWRT backfire 10.03.01-RC6, с помощью которых она построена.
файл make.sh для построения и запаковки прошивки
Как прошивать?
Проверенный метод - tftp.
Настроить на компьютере IP-адрес 192.168.0.2, подключиться к любому порту LAN на раутере.
установить tftp клиента (есть в поставке win 7, но не установлен по умолчанию).
приготовить команду tftp 192.168.0.1 PUT <имя прошивки>
включить раутер
подождать ровно 2 секунды и запустить команду. Лампа LAN должна часто-часто-моргать несколько секунд, после чего команда должна успешно завершиться.
Ждать. Минут 5. Когда прошивка загрузится и не сможет подключиться к wifi (так как вряд ли Ваша сеть называется “OpenWrt” и имеет пароль “1”), должна загореться синяя лампа на раутере и помаргивать каждые 10 секунд (знак того, что wifi не настроен).
Что включено?
авто-логин в сеть wifi как клиент со статическим IP
автозапуск mjpeg-streamer с поддержкой камеры
автозапуск ssh сервера
webface http(s) с опциональной авторизацией
простая страничка с видом из камеры
настройка wifi
защита WPA-PSK/WPA2-PSK,NONE
имя сети SSID
пароль
static IP, netmask, GW, dns
настройка камеры (номер, MJPEG/YUV, frame rate, resolution)
настройка Web-сервера
http да/нет
https да/нет
консоль linux отцеплена от uart, некоторое количество данных от загрузчика, но после загрузки OS uart доступен для работы периферии, система не лазает в UART.
доступ к UART через HTTP/HTTPS пока только на запись
доступ к UART через ser2nt на порту 2000
Как конфигурировать? Есть два варианта
ssh 192.168.0.1 по кабелю в любой порт раутера или ssh <wifi ip>, если wifi поднялся. Login root, password 123
https://192.168.0.1 по кабелю либо https://<wifi IP> по wifi, wifi поднялся.
Login admin, password oradmin. На первой странице внизу ссылка на админку. Браузер будет ругаться на неправильный сертификат, но это нормально. Надо сказать “зайти все равно”.
Что за кнопки, окошко ввода и скроллер на первой странице?
Поворот камеры. Кнопки там же и окно ввода не работают как надо - это остатки старого эксперимента. По перемещению движка в UART отдаются команды типа AT+ROBOT,PWM=миллисекунды. Это для моей прошивки STM. Как несложно догадаться, это управление сервомотором, к которому у меня дома приклеена камера.
Есть версия страницы для робота open-robotics с управлением WASD
Нерешенные проблемы
Задержка видео. При использовании 160*120 30 fps она минимальная, но есть.
Нет человеческого способа менять пароли, только через SSH консоль.
Защита. Такую штуку надо держать на защищенном протоколе. Сейчас видео идет по http порт 8080 вообще открыто, вебморда и управление - либо http либо https, либо с паролем, либо без. Самый правильный способ - https+пароль. Но https в данной конфигурации тормозит жутко. Похоже, http сервер на раутере на каждый запрос пересоздает SSL подключение, а это небыстрое дело.
Webface написана на чем попало, ее неудобно расширять,
Webface содержит явную недоделку - когда заходишь на страничку настройки, то она показывает не текущие значения из конфигов раутера, а ее собственные дефолты
Другие предупреждения
Признак подключенности wifi, при котором синяя лампа гореть не будет - это успешный пинг до Default Gateway. Следует в конфигурации раутера указать правильный адрес и разрешить на ping на Gateway.Обычно это разрешено.
Не выключайте HTTP и HTTPS одновременно. Иначе перенастройка раутера станет возможной только по SSH, либо перепрошивка и все по новой
Не забывайте про защиту. Очень хочется показать эту вещь в интернете, но надо понимать, что за вами могут наблюдать через камеру, а ездящий робот может даже нанести материальный ущерб либо даже травму. Учтите, что в Интернете “кулхацкеров” гораздо больше, чем ваших друзей.


Rambler\'s Top100 Mail.ru counter