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

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Настройка прошивки)
(USB-вебкамеры)
Строка 45: Строка 45:
 
==USB-вебкамеры==
 
==USB-вебкамеры==
 
Все UVC-камеры (список тут — [http://www.ideasonboard.org/uvc/ http://www.ideasonboard.org/uvc/]).
 
Все UVC-камеры (список тут — [http://www.ideasonboard.org/uvc/ http://www.ideasonboard.org/uvc/]).
 
<b>C камерами Logitech С-270 обнаружены проблемы с помехами видео</b>
 
  
 
Лучше, чтобы камера поддерживала режим MJPEG, но YUV камеры тоже можно использовать, при этом увеличится задержка видео.
 
Лучше, чтобы камера поддерживала режим MJPEG, но YUV камеры тоже можно использовать, при этом увеличится задержка видео.

Версия 04:21, 25 сентября 2012

English version

Содержание

О проекте

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

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

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

Новое в версии 0.70 по сравнению с 0.60

  • DIR-320 больше не поддерживается
  • добавлена программа stty, подправлены ошибки в скриптах
  • IP адрес по LAN теперь 192.168.217.1
  • поддежка usb-uart Prolific PL2303
  • последние сборки всех пакетов
  • защита http интегрирована с защитой ssh
  • опубликован репозиторий пакетов, совместимых с прошивкой
  • поддержка лампочки для проверки коннекции(только MR-3020)
  • убраны ненужные пакетов стало побольше свободного места

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

Лицензия

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

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

Вы используете материалы, представленные здесь, на свой страх и риск. Предупреждаем, что вскрывая роутер для присоединения консоли и заменяя его прошивку, вы можете лишиться как гарантии на устройство, так и повредить само устройство. Автор прошивки, равно как 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_install

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

  • первичная: telnet 192.168.217.1 потом команда passwd, ввести желаемый пароль и перезагрузить роутер
  • ssh 192.168.217.1 по кабелю в LAN порт роутера или ssh <wifi ip>, если wifi поднялся. Login root, password как установлен на первичной настройке
  • Через браузер: 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 секунд(только MR-3020). Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает).

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

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

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

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

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

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

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

Встроенный UART

Текст устарел

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

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

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

в файл /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

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

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

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

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

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

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

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

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

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

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

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

Загрузки

Что внутри?

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

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

Изменяю настройки, а они не сохраняются

Если речь идёт о том, какие настройки показываются на странице настроек - то там пока всегда показываются настройки по умолчанию, даже если вы их меняли. Не обращайте внимания. Мы знаем об этой недоработке и постараемся её исправить ближайшее время.

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

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

Потерян пароль 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

Как запустить роутер в режиме точки доступа, а не клиента

Это может понадобиться для связи, например, ноутбук-робот без домашнего роутера.

В текущей версии openWRT можно сделать через редактирование конфигурационных файлов в консоли, в веб-интерфейсе не реализовано.

Рекомендуется освоить редактор vi

Необходимо сконфигурировать wifi в режим station, а также запустить DHCP сервер.

Примеры конфигурационных файлов для TP-LINK WR-703 здесь: [1]

Не забудьте перезагрузить роутер после настройки.

Приветствуется модификация этого раздела пользователями, успешно настроившими своих роботов.

Ссылки