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

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Загрузки)
Строка 1: Строка 1:
[[Категория:Open Robotics]]
+
==Описание проекта==
  
=О проекте=
+
Этот проект создан в рамках более крупного проекта Open Robotics, направленного на создание доступных и повторяемых платформ для любительской (и не только) робототехники. Суть проекта - готовая прошивка для сетевого оборудования, позволяющая удобно и без множества ручных настроек и перепрограммирования использовать его в робототехнике в качестве WiFi адаптера для UART и USB-устройств (пока поддерживаются только UVC-вебкамеры и некоторые USB-UART адаптеры). Прошивку на основе типовой OpenWRT разработал elmot (elijah.mot [на] gmail.com).
[[Изображение:OR-WRT-webface.jpg|thumb|200px|Панель управления OR-WRT.|right]]
+
Ссылки на форумы этого проекта
  
==Описание проекта==
+
    * [Вопросы разработки и развития  OR-WRT ]
Этот проект создан в рамках более крупного проекта Open Robotics, направленного на создание доступных и повторяемых платформ для любительской (и не только) робототехники. Суть проекта - готовая прошивка для сетевого оборудования, позволяющая удобно и без множества ручных настроек и перепрограммирования использовать его в робототехнике в качестве WiFi адаптера для UART и USB-устройств (пока поддерживаются только UVC-вебкамеры и некоторые USB-UART адаптеры). Прошивку на основе типовой OpenWRT разработал elmot (elijah.mot [на] gmail.com).
+
    * [Вопросы поддержки пользователей  OR-WRT ]  
  
==Ссылки на форумы этого проекта==
+
Лицензия
* [[http://roboforum.ru/forum69/topic10929.html Вопросы разработки и развития OR-WRT]]
 
* [[http://roboforum.ru/forum69/topic10928.html Вопросы поддержки пользователей OR-WRT]]
 
  
==Лицензия==
 
 
Вы можете использовать проект для некоммерческих целей. По вопросу коммерческого использования обращайтесь к автору.
 
Вы можете использовать проект для некоммерческих целей. По вопросу коммерческого использования обращайтесь к автору.
 +
Предупреждение
  
==Предупреждение==
 
 
Вы используете материалы, представленные здесь, на свой страх и риск. Предупреждаем, что вскрывая роутер для присоединения консоли и заменяя его прошивку, вы можете лишиться как гарантии на устройство, так и повредить само устройство. Автор прошивки, равно как Open-robotics.ru и OpenWRT.org не несут никакой ответственности за прямые либо косвенные последствия использования материалов данного проекта.
 
Вы используете материалы, представленные здесь, на свой страх и риск. Предупреждаем, что вскрывая роутер для присоединения консоли и заменяя его прошивку, вы можете лишиться как гарантии на устройство, так и повредить само устройство. Автор прошивки, равно как 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
  
[[Изображение:Dir-320-photo.jpg|thumb|200px|DIR-320.|right]]
+
  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 секунд.  
  
== Роутеры ==
+
==Настройка прошивки==
* Беспроводные роутеры:
 
** D-Link DIR-320 (обычный, не NRU!),
 
** ASUS wl500gP(проверено ddcharacter)
 
** Другие роутеры на базе SoC Broadcom BCM47xx/53xx (не проверялось)
 
** Возможна модификация прошивки для поддержки других роутеров с USB и совместимых с прошивкой [[http://openwrt.org/ OpenWRT.org]]
 
  
== USB-вебкамеры ==
+
    * ssh 192.168.0.1 по кабелю в любой порт роутера или ssh <wifi ip>, если wifi поднялся. Login root, password 123
Все UVC-камеры (список тут — [[http://www.ideasonboard.org/uvc/ http://www.ideasonboard.org/uvc/]]).
+
    * Через браузер: http://192.168.0.1 по кабелю либо http://<wifi IP> по wifi, если wifi поднялся. Login admin, password oradmin. На первой странице внизу ссылка на админку.  
  
Лучше, чтобы камера поддерживала режим MJPEG, но YUV камеры тоже можно использовать, при этом увеличится задержка видео.
+
Подключение к домашней WiFi-сети
  
== USB-UART интерфейсы ==
+
Предполагается, что роутер подключается к домашней сети wifi как клиент со статическим IP.
* Silicon Labs CP210x, включая [http://shop.roboforum.ru/product/or-usb-uart-v1-usb-uart-adapter/ OR-USB-UART-v1]
 
* Pololu Orangutan SVP-1284
 
* другие не проверялись, скорее всего будут поддержаны.
 
  
=Установка прошивки=
+
    * Выберите подходящий IP. Он должен быть:
==D-Link DIR-320==
+
          o в диапазоне IP сети,
# установить tftp клиента (есть в поставке win 7, но не установлен по умолчанию).
+
          o не быть занятым,
# Настроить на компьютере IP-адрес 192.168.0.2
+
          o быть вне диапазона адресов, раздаваемых DHCP сервером.
# подключить компьютер к любому порту LAN на роутере.
+
          o не входить в диапазон 192.168.0.X
# приготовить (можно в .bat-файле) команду tftp 192.168.0.1 PUT <имя trx файла>
+
    * Зайдите на web интерфейс прошивки, в админке есть соответствующая страница. Там вы можете поставить:
# включить роутер
+
          o защита WPA-PSK/WPA2-PSK,NONE
# подождать ровно 2 секунды и запустить приготовленную команду. Лампа LAN должна часто-часто моргать несколько секунд, после чего команда должна успешно завершиться и показать что-то вроде (цифры могут отличаться):
+
          o имя сети SSID
#* Start Flashing ****
+
          o пароль
#* Успешная передача: 3592480 байт за 11 сs, 281134 байт/с
+
          o static IP
# Ждать около 5 минут. Когда прошивка загрузится и не сможет подключиться к wifi (так как вряд ли Ваша сеть называется “OpenWrt” и имеет пароль “1”), должен загореться синий светодиод сбоку на роутере и помаргивать каждые 10 секунд.
+
          o netmask
 +
          o default GW
 +
          o dns
  
=Настройка прошивки=
 
* <code>ssh 192.168.0.1</code> по кабелю в любой порт роутера или <code>ssh <wifi ip></code>, если wifi поднялся. Login root, password 123
 
* Через браузер: <nowiki>http://192.168.0.1</nowiki> по кабелю либо <nowiki>http://<wifi IP></nowiki> по wifi, если wifi поднялся. Login admin, password oradmin. На первой странице внизу ссылка на админку.
 
==Подключение к домашней WiFi-сети==
 
Предполагается, что роутер подключается к домашней сети wifi как клиент со статическим IP.
 
* Выберите подходящий IP. Он должен быть:
 
** в диапазоне IP сети,
 
** не быть занятым,
 
** быть вне диапазона адресов, раздаваемых DHCP сервером.
 
** не входить в диапазон 192.168.0.X
 
* Зайдите на web интерфейс прошивки, в админке есть соответствующая страница. Там вы можете поставить:
 
** защита WPA-PSK/WPA2-PSK,NONE
 
** имя сети SSID
 
** пароль
 
** static IP
 
** netmask
 
** default GW
 
** dns
 
 
В качестве проверки работоспособности сети прошивка раз в 10 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается голубой светодиод на следующие 10 секунд. Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает).
 
В качестве проверки работоспособности сети прошивка раз в 10 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается голубой светодиод на следующие 10 секунд. Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает).
 +
Настройка веб-камеры
  
==Настройка веб-камеры==
 
 
На странице настройки камеры вы можете выбрать:
 
На странице настройки камеры вы можете выбрать:
* разрешение
 
* fps
 
* номер камеры(возможно подключение нескольких камер через USB-hub)
 
* YUV или MJPEG режимы
 
  
=Использование прошивки на ПК=
+
    * разрешение
==Получение видеопотока или отдельных кадров==
+
    * fps
<u>Обратите внимание! Браузер Internet Explorer не поддерживает MJPG видео и не покажет изображение с камеры. Используйте Crome, FireFox или Opera(Opera Turbo надо выключить)</u>
+
    * номер камеры(возможно подключение нескольких камер через USB-hub)
* видеопоток в формате mjpg "http://wifi-ip:8080/?action=stream"
+
    * YUV или MJPEG режимы
* кадр в формате jpg "http://wifi-ip:8080/?action=snapshot"
+
 
 +
==Использование прошивки на ПК==
 +
Получение видеопотока или отдельных кадров
 +
 
 +
Обратите внимание! Браузер 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 будет записано в порт
  
==Проброска UART-а==
+
CP210x (OR-USB-UART)
[[Изображение:Dir-320-UART-pinout.jpg|thumb|200px|Распиновка UART в DIR-320.|right]]
 
  
=== Встроенный UART===
 
Доступен двумя способами
 
* сервис ser2net транслирует обмен на TCP порт 2000
 
* запись в порт доступна по протоколу http URL ''/cgi-bin/serial.cgi'' , метод POST, значение параметра SERIAL_DATA будет записано в порт
 
===CP210x (OR-USB-UART)===
 
 
в файл /etc/config/ser2net.conf надо добавить строку:
 
в файл /etc/config/ser2net.conf надо добавить строку:
<pre>
+
 
 
3001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
 
3001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
</pre>
 
  
 
После перезагрузки UART порт доступен на TCP порту 3001
 
После перезагрузки UART порт доступен на TCP порту 3001
 +
Pololu Orangutan SVP-1284
  
===Pololu Orangutan SVP-1284===
 
 
На оборудовании tenik удалось связать роутер с систмой Pololu Orangutan:
 
На оборудовании tenik удалось связать роутер с систмой Pololu Orangutan:
  
 
в файл /etc/rc.local для перезапуска драйвера были добавлены строки:
 
в файл /etc/rc.local для перезапуска драйвера были добавлены строки:
<pre>rmmod usbserial
+
 
 +
rmmod usbserial
 
insmod usbserial vendor=0x1ffb product=0x0087
 
insmod usbserial vendor=0x1ffb product=0x0087
</pre>
 
  
 
в файл /etc/config/ser2net.conf добавлены строки:
 
в файл /etc/config/ser2net.conf добавлены строки:
<pre>
+
 
 
3001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
 
3001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
 
3002:raw:600:/dev/ttyUSB1: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
 
3003:raw:600:/dev/ttyUSB2:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
</pre>
 
  
 
После перезагрузки 3 UART порта Pololu доступны на TCP портах 3001, 3002, 3003
 
После перезагрузки 3 UART порта Pololu доступны на TCP портах 3001, 3002, 3003
 +
==Внесение изменений в прошивку==
  
=Внесение изменений в прошивку=
+
Для внесения серьезных изменений в прошивку штудируем документацию OpenWRT
Для внесения серьезных изменений в прошивку штудируем документацию [http://wiki.openwrt.org/doc/start OpenWRT]
+
Загрузка своих страниц для управления роботом
  
==Загрузка своих страниц для управления роботом==
 
 
Текущие страницы доступны для сливания через админку робота. Для заливки новых страниц я использую команду:
 
Текущие страницы доступны для сливания через админку робота. Для заливки новых страниц я использую команду:
<pre>
+
 
 
pscp.exe -r -pw 123 -scp www/* root@192.168.0.1:/www
 
pscp.exe -r -pw 123 -scp www/* root@192.168.0.1:/www
</pre>
+
 
 
pscp входит в комплект программ Putty.
 
pscp входит в комплект программ Putty.
  
<b>Не заливайте файлы из каталогов /cgi-bin/* На них скорее всего слетят unix-права и прошивка перестанет работать.</b>
+
Не заливайте файлы из каталогов /cgi-bin/* На них скорее всего слетят unix-права и прошивка перестанет работать.
 +
 
 +
==Нерешенные проблемы==
  
=Нерешенные проблемы=
 
 
* Задержка видео. При использовании 160*120 30 fps она минимальная, но есть.
 
* Задержка видео. При использовании 160*120 30 fps она минимальная, но есть.
 
* Нет удобного способа менять пароль, только через SSH консоль (команда passwd).
 
* Нет удобного способа менять пароль, только через SSH консоль (команда passwd).
 
* Защита. Робота с такой прошивкой надо держать на защищенном протоколе. Сейчас видео идет по http порт 8080 вообще открыто, web-face и управление - либо http либо https, либо с паролем, либо без. Самый правильный способ - https+пароль. Но https в данной конфигурации жутко тормозит.
 
* Защита. Робота с такой прошивкой надо держать на защищенном протоколе. Сейчас видео идет по http порт 8080 вообще открыто, web-face и управление - либо http либо https, либо с паролем, либо без. Самый правильный способ - https+пароль. Но https в данной конфигурации жутко тормозит.
 
* Скрипты Webface написаны на awk и ash, их неудобно поддерживать, Следует мигрировать на Lua
 
* Скрипты Webface написаны на awk и ash, их неудобно поддерживать, Следует мигрировать на Lua
* Webface содержит явную недоделку - когда заходишь на страничку настройки, то она показывает не текущие значения из конфигов роутера, а ее собственные дефолты
+
* Webface содержит явную недоделку - когда заходишь на страничку настройки, то она показывает не текущие значения из конфигов роутера, а ее собственные дефолты  
=Другие предупреждения=
+
 
 +
==Другие предупреждения==
 +
 
 
* Не выключайте HTTP и HTTPS одновременно. Иначе перенастройка роутера станет возможной только по SSH.
 
* Не выключайте HTTP и HTTPS одновременно. Иначе перенастройка роутера станет возможной только по SSH.
* Не забывайте про защиту. Очень хочется показать эту вещь в интернете, но надо понимать, что за вами могут наблюдать через камеру, а ездящий робот может даже нанести материальный ущерб либо даже травму. Учтите, что в Интернете “кулхацкеров” гораздо больше, чем ваших друзей.
+
* Не забывайте про защиту. Очень хочется показать эту вещь в интернете, но надо понимать, что за вами могут наблюдать через камеру, а ездящий робот может даже нанести материальный ущерб либо даже травму. Учтите, что в Интернете “кулхацкеров” гораздо больше, чем ваших друзей.  
= Загрузки =
+
 
*[https://sourceforge.net/projects/orwrt/files/ Загрузка с SourceForge]
+
==Загрузки==
 +
 
 +
* [http://sourceforge.net/projects/orwrt/files/ Загрузка с SourceForge]
  
 
Что внутри?
 
Что внутри?
 +
 
* Готовая к заливке прошивка в формате trx.
 
* Готовая к заливке прошивка в формате trx.
 
* Ядро и дополнения к стандартному ImageBuilder’у от OpenWRT backfire 10.03.01, с помощью которых она построена.
 
* Ядро и дополнения к стандартному ImageBuilder’у от OpenWRT backfire 10.03.01, с помощью которых она построена.
* файл make.sh для построения и запаковки прошивки
+
* файл make.sh для построения и запаковки прошивки  
  
= Ссылки =
+
==Ссылки==
*[https://sourceforge.net/p/orwrt/tickets/ Поддержка]
+
* [http://sourceforge.net/p/orwrt/tickets/ Поддержка]
*[http://openwrt.org OpenWRT]
+
* [http://openwrt.org/ OpenWRT]
*[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] - универсальный SSH клиент для Windows
+
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] - универсальный SSH клиент для Windows

Версия 10:12, 30 марта 2012

Описание проекта

Этот проект создан в рамках более крупного проекта Open Robotics, направленного на создание доступных и повторяемых платформ для любительской (и не только) робототехники. Суть проекта - готовая прошивка для сетевого оборудования, позволяющая удобно и без множества ручных настроек и перепрограммирования использовать его в робототехнике в качестве WiFi адаптера для UART и USB-устройств (пока поддерживаются только UVC-вебкамеры и некоторые USB-UART адаптеры). Прошивку на основе типовой OpenWRT разработал elmot (elijah.mot [на] gmail.com). Ссылки на форумы этого проекта

   * [Вопросы разработки и развития  OR-WRT ]
   * [Вопросы поддержки пользователей  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-камеры (список тут — [1]).

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

Внесение изменений в прошивку

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

Загрузки

Что внутри?

  • Готовая к заливке прошивка в формате trx.
  • Ядро и дополнения к стандартному ImageBuilder’у от OpenWRT backfire 10.03.01, с помощью которых она построена.
  • файл make.sh для построения и запаковки прошивки

Ссылки