OR-WRT 0.70 — различия между версиями
Elmot (обсуждение | вклад) (Новая страница: «Category:Open Robotics =О проекте= thumb|200px|Панель управления OR-WRT|right ==Описание проек…») |
Elmot (обсуждение | вклад) |
||
Строка 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 | ||
− | |||
− | |||
</gallery> | </gallery> | ||
Строка 29: | Строка 38: | ||
** TP-LINK MR3020 | ** TP-LINK MR3020 | ||
** TP-LINK WR703N | ** TP-LINK WR703N | ||
− | + | ** Другие роутеры на базе SoC Atheros AR9331 | |
− | |||
− | ** Другие роутеры на базе SoC | ||
** Возможна модификация прошивки для поддержки других роутеров с 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. | + | * ssh 192.168.217.1 по кабелю в LAN порт роутера или ssh <wifi ip>, если wifi поднялся. Login root, password как установлен на первичной настройке |
− | * Через браузер: http://192.168.0.1 по кабелю либо http://<wifi IP> по wifi, если wifi поднялся. Login | + | * Через браузер: http://192.168.0.1 по кабелю либо http://<wifi IP> по wifi, если wifi поднялся. Login root, password как установлен на первичной настройке. На первой странице внизу ссылка на админку. |
==Подключение к домашней WiFi-сети== | ==Подключение к домашней WiFi-сети== | ||
Строка 62: | Строка 71: | ||
** не быть занятым, | ** не быть занятым, | ||
** быть вне диапазона адресов, раздаваемых DHCP сервером. | ** быть вне диапазона адресов, раздаваемых DHCP сервером. | ||
− | ** не входить в диапазон 192.168. | + | ** не входить в диапазон 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 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается светодиод WPS на следующие 10 секунд(только MR-3020). Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает). |
==Настройка веб-камеры== | ==Настройка веб-камеры== | ||
Строка 92: | Строка 101: | ||
==Проброска UART-а== | ==Проброска UART-а== | ||
− | |||
===Встроенный UART=== | ===Встроенный UART=== | ||
Строка 134: | Строка 142: | ||
Текущие страницы доступны для сливания через админку робота. Для заливки новых страниц я использую команду: | Текущие страницы доступны для сливания через админку робота. Для заливки новых страниц я использую команду: | ||
− | pscp.exe -r -pw 123 -scp www/* root@192.168. | + | 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. | + | # Настроить на компьютере IP-адрес 192.168.217.2 |
# Подсоединить роутер к компьютеру по порту LAN | # Подсоединить роутер к компьютеру по порту LAN | ||
# Заготовить разогнутую скрепку для нажимания на кнопку(к TP-LINK MR3020 не относится) | # Заготовить разогнутую скрепку для нажимания на кнопку(к TP-LINK MR3020 не относится) | ||
# Включить роутер | # Включить роутер | ||
# Через несколько секунд на роутере замигает лампочка. В этот момент нажать кнопку. Лампочка должна замигать часто. | # Через несколько секунд на роутере замигает лампочка. В этот момент нажать кнопку. Лампочка должна замигать часто. | ||
− | # Заходим на роутер <code>telnet 192.168. | + | # Заходим на роутер <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. | + | pscp.exe -pw 123 -scp c:\firmware.bin root@192.168.217.1:/tmp |
2. Выдать в консоли команду | 2. Выдать в консоли команду |
Версия 19:36, 14 сентября 2012
Содержание
О проекте
Описание проекта
Этот проект создан в рамках более крупного проекта 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
- другие не проверялись, скорее всего будут поддержаны.
Установка прошивки
Настройка прошивки
- первичная: 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 надо выключить)
- видеопоток в формате mjpg "http://wifi-ip:8080/?action=stream"
- кадр в формате jpg "http://wifi-ip:8080/?action=snapshot"
Проброска 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 или запорота конфигурация
- Настроить на компьютере IP-адрес 192.168.217.2
- Подсоединить роутер к компьютеру по порту LAN
- Заготовить разогнутую скрепку для нажимания на кнопку(к TP-LINK MR3020 не относится)
- Включить роутер
- Через несколько секунд на роутере замигает лампочка. В этот момент нажать кнопку. Лампочка должна замигать часто.
- Заходим на роутер
telnet 192.168.217.1
- Смонтировать jffs2
/sbin/mount_root
- Поменять пароль root
passwd
- Поменять другие настройки путем редактирования файлов /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
Как запустить роутер в режиме точки доступа, а не клиента
Это может понадобиться для связи, например, ноутбук-робот без домашнего роутера.
В текущей версии openWRT можно сделать через редактирование конфигурационных файлов в консоли, в веб-интерфейсе не реализовано.
Рекомендуется освоить редактор vi
Необходимо сконфигурировать wifi в режим station, а также запустить DHCP сервер.
Примеры конфигурационных файлов для TP-LINK WR-703 здесь: [1]
Не забудьте перезагрузить роутер после настройки.
Приветствуется модификация этого раздела пользователями, успешно настроившими своих роботов.