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

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
м (Настройка веб-камеры)
 
(не показано 8 промежуточных версий 1 участника)
Строка 1: Строка 1:
[[OR-WRT_0.70-Eng|English version]]
+
[[OR-WRT_0.76-Eng|English version]]
 
[[Category:Open Robotics]]
 
[[Category:Open Robotics]]
 
[[Category:ORWRT]]
 
[[Category:ORWRT]]
 +
 
=О проекте=
 
=О проекте=
 
[[File:OR-WRT-webface.jpg|thumb|200px|Панель управления OR-WRT|right]]
 
[[File:OR-WRT-webface.jpg|thumb|200px|Панель управления OR-WRT|right]]
Строка 18: Строка 19:
 
* поддержка нового загрузчика для WR-703N(TP-Link TL-WR703N (v1.7) uboot v1.1.4.)
 
* поддержка нового загрузчика для WR-703N(TP-Link TL-WR703N (v1.7) uboot v1.1.4.)
 
* свой репозиторий пакетов
 
* свой репозиторий пакетов
* теперь админские скрипты показывают реальное состояние настроек
+
* теперь админские страницы показывают реальное состояние настроек
 
* отключаемая поддержка режима access point.  
 
* отключаемая поддержка режима access point.  
** Сеть - OR_WRT,
 
** пароль по умолчанию 12345678(меняется с помощью web-интерфейса).
 
** IP 192.168.218.1, работает  dhcp
 
* можно включать-выключать wifi access point и wifi client прямо через веб
 
 
* для LAN работает dhcp
 
* для LAN работает dhcp
 
* мелкие исправления
 
* мелкие исправления
Строка 89: Строка 86:
  
 
В качестве проверки работоспособности сети прошивка раз в 10 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается светодиод WPS на следующие 10 секунд. Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает).
 
В качестве проверки работоспособности сети прошивка раз в 10 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается светодиод WPS на следующие 10 секунд. Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает).
 +
 +
==Использование роутера в режиме точки доступа (access point) WiFi-сети==
 +
Достаточно включить режим access point в настройках через веб-интерфейс. Роутер перезагрузится, после чего будет работать как точка доступа.
 +
* Имя сети по умолчанию - OR_WRT,
 +
* Пароль по умолчанию - 12345678
 +
* IP адрес роутера(из через веб-интерфейс не меняется) 192.168.218.1
 +
* IP адрес клиента выдается автоматически по протоколу dhcp
 +
 
==Настройка веб-камеры==
 
==Настройка веб-камеры==
  
Строка 97: Строка 102:
 
* номер камеры(возможно подключение нескольких камер через USB-hub)
 
* номер камеры(возможно подключение нескольких камер через USB-hub)
 
* YUV или MJPEG режимы
 
* YUV или MJPEG режимы
 +
 +
Настройки применяются после перезагрузки роутера.
  
 
=Использование прошивки на ПК=
 
=Использование прошивки на ПК=
Строка 122: Строка 129:
 
* запись в порт доступна по протоколу http URL /cgi-bin/serial.cgi , метод POST, значение параметра SERIAL_DATA будет записано в порт. Для этого надо модифицировать скрипт  
 
* запись в порт доступна по протоколу http URL /cgi-bin/serial.cgi , метод POST, значение параметра SERIAL_DATA будет записано в порт. Для этого надо модифицировать скрипт  
 
/www/cgi-bin/serial.cgi
 
/www/cgi-bin/serial.cgi
 +
 +
===Pololu Orangutan SVP-1284===
 +
 +
На оборудовании tenik удалось связать роутер с систмой Pololu Orangutan:
 +
в файл /etc/rc.local для перезапуска драйвера были добавлены строки:
 +
 +
rmmod usbserial
 +
insmod usbserial vendor=0x1ffb product=0x0087
 +
 +
После перезагрузки 3 UART порта Pololu доступны на TCP портах 3001, 3002, 3003
  
 
===Скорости обмена портов===
 
===Скорости обмена портов===
Строка 128: Строка 145:
  
  
==Как настроить использование extroot.==
+
=Как настроить использование extroot.=
 
#Зайти в консоль роутера
 
#Зайти в консоль роутера
 
# вставить '''ПУСТУЮ''' флешку в USB порт роутера.  
 
# вставить '''ПУСТУЮ''' флешку в USB порт роутера.  
Строка 137: Строка 154:
 
После перезагрузки на флешке НЕ будет таблицы разделов, зато будет файловая система ext4 на 480Мб(не зависимо от размера флешки)
 
После перезагрузки на флешке НЕ будет таблицы разделов, зато будет файловая система ext4 на 480Мб(не зависимо от размера флешки)
  
==Как передавать звук с робороутера ==
+
=Как передавать звук с робороутера =
 
#Убедиться, что у вас подключены к роутеру:
 
#Убедиться, что у вас подключены к роутеру:
 
#*USB-хаб
 
#*USB-хаб
Строка 150: Строка 167:
 
#Самый простой стриминг звука:
 
#Самый простой стриминг звука:
 
#:<code>C:\Program Files (x86)\VideoLAN\VLC>''<nowiki>vlc.exe http://root:[Пароль роутера]@[IP роутера]/cgi-bin/sound-spy.cgi --repeat</nowiki>''</code>
 
#:<code>C:\Program Files (x86)\VideoLAN\VLC>''<nowiki>vlc.exe http://root:[Пароль роутера]@[IP роутера]/cgi-bin/sound-spy.cgi --repeat</nowiki>''</code>
 
  
 
=Внесение изменений в прошивку=
 
=Внесение изменений в прошивку=
Строка 223: Строка 239:
 
2. Выдать в консоли команду  
 
2. Выдать в консоли команду  
 
  sysupgrade -n /tmp/firmware.bin
 
  sysupgrade -n /tmp/firmware.bin
 
==Как запустить роутер в режиме точки доступа, а не клиента==
 
Это может понадобиться для связи, например, ноутбук-робот без домашнего роутера.
 
 
Примеры конфигурационных файлов для TP-LINK WR-703 здесь:
 
[http://sourceforge.net/projects/orwrt/files/0.60/TP-LINK_WR-703N/ap-mode.settings.tgz/download]
 
 
 
Приветствуется модификация этого раздела пользователями, успешно настроившими своих роботов.
 
  
 
=Ссылки=
 
=Ссылки=

Текущая версия на 15:50, 28 мая 2013

English version

Содержание

О проекте

Панель управления OR-WRT

Описание проекта

Этот проект создан в рамках более крупного проекта Open Robotics, направленного на создание доступных и повторяемых платформ для любительской (и не только) робототехники. Суть проекта - готовая прошивка для сетевого оборудования, позволяющая удобно и без множества ручных настроек и перепрограммирования использовать его в робототехнике в качестве WiFi адаптера для UART и USB-устройств (пока поддерживаются только UVC-вебкамеры и некоторые USB-UART адаптеры). Прошивку на основе типовой OpenWRT разработал elmot (elijah.mot [на] gmail.com).

Что нового по сравнению с 0.70

  • Изменилась процедура инсталляции и появился скрипт начальной настройки
  • Поддержка флеш-карт(extroot)
  • Поддержка звука(если включен extroot)
  • Запрещен режим 30 fps
  • Новая диагностика wifi соединения:
    • Поддержка для WR-703n
    • Лампочка помаргивает при недоступности сервера
  • поддержка нового загрузчика для WR-703N(TP-Link TL-WR703N (v1.7) uboot v1.1.4.)
  • свой репозиторий пакетов
  • теперь админские страницы показывают реальное состояние настроек
  • отключаемая поддержка режима access point.
  • для LAN работает dhcp
  • мелкие исправления

Ссылки на форумы этого проекта

Лицензия

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

Предупреждение

Вы используете материалы, представленные здесь, на свой страх и риск. Предупреждаем, что вскрывая роутер для присоединения консоли и заменяя его прошивку, вы можете лишиться как гарантии на устройство, так и повредить само устройство. Автор прошивки, равно как Open-robotics.ru и OpenWRT.org не несут никакой ответственности за прямые либо косвенные последствия использования материалов данного проекта.

Поддерживаемое оборудование

Роутеры

  • Беспроводные роутеры:
    • TP-LINK MR3020
    • TP-LINK WR703N
    • Другие роутеры на базе SoC Atheros AR9331
    • Возможна модификация прошивки для поддержки других роутеров с USB и совместимых с прошивкой [OpenWRT.org]

USB-вебкамеры

Все UVC-камеры (список тут — http://www.ideasonboard.org/uvc/).

Лучше, чтобы камера поддерживала режим MJPEG, но YUV камеры тоже можно использовать, при этом увеличится задержка видео.

USB-UART интерфейсы

  • Silicon Labs CP210x, включая OR-USB-UART-v1
  • Prolific PL-2303
  • FTDI
  • Pololu Orangutan SVP-1284
  • другие не проверялись, скорее всего будут поддержаны.

Установка и первичная настройка прошивки

OR-WRT_0.76_install

Настройка прошивки

  • ssh 192.168.217.1 по кабелю в LAN порт роутера или ssh <wifi ip>, если wifi поднялся. Login root, password как установлен на первичной настройке
    • замена пароля: после входа в консоль по ssh выдать команду passwd Внимание! Буквы пароля не отображаются, пароль вводить 2 раза!
  • Через браузер: http://192.168.217.1 по кабелю, либо http://<wifi IP> по wifi, если wifi поднялся. Login root, password как установлен на первичной настройке. На первой странице внизу ссылка на админку.

Подключение к домашней WiFi-сети

Предполагается, что роутер подключается к домашней сети wifi как клиент со статическим IP.

  • Выберите подходящий IP. Он должен быть:
    • в диапазоне IP сети,
    • не быть занятым,
    • быть вне диапазона адресов, раздаваемых DHCP сервером.
    • не входить в диапазон 192.168.217.X
  • Зайдите на web интерфейс прошивки, в админке есть соответствующая страница. Там вы можете поставить:
    • защита WPA-PSK/WPA2-PSK,NONE
    • имя сети SSID
    • пароль
    • static IP
    • netmask
    • default GW
    • dns

В качестве проверки работоспособности сети прошивка раз в 10 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается светодиод WPS на следующие 10 секунд. Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает).

Использование роутера в режиме точки доступа (access point) WiFi-сети

Достаточно включить режим access point в настройках через веб-интерфейс. Роутер перезагрузится, после чего будет работать как точка доступа.

  • Имя сети по умолчанию - OR_WRT,
  • Пароль по умолчанию - 12345678
  • IP адрес роутера(из через веб-интерфейс не меняется) 192.168.218.1
  • IP адрес клиента выдается автоматически по протоколу dhcp

Настройка веб-камеры

На странице настройки камеры вы можете выбрать:

  • разрешение
  • fps
  • номер камеры(возможно подключение нескольких камер через USB-hub)
  • YUV или MJPEG режимы

Настройки применяются после перезагрузки роутера.

Использование прошивки на ПК

Получение видеопотока или отдельных кадров

Обратите внимание! Браузер Internet Explorer не поддерживает MJPG видео и не покажет изображение с камеры. Используйте Crome, FireFox или Opera(Opera Turbo надо выключить)

Проброска UART-а

Использование проброшенного UART на ПК под Windows в качестве обычного COM-порта

Мы не рекомендуем использовать программу "HW Virtual Serial Port 2.5.10", но в принципе, она работает.

Встроенный UART

Доступен двумя способами

  • сервис ser2net транслирует обмен на TCP порт 2000
  • запись в порт доступна по протоколу http URL /cgi-bin/serial.cgi , метод POST, значение параметра SERIAL_DATA будет записано в порт

CP210x (OR-USB-UART), FTDI, PL2303

  • сервис ser2net транслирует обмен до пяти USB-UART на TCP порты 3000-3005
  • запись в порт доступна по протоколу http URL /cgi-bin/serial.cgi , метод POST, значение параметра SERIAL_DATA будет записано в порт. Для этого надо модифицировать скрипт

/www/cgi-bin/serial.cgi

Pololu Orangutan SVP-1284

На оборудовании tenik удалось связать роутер с систмой Pololu Orangutan: в файл /etc/rc.local для перезапуска драйвера были добавлены строки:

rmmod usbserial
insmod usbserial vendor=0x1ffb product=0x0087

После перезагрузки 3 UART порта Pololu доступны на TCP портах 3001, 3002, 3003

Скорости обмена портов

По умолчанию = 11500. Хранятся в двух файлах в прошивке - /etc/ser2net.conf, /etc/rc.local. Держите эти настройки равными!


Как настроить использование extroot.

  1. Зайти в консоль роутера
  2. вставить ПУСТУЮ флешку в USB порт роутера.
    ВНИМАНИЕ!!! Все данные на флешке будут невосполнимо уничтожены! Будьте внимательны!
  3. Исполнить скрипт в консоли роутера
    make_ext_root
  4. Дождаться перезагрузки роутера

После перезагрузки на флешке НЕ будет таблицы разделов, зато будет файловая система ext4 на 480Мб(не зависимо от размера флешки)

Как передавать звук с робороутера

  1. Убедиться, что у вас подключены к роутеру:
    • USB-хаб
    • Свободная флешка
    • Устройство захвата звука(веб-камера с USB микрофоном либо USB-Sound адаптер).
  2. Настроить использование extroot.
  3. Настроить доступ в интернет из робороутера. Обычно для этого достаточно правильно ввести параметры сети при начальной инициализации (см. выше)
  4. Исполнить скрипт в консоли роутера
    inst_sound
  5. Проверить захват звука. Например, при помощи VLC плеера это можно сделать командой из консоли windows:
    C:\Program Files (x86)\VideoLAN\VLC>vlc.exe http://root:[Пароль роутера]@[IP роутера]/cgi-bin/sound-spy.cgi
  6. Самый простой стриминг звука:
    C:\Program Files (x86)\VideoLAN\VLC>vlc.exe http://root:[Пароль роутера]@[IP роутера]/cgi-bin/sound-spy.cgi --repeat

Внесение изменений в прошивку

Для внесения серьезных изменений в прошивку штудируем документацию OpenWRT

Загрузка своих страниц для управления роботом

Текущие страницы доступны для сливания через админку робота. Для заливки новых страниц я использую команду:

pscp.exe -r -pw 123 -scp www/* root@192.168.217.1:/www

pscp входит в комплект программ Putty.

Не заливайте файлы из каталогов /cgi-bin/* На них скорее всего слетят unix-права и прошивка перестанет работать.

Нерешенные проблемы

  • Изредка по видео идут сильные помехи. Помогает перезагрузка роутера и использование другого номера канала wifi.
  • Задержка видео. При использовании 160*120 30 fps она минимальная, но есть.
  • Нет удобного способа менять пароль, только через SSH консоль (команда passwd).
  • Защита. Робота с такой прошивкой надо держать на защищенном протоколе. Сейчас видео идет по http порт 8080 вообще открыто, web-face и управление - либо http либо https, либо с паролем, либо без. Самый правильный способ - https+пароль. Но https в данной конфигурации жутко тормозит.
  • Скрипты Webface написаны на awk и ash, их неудобно поддерживать, Следует мигрировать на Lua

Другие предупреждения

  • Не выключайте HTTP и HTTPS одновременно. Иначе перенастройка роутера станет возможной только по SSH.
  • Не забывайте про защиту. Очень хочется показать эту вещь в интернете, но надо понимать, что за вами могут наблюдать через камеру, а ездящий робот может даже нанести материальный ущерб либо даже травму. Учтите, что в Интернете “кулхацкеров” гораздо больше, чем ваших друзей.

Загрузки

Что внутри?

  • Готовая к заливке прошивка в формате bin.
  • Дополнения и изменения к стандартному ImageBuilder’у от OpenWRT "Attitude_Adjustment" 12.09, с помощью которых она построена.
  • файл make.sh для построения и запаковки прошивки

Проблемы и решения

OR-WRT не подключается к домашнему WiFi роутеру

Проверьте, какой настроен канал WiFi на домашнем роутере - выставьте 08 (часто помогает, если стоял канал AUTO, возможно поможет, если стоял другой канал)

Мусор или артефакты на видео

Проблема известная, но до конца не изученная. Что следует проделать:

  • Тщательно проверить цепь питания и кабели. Мусор идет очень счасто из-за грязного питания или плохих USB кабелей.
  • Уменьшить разрешение видео и частоту кадров. В частности, YUV более 320*240*15 наверняка будет "полосить" и "квадратить"
  • Выбрать менее загруженный канал WiFi


Потерян пароль SSH или запорота конфигурация

  1. Настроить на компьютере IP-адрес 192.168.217.2
  2. Подсоединить роутер к компьютеру по порту LAN
  3. Заготовить разогнутую скрепку для нажимания на кнопку(к TP-LINK MR3020 не относится)
  4. Включить роутер
  5. Через несколько секунд на роутере замигает лампочка. В этот момент нажать кнопку. Лампочка должна замигать часто.
  6. Заходим на роутер telnet 192.168.217.1
  7. Смонтировать jffs2 /sbin/mount_root
  8. Поменять пароль root passwd
  9. Поменять другие настройки путем редактирования файлов /etc/config/*
  10. Перезагрузить роутер

Как залить другую прошивку вместо OR-WRT

Это можно сделать через консоль, в веб-интерфейсе не реализовано.

1. Залить файл прошивки(обычно .bin или .trx) в роутер, в каталог /tmp, при помощи scp или pscp Примерно так:

pscp.exe -pw 123 -scp c:\firmware.bin root@192.168.217.1:/tmp

2. Выдать в консоли команду

sysupgrade -n /tmp/firmware.bin

Ссылки