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

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Новая страница: «Category:Open Robotics =О проекте= thumb|200px|Панель управления OR-WRT|right ==Описание проек…»)
 
Строка 6: Строка 6:
 
==Описание проекта==
 
==Описание проекта==
 
Этот проект создан в рамках более крупного проекта Open Robotics, направленного на создание доступных и повторяемых платформ для любительской (и не только) робототехники. Суть проекта - готовая прошивка для сетевого оборудования, позволяющая удобно и без множества ручных настроек и перепрограммирования использовать его в робототехнике в качестве WiFi адаптера для UART и USB-устройств (пока поддерживаются только UVC-вебкамеры и некоторые USB-UART адаптеры). Прошивку на основе типовой OpenWRT разработал elmot (elijah.mot [на] gmail.com).
 
Этот проект создан в рамках более крупного проекта 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
 +
* последние сборки всего
 +
* защита http интегрирована с защитой ssh
 +
* опубликован репозиторий пакетов, совместимых с прошивкой
 +
* поддержка лампочки для проверки коннекции(только MR-3020)
 +
* убраны ненужные пакетов стало побольше свободного места
  
 
==Ссылки на форумы этого проекта==
 
==Ссылки на форумы этого проекта==
Строка 22: Строка 33:
 
file:TL-MR3020-02.jpg|TP-Link MR3020
 
file:TL-MR3020-02.jpg|TP-Link MR3020
 
file:WR703n-photo.jpg|TP-Link WR703N
 
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>
 
</gallery>
  
Строка 29: Строка 38:
 
** TP-LINK MR3020
 
** TP-LINK MR3020
 
** TP-LINK WR703N
 
** TP-LINK WR703N
** D-Link DIR-320 (обычный, не NRU!),
+
** Другие роутеры на базе SoC Atheros AR9331
** ASUS wl500gP(проверено ddcharacter)
 
** Другие роутеры на базе SoC Broadcom BCM47xx/53xx (не проверялось) или Atheros AR9331
 
 
** Возможна модификация прошивки для поддержки других роутеров с USB и совместимых с прошивкой [OpenWRT.org]
 
** Возможна модификация прошивки для поддержки других роутеров с USB и совместимых с прошивкой [OpenWRT.org]
  
Строка 43: Строка 50:
 
==USB-UART интерфейсы==
 
==USB-UART интерфейсы==
 
* Silicon Labs CP210x, включая [http://shop.roboforum.ru/product/or-usb-uart-v1-usb-uart-adapter/ OR-USB-UART-v1]
 
* Silicon Labs CP210x, включая [http://shop.roboforum.ru/product/or-usb-uart-v1-usb-uart-adapter/ OR-USB-UART-v1]
 +
* Prolific PL-2303
 +
* FTDI
 
* Pololu Orangutan SVP-1284
 
* Pololu Orangutan SVP-1284
 
* другие не проверялись, скорее всего будут поддержаны.
 
* другие не проверялись, скорее всего будут поддержаны.
Строка 50: Строка 59:
  
 
=Настройка прошивки=
 
=Настройка прошивки=
 
+
* первичная: telnet 192.168.217.1 потом команда passwd, ввести желаемый пароль и перезагрузить роутер
* ssh 192.168.0.1 по кабелю в любой порт роутера или ssh <wifi ip>, если wifi поднялся. Login root, password 123
+
* ssh 192.168.217.1 по кабелю в LAN порт роутера или ssh <wifi ip>, если wifi поднялся. Login root, password как установлен на первичной настройке
* Через браузер: http://192.168.0.1 по кабелю либо http://<wifi IP> по wifi, если wifi поднялся. Login admin, password oradmin. На первой странице внизу ссылка на админку.  
+
* Через браузер: http://192.168.0.1 по кабелю либо http://<wifi IP> по wifi, если wifi поднялся. Login root, password как установлен на первичной настройке. На первой странице внизу ссылка на админку.  
  
 
==Подключение к домашней WiFi-сети==
 
==Подключение к домашней WiFi-сети==
Строка 62: Строка 71:
 
** не быть занятым,
 
** не быть занятым,
 
** быть вне диапазона адресов, раздаваемых DHCP сервером.
 
** быть вне диапазона адресов, раздаваемых DHCP сервером.
** не входить в диапазон 192.168.0.X  
+
** не входить в диапазон 192.168.217.X  
 
* Зайдите на web интерфейс прошивки, в админке есть соответствующая страница. Там вы можете поставить:
 
* Зайдите на web интерфейс прошивки, в админке есть соответствующая страница. Там вы можете поставить:
 
** защита WPA-PSK/WPA2-PSK,NONE
 
** защита WPA-PSK/WPA2-PSK,NONE
Строка 72: Строка 81:
 
** dns  
 
** dns  
  
В качестве проверки работоспособности сети прошивка раз в 10 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается голубой светодиод на следующие 10 секунд. Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает).
+
В качестве проверки работоспособности сети прошивка раз в 10 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается светодиод WPS на следующие 10 секунд(только MR-3020). Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает).
  
 
==Настройка веб-камеры==
 
==Настройка веб-камеры==
Строка 92: Строка 101:
  
 
==Проброска UART-а==
 
==Проброска UART-а==
[[File:Dir-320-UART-pinout.jpg|thumb|200px|Распиновка UART в DIR-320.|right]]
 
  
 
===Встроенный UART===
 
===Встроенный UART===
Строка 134: Строка 142:
 
Текущие страницы доступны для сливания через админку робота. Для заливки новых страниц я использую команду:
 
Текущие страницы доступны для сливания через админку робота. Для заливки новых страниц я использую команду:
  
  pscp.exe -r -pw 123 -scp www/* root@192.168.0.1:/www
+
  pscp.exe -r -pw 123 -scp www/* root@192.168.217.1:/www
  
 
pscp входит в комплект программ Putty.
 
pscp входит в комплект программ Putty.
Строка 142: Строка 150:
 
=Нерешенные проблемы=
 
=Нерешенные проблемы=
  
 +
* Иногда по видео идут сильные помехи. Помогает режим YUV и перезагрузка роутера.
 
* Задержка видео. При использовании 160*120 30 fps она минимальная, но есть.
 
* Задержка видео. При использовании 160*120 30 fps она минимальная, но есть.
 
* Нет удобного способа менять пароль, только через SSH консоль (команда passwd).
 
* Нет удобного способа менять пароль, только через SSH консоль (команда passwd).
Строка 171: Строка 180:
  
 
==Потерян пароль SSH или запорота конфигурация==
 
==Потерян пароль SSH или запорота конфигурация==
# Настроить на компьютере IP-адрес 192.168.1.2
+
# Настроить на компьютере IP-адрес 192.168.217.2
 
# Подсоединить роутер к компьютеру по порту LAN
 
# Подсоединить роутер к компьютеру по порту LAN
 
# Заготовить разогнутую скрепку для нажимания на кнопку(к TP-LINK MR3020 не относится)
 
# Заготовить разогнутую скрепку для нажимания на кнопку(к TP-LINK MR3020 не относится)
 
# Включить роутер
 
# Включить роутер
 
# Через несколько секунд на роутере замигает лампочка. В этот момент нажать кнопку. Лампочка должна замигать часто.
 
# Через несколько секунд на роутере замигает лампочка. В этот момент нажать кнопку. Лампочка должна замигать часто.
# Заходим на роутер <code>telnet 192.168.0.1</code>
+
# Заходим на роутер <code>telnet 192.168.217.1</code>
 
# Смонтировать jffs2 <code>/sbin/mount_root</code>
 
# Смонтировать jffs2 <code>/sbin/mount_root</code>
 
# Поменять пароль root <code>passwd</code>
 
# Поменять пароль root <code>passwd</code>
Строка 186: Строка 195:
 
1. Залить файл прошивки(обычно .bin или .trx) в роутер, в каталог /tmp, при помощи scp или pscp
 
1. Залить файл прошивки(обычно .bin или .trx) в роутер, в каталог /tmp, при помощи scp или pscp
 
Примерно так:  
 
Примерно так:  
  pscp.exe -pw 123 -scp c:\firmware.bin root@192.168.0.1:/tmp
+
  pscp.exe -pw 123 -scp c:\firmware.bin root@192.168.217.1:/tmp
  
 
2. Выдать в консоли команду  
 
2. Выдать в консоли команду  

Версия 19:36, 14 сентября 2012


Содержание

О проекте

Панель управления 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
  • последние сборки всего
  • защита 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/).

C камерами Logitech С-270 обнаружены проблемы с помехами видео

Лучше, чтобы камера поддерживала режим 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.0.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)

в файл /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.
  • Не забывайте про защиту. Очень хочется показать эту вещь в интернете, но надо понимать, что за вами могут наблюдать через камеру, а ездящий робот может даже нанести материальный ущерб либо даже травму. Учтите, что в Интернете “кулхацкеров” гораздо больше, чем ваших друзей.

Загрузки

Что внутри?

  • Готовая к заливке прошивка в формате trx.
  • Ядро и дополнения к стандартному 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]

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

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

Ссылки