|
|
(не показаны 34 промежуточные версии 2 участников) |
Строка 1: |
Строка 1: |
− | ==О проекте==
| + | #REDIRECT [[OR-WRT_0.76]] |
− | ===Описание проекта===
| + | [[Category:ORWRT]] |
− | Этот проект создан в рамках более крупного проекта Open Robotics, направленного на создание доступных и повторяемых платформ для любительской (и не только) робототехники. Суть проекта - готовая прошивка для сетевого оборудования, позволяющая удобно и без множества ручных настроек и перепрограммирования использовать его в робототехнике в качестве WiFi адаптера для UART и USB-устройств (пока поддерживаются только UVC-вебкамеры и некоторые USB-UART адаптеры). Прошивку на основе типовой OpenWRT разработал elmot (elijah.mot [на] gmail.com).
| + | [[Category:Open Robotics]] |
− | | |
− | ===Ссылки на форумы этого проекта===
| |
− | * [http://roboforum.ru/forum69/topic10929.html Вопросы разработки и развития OR-WRT]
| |
− | * [http://roboforum.ru/forum69/topic10928.html Вопросы поддержки пользователей OR-WRT]
| |
− | | |
− | ===Лицензия===
| |
− | Вы можете использовать проект для некоммерческих целей. По вопросу коммерческого использования обращайтесь к автору.
| |
− | | |
− | ===Предупреждение===
| |
− | Вы используете материалы, представленные здесь, на свой страх и риск. Предупреждаем, что вскрывая роутер для присоединения консоли и заменяя его прошивку, вы можете лишиться как гарантии на устройство, так и повредить само устройство. Автор прошивки, равно как Open-robotics.ru и OpenWRT.org не несут никакой ответственности за прямые либо косвенные последствия использования материалов данного проекта.
| |
− | | |
− | ==Поддерживаемое оборудование==
| |
− | DIR-320.
| |
− | Роутеры
| |
− | | |
− | * Беспроводные роутеры:
| |
− | o D-Link DIR-320 (обычный, не NRU!),
| |
− | o ASUS wl500gP(проверено ddcharacter)
| |
− | o Другие роутеры на базе SoC Broadcom BCM47xx/53xx (не проверялось)
| |
− | o Возможна модификация прошивки для поддержки других роутеров с USB и совместимых с прошивкой [OpenWRT.org]
| |
− | | |
− | USB-вебкамеры
| |
− | | |
− | Все UVC-камеры (список тут — [http://www.ideasonboard.org/uvc/]).
| |
− | | |
− | Лучше, чтобы камера поддерживала режим MJPEG, но YUV камеры тоже можно использовать, при этом увеличится задержка видео.
| |
− | USB-UART интерфейсы
| |
− | | |
− | * Silicon Labs CP210x, включая OR-USB-UART-v1
| |
− | * Pololu Orangutan SVP-1284
| |
− | * другие не проверялись, скорее всего будут поддержаны.
| |
− | | |
− | ==Установка прошивки==
| |
− | D-Link DIR-320
| |
− | | |
− | 1. установить tftp клиента (есть в поставке win 7, но не установлен по умолчанию).
| |
− | 2. Настроить на компьютере IP-адрес 192.168.0.2
| |
− | 3. подключить компьютер к любому порту LAN на роутере.
| |
− | 4. приготовить (можно в .bat-файле) команду tftp 192.168.0.1 PUT <имя trx файла>
| |
− | 5. включить роутер
| |
− | 6. подождать ровно 2 секунды и запустить приготовленную команду. Лампа LAN должна часто-часто моргать несколько секунд, после чего команда должна успешно завершиться и показать что-то вроде (цифры могут отличаться):
| |
− | * Start Flashing ****
| |
− | * Успешная передача: 3592480 байт за 11 сs, 281134 байт/с
| |
− | 7. Ждать около 5 минут. Когда прошивка загрузится и не сможет подключиться к wifi (так как вряд ли Ваша сеть называется “OpenWrt” и имеет пароль “1”), должен загореться синий светодиод сбоку на роутере и помаргивать каждые 10 секунд.
| |
− | | |
− | ==Настройка прошивки==
| |
− | | |
− | * ssh 192.168.0.1 по кабелю в любой порт роутера или ssh <wifi ip>, если wifi поднялся. Login root, password 123
| |
− | * Через браузер: http://192.168.0.1 по кабелю либо http://<wifi IP> по wifi, если wifi поднялся. Login admin, password oradmin. На первой странице внизу ссылка на админку.
| |
− | | |
− | ===Подключение к домашней WiFi-сети===
| |
− | | |
− | Предполагается, что роутер подключается к домашней сети wifi как клиент со статическим IP.
| |
− | | |
− | * Выберите подходящий IP. Он должен быть:
| |
− | o в диапазоне IP сети,
| |
− | o не быть занятым,
| |
− | o быть вне диапазона адресов, раздаваемых DHCP сервером.
| |
− | o не входить в диапазон 192.168.0.X
| |
− | * Зайдите на web интерфейс прошивки, в админке есть соответствующая страница. Там вы можете поставить:
| |
− | o защита WPA-PSK/WPA2-PSK,NONE
| |
− | o имя сети SSID
| |
− | o пароль
| |
− | o static IP
| |
− | o netmask
| |
− | o default GW
| |
− | o dns
| |
− | | |
− | В качестве проверки работоспособности сети прошивка раз в 10 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается голубой светодиод на следующие 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 в DIR-320.
| |
− | ====Встроенный 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
| |
− | | |
− | ==Внесение изменений в прошивку==
| |
− | | |
− | Для внесения серьезных изменений в прошивку штудируем документацию [http://wiki.openwrt.org/doc/start OpenWRT]
| |
− | | |
− | ===Загрузка своих страниц для управления роботом===
| |
− | | |
− | Текущие страницы доступны для сливания через админку робота. Для заливки новых страниц я использую команду:
| |
− | | |
− | pscp.exe -r -pw 123 -scp www/* root@192.168.0.1:/www
| |
− | | |
− | pscp входит в комплект программ Putty.
| |
− | | |
− | '''Не заливайте файлы из каталогов /cgi-bin/* На них скорее всего слетят unix-права и прошивка перестанет работать.'''
| |
− | | |
− | ==Нерешенные проблемы==
| |
− | | |
− | * Задержка видео. При использовании 160*120 30 fps она минимальная, но есть.
| |
− | * Нет удобного способа менять пароль, только через SSH консоль (команда passwd).
| |
− | * Защита. Робота с такой прошивкой надо держать на защищенном протоколе. Сейчас видео идет по http порт 8080 вообще открыто, web-face и управление - либо http либо https, либо с паролем, либо без. Самый правильный способ - https+пароль. Но https в данной конфигурации жутко тормозит.
| |
− | * Скрипты Webface написаны на awk и ash, их неудобно поддерживать, Следует мигрировать на Lua
| |
− | * Webface содержит явную недоделку - когда заходишь на страничку настройки, то она показывает не текущие значения из конфигов роутера, а ее собственные дефолты
| |
− | | |
− | ==Другие предупреждения==
| |
− | | |
− | * Не выключайте HTTP и HTTPS одновременно. Иначе перенастройка роутера станет возможной только по SSH.
| |
− | * Не забывайте про защиту. Очень хочется показать эту вещь в интернете, но надо понимать, что за вами могут наблюдать через камеру, а ездящий робот может даже нанести материальный ущерб либо даже травму. Учтите, что в Интернете “кулхацкеров” гораздо больше, чем ваших друзей.
| |
− | | |
− | ==Загрузки==
| |
− | | |
− | * [http://sourceforge.net/projects/orwrt/files/ Загрузка с SourceForge]
| |
− | | |
− | Что внутри?
| |
− | | |
− | * Готовая к заливке прошивка в формате trx.
| |
− | * Ядро и дополнения к стандартному ImageBuilder’у от OpenWRT backfire 10.03.01, с помощью которых она построена.
| |
− | * файл make.sh для построения и запаковки прошивки
| |
− | | |
− | ==Ссылки==
| |
− | * [http://sourceforge.net/p/orwrt/tickets/ Поддержка]
| |
− | * [http://openwrt.org/ OpenWRT]
| |
− | * [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] - универсальный SSH клиент для Windows
| |