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

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Что нового по сравнению с 0.70)
Строка 1: Строка 1:
 +
[[OR-WRT_0.70-Eng|English version]]
 
[[Category:Open Robotics]]
 
[[Category:Open Robotics]]
 
[[Category:ORWRT]]
 
[[Category:ORWRT]]
==Загрузки==
+
=О проекте=
[[https://sourceforge.net/projects/orwrt/files/0.76/  sourceforge.net]]
+
[[File:OR-WRT-webface.jpg|thumb|200px|Панель управления OR-WRT|right]]
 +
 
 +
==Описание проекта==
 +
Этот проект создан в рамках более крупного проекта Open Robotics, направленного на создание доступных и повторяемых платформ для любительской (и не только) робототехники. Суть проекта - готовая прошивка для сетевого оборудования, позволяющая удобно и без множества ручных настроек и перепрограммирования использовать его в робототехнике в качестве WiFi адаптера для UART и USB-устройств (пока поддерживаются только UVC-вебкамеры и некоторые USB-UART адаптеры). Прошивку на основе типовой OpenWRT разработал elmot (elijah.mot [на] gmail.com).
  
 
==Что нового по сравнению с <u>[[OR-WRT_0.70|0.70]]</u>==
 
==Что нового по сравнению с <u>[[OR-WRT_0.70|0.70]]</u>==
Строка 22: Строка 26:
 
* для LAN работает dhcp
 
* для LAN работает dhcp
 
* мелкие исправления
 
* мелкие исправления
 +
 +
==Ссылки на форумы этого проекта==
 +
* [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
 +
</gallery>
 +
 +
* Беспроводные роутеры:
 +
** TP-LINK MR3020
 +
** TP-LINK WR703N
 +
** Другие роутеры на базе SoC Atheros AR9331
 +
** Возможна модификация прошивки для поддержки других роутеров с USB и совместимых с прошивкой [OpenWRT.org]
 +
 +
==USB-вебкамеры==
 +
Все UVC-камеры (список тут — [http://www.ideasonboard.org/uvc/ http://www.ideasonboard.org/uvc/]).
 +
 +
Лучше, чтобы камера поддерживала режим MJPEG, но YUV камеры тоже можно использовать, при этом увеличится задержка видео.
 +
 +
==USB-UART интерфейсы==
 +
* 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
 +
* другие не проверялись, скорее всего будут поддержаны.
 +
 +
=Установка и первичная настройка прошивки=
 +
[[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 в случае выпадения пакета (такое бывает).
 +
==Настройка веб-камеры==
 +
 +
На странице настройки камеры вы можете выбрать:
 +
 +
* разрешение
 +
* 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-а==
 +
 +
===Использование проброшенного UART на ПК под Windows в качестве обычного COM-порта===
 +
Мы не рекомендуем использовать программу "HW Virtual Serial Port 2.5.10", но в принципе, она работает.
 +
 +
===Встроенный UART===
 +
<b>Текст устарел</b>
 +
 +
Доступен двумя способами
 +
 +
* сервис ser2net транслирует обмен на TCP порт 2000
 +
* запись в порт доступна по протоколу http URL /cgi-bin/serial.cgi , метод POST, значение параметра SERIAL_DATA будет записано в порт
  
 
==Как передавать звук с робороутера ==
 
==Как передавать звук с робороутера ==
Строка 29: Строка 125:
 
#* Устройство захвата звука(веб-камера с USB микрофоном либо USB-Sound адаптер).
 
#* Устройство захвата звука(веб-камера с USB микрофоном либо USB-Sound адаптер).
 
# Настроить использование extroot.  
 
# Настроить использование extroot.  
#*Это можно сделать на этапе первоначальной загрузки(см выше)
 
 
#*Также это можно сделать позже:
 
#*Также это можно сделать позже:
 
#*#Зайти в консоль роутера
 
#*#Зайти в консоль роутера
Строка 37: Строка 132:
 
#*#:<code>make_ext_root</code>
 
#*#:<code>make_ext_root</code>
 
#*#Дождаться перезагрузки роутера
 
#*#Дождаться перезагрузки роутера
#Настроить доступ в инетернет из робороутера. Обычно для этого достаточно правильно ввести параметры сети при начальной инициализации (см. выше)
+
#Настроить доступ в интернет из робороутера. Обычно для этого достаточно правильно ввести параметры сети при начальной инициализации (см. выше)
 
#Исполнить скрипт в консоли роутера
 
#Исполнить скрипт в консоли роутера
 
#:<code> inst_sound</code>
 
#:<code> inst_sound</code>
Строка 45: Строка 140:
 
#:<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>
  
==Поддержка звука==
+
 
из консоли:
+
=Внесение изменений в прошивку=
  opkg update
+
 
  opkg install kmod-usb-audio kmod-sound-core alsa-utils pulseaudio
+
Для внесения серьезных изменений в прошивку штудируем документацию [http://wiki.openwrt.org/doc/start 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.
 +
* Не забывайте про защиту. Очень хочется показать эту вещь в интернете, но надо понимать, что за вами могут наблюдать через камеру, а ездящий робот может даже нанести материальный ущерб либо даже травму. Учтите, что в Интернете “кулхацкеров” гораздо больше, чем ваших друзей.
 +
 
 +
=Загрузки=
 +
 
 +
* [https://sourceforge.net/projects/orwrt/files/0.76/ Загрузка с SourceForge]
 +
 
 +
Что внутри?
 +
 
 +
* Готовая к заливке прошивка в формате bin.
 +
* Дополнения и изменения к стандартному ImageBuilder’у от OpenWRT "Attitude_Adjustment" 12.09, с помощью которых она построена.
 +
* файл make.sh для построения и запаковки прошивки
 +
 
 +
=Проблемы и решения=
 +
 
 +
==OR-WRT не подключается к домашнему WiFi роутеру==
 +
Проверьте, какой настроен канал WiFi на домашнем роутере - выставьте 08
 +
(часто помогает, если стоял канал AUTO, возможно поможет, если стоял другой канал)
 +
 
 +
==Мусор или артефакты на видео==
 +
Проблема известная, но до конца не изученная. Что следует проделать:
 +
* Тщательно проверить цепь питания и кабели. Мусор идет очень счасто из-за грязного питания или плохих USB кабелей.
 +
* Уменьшить разрешение видео и частоту кадров. В частности, YUV более 320*240*15 наверняка будет "полосить" и "квадратить"
 +
* Выбрать менее загруженный канал WiFi
 +
 
 +
 
 +
 
 +
==Потерян пароль SSH или запорота конфигурация==
 +
# Настроить на компьютере IP-адрес 192.168.217.2
 +
# Подсоединить роутер к компьютеру по порту LAN
 +
# Заготовить разогнутую скрепку для нажимания на кнопку(к TP-LINK MR3020 не относится)
 +
# Включить роутер
 +
# Через несколько секунд на роутере замигает лампочка. В этот момент нажать кнопку. Лампочка должна замигать часто.
 +
# Заходим на роутер <code>telnet 192.168.217.1</code>
 +
# Смонтировать jffs2 <code>/sbin/mount_root</code>
 +
# Поменять пароль root <code>passwd</code>
 +
# Поменять другие настройки путем редактирования файлов /etc/config/*
 +
# Перезагрузить роутер
 +
==Как залить другую прошивку вместо 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
 +
 
 +
==Как запустить роутер в режиме точки доступа, а не клиента==
 +
Это может понадобиться для связи, например, ноутбук-робот без домашнего роутера.
 +
 
 +
Примеры конфигурационных файлов для TP-LINK WR-703 здесь:  
 +
[http://sourceforge.net/projects/orwrt/files/0.60/TP-LINK_WR-703N/ap-mode.settings.tgz/download]
 +
 
 +
 
 +
Приветствуется модификация этого раздела пользователями, успешно настроившими своих роботов.
 +
 
 +
=Ссылки=
 +
* [http://sourceforge.net/p/orwrt/tickets/ Поддержка]
 +
* [http://openwrt.org/ OpenWRT]
 +
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] - универсальный SSH клиент для Windows
 +
* [http://robocraft.ru/blog/electronics/1053.html Статья - исследование на робокрафт]

Версия 13:01, 26 апреля 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.
    • Сеть - OR_WRT,
    • пароль по умолчанию 12345678(меняется с помощью web-интерфейса).
    • IP 192.168.218.1, работает dhcp
  • можно включать-выключать wifi access point и wifi client прямо через веб
  • для 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 в случае выпадения пакета (такое бывает).

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

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

  • разрешение
  • 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 будет записано в порт

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

  1. Убедиться, что у вас подключены к роутеру:
    • USB-хаб
    • Свободная флешка
    • Устройство захвата звука(веб-камера с USB микрофоном либо USB-Sound адаптер).
  2. Настроить использование extroot.
    • Также это можно сделать позже:
      1. Зайти в консоль роутера
      2. вставить ПУСТУЮ флешку в USB порт роутера.
        ВНИМАНИЕ!!! Все данные на флешке будут невосполнимо уничтожены! Будьте внимательны!
      3. Исполнить скрипт в консоли роутера
        make_ext_root
      4. Дождаться перезагрузки роутера
  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

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

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

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


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

Ссылки