OR-WRT 0.76 — различия между версиями
Elmot (обсуждение | вклад) (Новая страница: «Category:Open Robotics Category:ORWRT ==Загрузки== https://sourceforge.net/projects/orwrt/files/0.76/ sourceforge.net ==Что нового п…») |
Мур (обсуждение | вклад) м (→Настройка веб-камеры) |
||
(не показано 13 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
+ | [[OR-WRT_0.76-Eng|English version]] | ||
[[Category:Open Robotics]] | [[Category:Open Robotics]] | ||
[[Category:ORWRT]] | [[Category:ORWRT]] | ||
− | = | + | |
− | [[ | + | =О проекте= |
+ | [[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>== | ||
− | * Изменилась <u>[[OR-WRT_0. | + | * Изменилась <u>[[OR-WRT_0.76_install|процедура инсталляции и появился скрипт начальной настройки]]</u> |
* Поддержка флеш-карт(extroot) | * Поддержка флеш-карт(extroot) | ||
* Поддержка звука(если включен extroot) | * Поддержка звука(если включен extroot) | ||
Строка 12: | Строка 17: | ||
** Поддержка для WR-703n | ** Поддержка для WR-703n | ||
** Лампочка помаргивает при недоступности сервера | ** Лампочка помаргивает при недоступности сервера | ||
+ | * поддержка нового загрузчика для WR-703N(TP-Link TL-WR703N (v1.7) uboot v1.1.4.) | ||
+ | * свой репозиторий пакетов | ||
+ | * теперь админские страницы показывают реальное состояние настроек | ||
+ | * отключаемая поддержка режима access point. | ||
+ | * для 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 в случае выпадения пакета (такое бывает). |
+ | |||
+ | ==Использование роутера в режиме точки доступа (access point) WiFi-сети== | ||
+ | Достаточно включить режим access point в настройках через веб-интерфейс. Роутер перезагрузится, после чего будет работать как точка доступа. | ||
+ | * Имя сети по умолчанию - OR_WRT, | ||
+ | * Пароль по умолчанию - 12345678 | ||
+ | * IP адрес роутера(из через веб-интерфейс не меняется) 192.168.218.1 | ||
+ | * IP адрес клиента выдается автоматически по протоколу dhcp | ||
+ | |||
+ | ==Настройка веб-камеры== | ||
+ | |||
+ | На странице настройки камеры вы можете выбрать: | ||
+ | |||
+ | * разрешение | ||
+ | * 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=== | ||
+ | |||
+ | Доступен двумя способами | ||
+ | |||
+ | * сервис ser2net транслирует обмен на TCP порт 2000 | ||
+ | * запись в порт доступна по протоколу http URL /cgi-bin/serial.cgi , метод POST, значение параметра SERIAL_DATA будет записано в порт | ||
+ | |||
+ | ===CP210x (OR-USB-UART), FTDI, PL2303=== | ||
+ | * сервис ser2net транслирует обмен до пяти USB-UART на TCP порты 3000-3005 | ||
+ | * запись в порт доступна по протоколу http URL /cgi-bin/serial.cgi , метод POST, значение параметра SERIAL_DATA будет записано в порт. Для этого надо модифицировать скрипт | ||
+ | /www/cgi-bin/serial.cgi | ||
+ | |||
+ | ===Pololu Orangutan SVP-1284=== | ||
+ | |||
+ | На оборудовании tenik удалось связать роутер с систмой Pololu Orangutan: | ||
+ | в файл /etc/rc.local для перезапуска драйвера были добавлены строки: | ||
+ | |||
+ | rmmod usbserial | ||
+ | insmod usbserial vendor=0x1ffb product=0x0087 | ||
+ | |||
+ | После перезагрузки 3 UART порта Pololu доступны на TCP портах 3001, 3002, 3003 | ||
+ | |||
+ | ===Скорости обмена портов=== | ||
+ | По умолчанию = 11500. | ||
+ | Хранятся в двух файлах в прошивке - /etc/ser2net.conf, /etc/rc.local. Держите эти настройки равными! | ||
+ | |||
+ | |||
+ | =Как настроить использование extroot.= | ||
+ | #Зайти в консоль роутера | ||
+ | # вставить '''ПУСТУЮ''' флешку в USB порт роутера. | ||
+ | #:'''''ВНИМАНИЕ!!! Все данные на флешке будут невосполнимо уничтожены! Будьте внимательны! ''''' | ||
+ | #Исполнить скрипт в консоли роутера | ||
+ | #:<code>make_ext_root</code> | ||
+ | #Дождаться перезагрузки роутера | ||
+ | После перезагрузки на флешке НЕ будет таблицы разделов, зато будет файловая система ext4 на 480Мб(не зависимо от размера флешки) | ||
+ | |||
+ | =Как передавать звук с робороутера = | ||
#Убедиться, что у вас подключены к роутеру: | #Убедиться, что у вас подключены к роутеру: | ||
#*USB-хаб | #*USB-хаб | ||
Строка 19: | Строка 160: | ||
#* Устройство захвата звука(веб-камера с USB микрофоном либо USB-Sound адаптер). | #* Устройство захвата звука(веб-камера с USB микрофоном либо USB-Sound адаптер). | ||
# Настроить использование extroot. | # Настроить использование extroot. | ||
− | + | #Настроить доступ в интернет из робороутера. Обычно для этого достаточно правильно ввести параметры сети при начальной инициализации (см. выше) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | #Настроить доступ в | ||
#Исполнить скрипт в консоли роутера | #Исполнить скрипт в консоли роутера | ||
#:<code> inst_sound</code> | #:<code> inst_sound</code> | ||
Строка 35: | Строка 168: | ||
#:<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> | ||
− | == | + | =Внесение изменений в прошивку= |
− | из | + | |
− | + | Для внесения серьезных изменений в прошивку штудируем документацию [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 | ||
+ | |||
+ | =Ссылки= | ||
+ | * [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 Статья - исследование на робокрафт] |
Текущая версия на 15:50, 28 мая 2013
Содержание
- 1 О проекте
- 2 Поддерживаемое оборудование
- 3 Установка и первичная настройка прошивки
- 4 Настройка прошивки
- 5 Использование прошивки на ПК
- 6 Как настроить использование extroot.
- 7 Как передавать звук с робороутера
- 8 Внесение изменений в прошивку
- 9 Нерешенные проблемы
- 10 Другие предупреждения
- 11 Загрузки
- 12 Проблемы и решения
- 13 Ссылки
О проекте
Описание проекта
Этот проект создан в рамках более крупного проекта 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.
- для 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
- другие не проверялись, скорее всего будут поддержаны.
Установка и первичная настройка прошивки
Настройка прошивки
- 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 в случае выпадения пакета (такое бывает).
Использование роутера в режиме точки доступа (access point) WiFi-сети
Достаточно включить режим access point в настройках через веб-интерфейс. Роутер перезагрузится, после чего будет работать как точка доступа.
- Имя сети по умолчанию - OR_WRT,
- Пароль по умолчанию - 12345678
- IP адрес роутера(из через веб-интерфейс не меняется) 192.168.218.1
- IP адрес клиента выдается автоматически по протоколу dhcp
Настройка веб-камеры
На странице настройки камеры вы можете выбрать:
- разрешение
- 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
Доступен двумя способами
- сервис ser2net транслирует обмен на TCP порт 2000
- запись в порт доступна по протоколу http URL /cgi-bin/serial.cgi , метод POST, значение параметра SERIAL_DATA будет записано в порт
CP210x (OR-USB-UART), FTDI, PL2303
- сервис ser2net транслирует обмен до пяти USB-UART на TCP порты 3000-3005
- запись в порт доступна по протоколу http URL /cgi-bin/serial.cgi , метод POST, значение параметра SERIAL_DATA будет записано в порт. Для этого надо модифицировать скрипт
/www/cgi-bin/serial.cgi
Pololu Orangutan SVP-1284
На оборудовании tenik удалось связать роутер с систмой Pololu Orangutan: в файл /etc/rc.local для перезапуска драйвера были добавлены строки:
rmmod usbserial insmod usbserial vendor=0x1ffb product=0x0087
После перезагрузки 3 UART порта Pololu доступны на TCP портах 3001, 3002, 3003
Скорости обмена портов
По умолчанию = 11500. Хранятся в двух файлах в прошивке - /etc/ser2net.conf, /etc/rc.local. Держите эти настройки равными!
Как настроить использование extroot.
- Зайти в консоль роутера
- вставить ПУСТУЮ флешку в USB порт роутера.
- ВНИМАНИЕ!!! Все данные на флешке будут невосполнимо уничтожены! Будьте внимательны!
- Исполнить скрипт в консоли роутера
make_ext_root
- Дождаться перезагрузки роутера
После перезагрузки на флешке НЕ будет таблицы разделов, зато будет файловая система ext4 на 480Мб(не зависимо от размера флешки)
Как передавать звук с робороутера
- Убедиться, что у вас подключены к роутеру:
- USB-хаб
- Свободная флешка
- Устройство захвата звука(веб-камера с USB микрофоном либо USB-Sound адаптер).
- Настроить использование extroot.
- Настроить доступ в интернет из робороутера. Обычно для этого достаточно правильно ввести параметры сети при начальной инициализации (см. выше)
- Исполнить скрипт в консоли роутера
inst_sound
- Проверить захват звука. Например, при помощи VLC плеера это можно сделать командой из консоли windows:
C:\Program Files (x86)\VideoLAN\VLC>vlc.exe http://root:[Пароль роутера]@[IP роутера]/cgi-bin/sound-spy.cgi
- Самый простой стриминг звука:
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 или запорота конфигурация
- Настроить на компьютере 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
- Putty - универсальный SSH клиент для Windows
- Статья - исследование на робокрафт