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

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(D-Link DIR-320)
(Project description)
Строка 3: Строка 3:
 
=About=
 
=About=
 
==Project description==
 
==Project description==
This is subproject of project Open Robotics, targeted to creation of accessible platforms for hobby robotics (and not only).
+
This is subproject of project Open Robotics, targeted to creation of easy-to-use, low-cost platforms for hobby robotics (and not only).
 
This subproject target - a ready-to-use firmware for the wifi-routers, allowing conveniently and without manual adjustments and reprogramming to use it in hobby robotics as WiFi-adapter for UART and some USB devices (only UVC-webcams and some USB-UART adapters are supported now). Firmware is based on the OpenWRT, author - elmot (elijah.mot [at] gmail.com).
 
This subproject target - a ready-to-use firmware for the wifi-routers, allowing conveniently and without manual adjustments and reprogramming to use it in hobby robotics as WiFi-adapter for UART and some USB devices (only UVC-webcams and some USB-UART adapters are supported now). Firmware is based on the OpenWRT, author - elmot (elijah.mot [at] gmail.com).
  

Версия 16:21, 12 декабря 2011


About

Project description

This is subproject of project Open Robotics, targeted to creation of easy-to-use, low-cost platforms for hobby robotics (and not only). This subproject target - a ready-to-use firmware for the wifi-routers, allowing conveniently and without manual adjustments and reprogramming to use it in hobby robotics as WiFi-adapter for UART and some USB devices (only UVC-webcams and some USB-UART adapters are supported now). Firmware is based on the OpenWRT, author - elmot (elijah.mot [at] gmail.com).

URL to forum about this project

License

You can use the project for non-commercial purposes only for free of charge. Concerning commercial usage address to the author.

WARNING

You use the materials presented here, at own risk. We notify that opening a router for accessing the uart-console pinout and replacing its firmware, you can lost a warranty on the device, and you can damage the device. The author of firmware, Open-robotics.ru and OpenWRT.org don't carry any responsibility for direct or indirect consequences of usage of materials of the given project.

Supported equipment

Routers

  • WiFi routers:
    • D-Link DIR-320 (non NRU!),
    • ASUS wl500gP (checked by ddcharacter)
    • May be any other routers, based on SoC Broadcom BCM47xx/53xx (non-checked yet)
    • You can try modify firmware by you own for other routers with USB-port and compatible with [OpenWRT.org]

USB-Webcams

All UVC-webcams (consider this list — [http://www.ideasonboard.org/uvc/]).

We recomment MJPEG-webcams, but YUV-webcams can be used too (but with increaced latency of video-streaming).

USB-UART interfaces

  • Silicon Labs CP210x, including OR-USB-UART-v1
  • Pololu Orangutan SVP-1284 (with some patching, see below)
  • Others weren't checked, most likely will be supported..

Firmware installing

D-Link DIR-320

  1. Setup tftp client (included in win 7 distributive, but not included to default setup settings).
  2. Connect computer by ethernet cable to any LAN-port on router
  3. Setup IP of local ethernet adapted, connected to DIR-320 to 192.168.0.2
  4. Prepare (may be in .bat-file) command "tftp 192.168.0.1 PUT <trx-file-name>"
  5. Switch on router power
  6. Wait for 2 seconds and run prepared command. LAN-led must start flashing frequently few seconds, after that command must be completed successfully and write in console something like (digits may differ):
    • Start Flashing ****
    • Successfull transfer: 3592480 bytes in 11 сs, 281134 bytes/s
  7. Wait for about 5 minutes. Then firmware loading will be completed and router fail to connect to WiFi (because unlikely you home WiFi net called "OpenWrt" and has password “1”), blue led will start flashing on the side of router every 10 seconds.

Настройка прошивки

  • 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. Он должен быть в диапазоне IP сети, не быть занять, и быть вне диапазона адресов, раздаваемых DHCP сервером.
  • Зайдите на web интерфейс прошивки, в админке есть соответсвующая страница. Там вы можете поставить:
    • защита WPA-PSK/WPA2-PSK,NONE
    • имя сети SSID
    • пароль
    • static IP
    • netmask
    • default GW
    • dns

В качестве проверки работоспособности сети прошивка раз в 10 секунд однократно пингует адрес default gateway. В случае неудачного ping зажигается голубой светодиод на следующие 10 секунд. Так что он может иногда загораться при работающем IP в случае выпадения пакета (такое бывает).

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

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

  • разрешение
  • fps
  • номер камеры(возможно подключение нескольких камер через USB-hub)
  • YUV или MJPEG режимы

Использование прошивки на ПК

Получение видеопотока или отдельных кадров

Проброска 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.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 содержит явную недоделку - когда заходишь на страничку настройки, то она показывает не текущие значения из конфигов роутера, а ее собственные дефолты

Other warnings

  • Don't switch off HTTP and HTTPS at the same time. In this case router configuring will be available only through SSH.
  • Don't forget about security risks. Remember, that somebody may spy on you through webcam, and mobile robot can damage some furniture or even cause some injuries.

Downloads

Файл:Or-wifi-dir320-0.54.tar.gz

What inside?

  • Ready-to-use firmware in .trx-format.
  • Kernel and addons for standard ImageBuilder from OpenWRT backfire 10.03.01-RC6, used to build firmware.
  • make.sh file, used to build and pack firmware.

Links