OR-WRT — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Потерян пароль SSH или запорота конфигурация)
(Перенаправление на OR-WRT 0.76)
 
(не показано 11 промежуточных версий 2 участников)
Строка 1: Строка 1:
[[Категория:Open Robotics]]
+
#REDIRECT [[OR-WRT_0.76]]
 
+
[[Category:ORWRT]]
=О проекте=
+
[[Category:Open Robotics]]
[[Изображение:OR-WRT-webface.jpg|thumb|200px|Панель управления OR-WRT|right]]
 
 
 
==Описание проекта==
 
Этот проект создан в рамках более крупного проекта Open Robotics, направленного на создание доступных и повторяемых платформ для любительской (и не только) робототехники. Суть проекта - готовая прошивка для сетевого оборудования, позволяющая удобно и без множества ручных настроек и перепрограммирования использовать его в робототехнике в качестве WiFi адаптера для UART и USB-устройств (пока поддерживаются только UVC-вебкамеры и некоторые USB-UART адаптеры). Прошивку на основе типовой OpenWRT разработал elmot (elijah.mot [на] gmail.com).
 
 
 
==Ссылки на форумы этого проекта==
 
* [http://roboforum.ru/forum69/topic10929.html Вопросы разработки и развития  OR-WRT]
 
* [http://roboforum.ru/forum69/topic10928.html Вопросы поддержки пользователей OR-WRT]  
 
 
 
==Лицензия==
 
Вы можете использовать проект для некоммерческих целей. По вопросу коммерческого использования обращайтесь к автору.
 
 
 
==Предупреждение==
 
Вы используете материалы, представленные здесь, на свой страх и риск. Предупреждаем, что вскрывая роутер для присоединения консоли и заменяя его прошивку, вы можете лишиться как гарантии на устройство, так и повредить само устройство. Автор прошивки, равно как Open-robotics.ru и OpenWRT.org не несут никакой ответственности за прямые либо косвенные последствия использования материалов данного проекта.
 
 
 
=Поддерживаемое оборудование=
 
==Роутеры==
 
<gallery>
 
file:TL-MR3020-02.jpg|TP-Link MR3020
 
file:WR703n-photo.jpg|TP-Link WR703N
 
file:Dir-320-photo.jpg|D-Link DIR-320
 
file:DIR-320_NRU.jpg|D-Link DIR-320 NRU
 
</gallery>
 
 
 
* Беспроводные роутеры:
 
** TP-LINK MR3020
 
** TP-LINK WR703N
 
** D-Link DIR-320 (обычный, не NRU!),
 
** ASUS wl500gP(проверено ddcharacter)
 
** Другие роутеры на базе SoC Broadcom BCM47xx/53xx (не проверялось) или Atheros AR9331
 
** Возможна модификация прошивки для поддержки других роутеров с USB и совместимых с прошивкой [OpenWRT.org]
 
 
 
==USB-вебкамеры==
 
Все UVC-камеры (список тут — [http://www.ideasonboard.org/uvc/ http://www.ideasonboard.org/uvc/]).
 
 
 
<b>C камерами Logitech С-270 обнаружены проблемы с помехами видео</b>
 
 
 
Лучше, чтобы камера поддерживала режим MJPEG, но YUV камеры тоже можно использовать, при этом увеличится задержка видео.
 
 
 
==USB-UART интерфейсы==
 
* Silicon Labs CP210x, включая [http://shop.roboforum.ru/product/or-usb-uart-v1-usb-uart-adapter/ OR-USB-UART-v1]
 
* Pololu Orangutan SVP-1284
 
* другие не проверялись, скорее всего будут поддержаны.
 
 
 
=Установка прошивки=
 
[[OR-WRT_install]]
 
 
 
=Настройка прошивки=
 
 
 
* ssh 192.168.0.1 по кабелю в любой порт роутера или ssh <wifi ip>, если wifi поднялся. Login root, password 123
 
* Через браузер: http://192.168.0.1 по кабелю либо http://<wifi IP> по wifi, если wifi поднялся. Login admin, password oradmin. На первой странице внизу ссылка на админку.
 
 
 
==Подключение к домашней WiFi-сети==
 
 
 
Предполагается, что роутер подключается к домашней сети wifi как клиент со статическим IP.
 
 
 
* Выберите подходящий IP. Он должен быть:
 
** в диапазоне IP сети,
 
** не быть занятым,
 
** быть вне диапазона адресов, раздаваемых DHCP сервером.
 
** не входить в диапазон 192.168.0.X
 
* Зайдите на web интерфейс прошивки, в админке есть соответствующая страница. Там вы можете поставить:
 
** защита WPA-PSK/WPA2-PSK,NONE
 
** имя сети SSID
 
** пароль
 
** static IP
 
** netmask
 
** default GW
 
** dns
 
 
 
В качестве проверки работоспособности сети прошивка раз в 10 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается голубой светодиод на следующие 10 секунд. Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает).
 
 
 
==Настройка веб-камеры==
 
 
 
На странице настройки камеры вы можете выбрать:
 
 
 
* разрешение
 
* fps
 
* номер камеры(возможно подключение нескольких камер через USB-hub)
 
* YUV или MJPEG режимы
 
 
 
=Использование прошивки на ПК=
 
==Получение видеопотока или отдельных кадров==
 
 
 
Обратите внимание! Браузер Internet Explorer не поддерживает MJPG видео и не покажет изображение с камеры. Используйте Crome, FireFox или Opera(Opera Turbo надо выключить)
 
 
 
* видеопоток в формате mjpg "http://wifi-ip:8080/?action=stream"
 
* кадр в формате jpg "http://wifi-ip:8080/?action=snapshot"
 
 
 
==Проброска UART-а==
 
[[Изображение:Dir-320-UART-pinout.jpg|thumb|200px|Распиновка UART в DIR-320.|right]]
 
 
 
===Встроенный UART===
 
<b>Текст устарел</b>
 
 
 
Доступен двумя способами
 
 
 
* сервис ser2net транслирует обмен на TCP порт 2000
 
* запись в порт доступна по протоколу http URL /cgi-bin/serial.cgi , метод POST, значение параметра SERIAL_DATA будет записано в порт
 
 
 
===CP210x (OR-USB-UART)===
 
 
 
в файл /etc/config/ser2net.conf надо добавить строку:
 
 
 
3001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
 
 
 
После перезагрузки UART порт доступен на TCP порту 3001
 
===Pololu Orangutan SVP-1284===
 
 
 
На оборудовании tenik удалось связать роутер с систмой Pololu Orangutan:
 
 
 
в файл /etc/rc.local для перезапуска драйвера были добавлены строки:
 
 
 
rmmod usbserial
 
insmod usbserial vendor=0x1ffb product=0x0087
 
 
 
в файл /etc/config/ser2net.conf добавлены строки:
 
 
 
3001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
 
3002:raw:600:/dev/ttyUSB1:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
 
3003:raw:600:/dev/ttyUSB2:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
 
 
 
После перезагрузки 3 UART порта Pololu доступны на TCP портах 3001, 3002, 3003
 
 
 
=Внесение изменений в прошивку=
 
 
 
Для внесения серьезных изменений в прошивку штудируем документацию [http://wiki.openwrt.org/doc/start OpenWRT]
 
 
 
==Загрузка своих страниц для управления роботом==
 
 
 
Текущие страницы доступны для сливания через админку робота. Для заливки новых страниц я использую команду:
 
 
 
pscp.exe -r -pw 123 -scp www/* root@192.168.0.1:/www
 
 
 
pscp входит в комплект программ Putty.
 
 
 
'''Не заливайте файлы из каталогов /cgi-bin/* На них скорее всего слетят unix-права и прошивка перестанет работать.'''
 
 
 
=Нерешенные проблемы=
 
 
 
* Задержка видео. При использовании 160*120 30 fps она минимальная, но есть.
 
* Нет удобного способа менять пароль, только через SSH консоль (команда passwd).
 
* Защита. Робота с такой прошивкой надо держать на защищенном протоколе. Сейчас видео идет по http порт 8080 вообще открыто, web-face и управление - либо http либо https, либо с паролем, либо без. Самый правильный способ - https+пароль. Но https в данной конфигурации жутко тормозит.
 
* Скрипты Webface написаны на awk и ash, их неудобно поддерживать, Следует мигрировать на Lua
 
* Webface содержит явную недоделку - когда заходишь на страничку настройки, то она показывает не текущие значения из конфигов роутера, а ее собственные дефолты
 
 
 
=Другие предупреждения=
 
 
 
* Не выключайте HTTP и HTTPS одновременно. Иначе перенастройка роутера станет возможной только по SSH.
 
* Не забывайте про защиту. Очень хочется показать эту вещь в интернете, но надо понимать, что за вами могут наблюдать через камеру, а ездящий робот может даже нанести материальный ущерб либо даже травму. Учтите, что в Интернете “кулхацкеров” гораздо больше, чем ваших друзей.
 
 
 
=Загрузки=
 
 
 
* [http://sourceforge.net/projects/orwrt/files/ Загрузка с SourceForge]
 
 
 
Что внутри?
 
 
 
* Готовая к заливке прошивка в формате trx.
 
* Ядро и дополнения к стандартному ImageBuilder’у от OpenWRT backfire 10.03.01, с помощью которых она построена.
 
* файл make.sh для построения и запаковки прошивки
 
 
 
=Проблемы и решения=
 
==Потерян пароль SSH или запорота конфигурация==
 
# Настроить на компьютере IP-адрес 192.168.1.2
 
# Подсоединить роутер к компьютеру по порту LAN
 
# Заготовить разогнутую скрепку для нажимания на кнопку(к TP-LINK MR3020 не относится)
 
# Включить роутер
 
# Через несколько секунд на роутере замигает лампочка. В этот момент нажать кнопку. Лампочка должна замигать часто.
 
# Заходим на роутер <code>telnet 192.168.0.1</code>
 
# Смонтировать jffs2 <code>/sbin/mount_root</code>
 
# Поменять пароль root <code>passwd</code>
 
# Поменять другие настройки путем редактирования файлов /etc/config/*
 
# Перезагрузить роутер
 
==Как залить другую прошивку вместо OW-WRT==
 
Это можно сделать через консоль, в веб-интерфейсе не реализовано.
 
#Залить файл прошивки(обычно .bin или .trx) в /tmp, при помощи scp или pscp
 
#Выдать в консоли команду <code>sysupgrade -n /tmp/<имя файла прошивки></code>.
 
 
 
=Ссылки=
 
* [http://sourceforge.net/p/orwrt/tickets/ Поддержка]
 
* [http://openwrt.org/ OpenWRT]
 
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] - универсальный SSH клиент для Windows
 

Текущая версия на 18:16, 26 апреля 2013

Перенаправление на: