roboforum.ru

Технический форум по робототехнике.

Робот на базе роутера D Link DIR-320

Робот на базе роутера D Link DIR-320

esprit » 14 фев 2011, 07:33

==================================================================================================================
Вставка от =DeaD=

ВНИМАНИЕ!!! На рынке сейчас часто вместо DIR-320 продаётся DIR-320NRU - это совершенно другой по железу роутер и всё что тут описано к нему не имеет отношения. Будьте бдительны!

На текущий момент задача проброски видео и уарта на роутере D-Link DIR-320 решена полностью, при этом в рамках флеш-памяти роутера, т.е. для работы подключение каких-то флешек или usb-хабов не требуется.

Порядок модификации роутера для этой задачи подробно описан в вики на странице [[DIR-320]].

Кроме того от пользователя d3xr есть описание установки прошивки OpenWrt на DIR-320, оно находится на странице [[OpenWrt]]
==================================================================================================================


Вдохновленный темой http://roboforum.ru/forum40/topic5222.html, задумался над созданием робота на базе этого роутера. Первоначальный функционал - управляемый с компьютера робот по каналу Wi-Fi. Робот прошит (так скажем, не без усилий) прошивкой от http://vampik.ru/. На нем завелась Linux-подобная операционка, можно подключиться Телнетом. Задача первая научиться рулить роботом посредством операционной системы. На борту есть USB порт, говорят есть UART. Вот его лицо
face.jpg
, а это спина
back.jpg
.

Re: Робот на базе роутера D Link DIR-320

=DeaD= » 05 мар 2011, 08:23

wallera писал(а):Чета вобще какойто вынос мозга.... :(
[admin@(none) root]$ suart -s/dev/tts/1
-sh: suart: not found
[admin@(none) root]$ suart -s/dev/tts/0
-sh: suart: not found

Так у вас путь к suart какой? явно он у вас не в руте лежит, сделайте сначала "cd /путь_к_suart/", а потом запускайте командой "./suart <опции>"

Добавлено спустя 2 минуты 2 секунды:
boez писал(а):Да, кстати, Dead, у меня чего-то у суарта хелп не выводится. Как его выводить?

"suart -?"

Или я неправильно понял, как в линухе стандартно хелп выводить? :oops:

Добавлено спустя 14 минут 8 секунд:
boez писал(а):Поправил один мелкий момент с открытием слушающего порта (добавил опцию SO_REUSEADDR)

Ну всё, теперь есть еще и формальные основания в авторы внести, давай либо говори фамилию+имя, либо сам внеси себя в авторы :wink:

Re: Робот на базе роутера D Link DIR-320

wallera » 05 мар 2011, 09:33

dccharacter писал(а):ты не поставил buildroot, похоже, смотри wiki

может я что-то не понимаю....но зачем буилдРут нужен? я ни какой компиляции не запускаю,просто беру файлик Suart из вложения suart.zip и вставляю с помощь tftp (который в вики рекомендовался)
делаю tftp -g 192.168.13.10 -l /usr/local/suart -r /suart
потом chmod +x /usr/local/suart
пытаюсь запустить........... /usr/local/suart -d :(
хотя /usr/local/suart -? хелп работает!
и еще! когда отключаю консоль
nvram set kernel_args="root=/dev/mtdblock2 rootfstype=squashfs,ext3 noinitrd init=/linuxrc console=null"
nvram commit

команда с телнет клиента echo "Hello world!" > /dev/tts/0
на подключенном гипертерминале не проходит
До отключения консоли проходила.....

прошивка от Олега WL500gpv2-1.9.2.7-d-r2381.trx

Re: Робот на базе роутера D Link DIR-320

=DeaD= » 05 мар 2011, 09:55

2wallera:

1. buildroot не нужен конечно же, это dccharacter вас запутать желает :D

2. У вас какой роутер?

3. "пытаюсь запустить........... /usr/local/suart -d" и что получаете в ответ?

Re: Робот на базе роутера D Link DIR-320

wallera » 05 мар 2011, 10:03

роутер dir-320 с прошивкой от Олега я название выше постом скидывал
вот лог моих действий:

[admin@(none) root]$ /usr/local/suart -?
Suart is tool that allow you to tunnel a local serial connection over a network

Usage: suart [-s<serial_port>] [-p<socket_addr>] [-b<baudrate>] [-d] [-?]

-s<serial_port> Set serial port, default is /dev/ttyS0
-p<socket_addr> Set socket address, default is 3000
-b<baudrate> Set serial port baudrate (9600/19200/38400/57600/115200), default is 115200
-d Show debug info - transferred data
-? Show this help page

Example: suart -s/dev/ttyS1 -p3005 -b9600 -d
[admin@(none) root]$ /usr/local/suart -d
open_port: Unable to open serial port: No such file or directory

Re: Робот на базе роутера D Link DIR-320

=DeaD= » 05 мар 2011, 10:19

Проверьте, что у вас с портами тогда:

cd /dev
ls -l

Re: Робот на базе роутера D Link DIR-320

boez » 05 мар 2011, 10:25

Да, и еще сюда же cat /proc/devices

А в логе загрузки (или в консоли, или сразу после загрузки командой dmesg) поискать вот такое:
Код: Выделить всёРазвернуть
Serial: 8250/16550 driver $Revision: 1.6 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A
serial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A

Re: Робот на базе роутера D Link DIR-320

boez » 05 мар 2011, 10:29

А, да, зовут меня Александр Жаров :)

Dead, ты com2tcp не пробовал еще?
Кстати, еще для баловства с портами есть под винду com0com - создает пару виртуальных компортов, связанных между собой как будто кабелем.

Re: Робот на базе роутера D Link DIR-320

=DeaD= » 05 мар 2011, 10:30

boez писал(а):А, да, зовут меня Александр Жаров :)

Dead, ты com2tcp не пробовал еще?

com2tcp не успел, вчера и так в полчетвертого лёг :crazy:
Давай в английском варианте фамилию имя :)

Re: Робот на базе роутера D Link DIR-320

boez » 05 мар 2011, 10:56

Да пусть будет Alex Zharov

Re: Робот на базе роутера D Link DIR-320

wallera » 05 мар 2011, 11:19

=DeaD= писал(а):Проверьте, что у вас с портами тогда:

cd /dev
ls -l

Код: Выделить всёРазвернуть
[admin@(none) /]$ cd /dev
[admin@(none) /dev]$ ls -l
crw-------    1 admin    root        5,   1 Jan  1  1970 console
drwxr-xr-x    1 admin    root             0 Jan  1  1970 cua
crw-rw-rw-    1 admin    root        1,   7 Jan  1  1970 full
drwxr-xr-x    1 admin    root             0 Jan  1  1970 gpio
crw-r-----    1 admin    root        1,   2 Jan  1  1970 kmem
srw-rw-rw-    1 admin    root             0 Jan  1  1970 log
drwxr-xr-x    1 admin    root             0 Jan  1  1970 loop
crw-r-----    1 admin    root        1,   1 Jan  1  1970 mem
drwxr-xr-x    1 admin    root             0 Jan  1  1970 mtd
drwxr-xr-x    1 admin    root             0 Jan  1  1970 mtdblock
crw-rw-rw-    1 admin    root        1,   3 Jan  1  1970 null
crw-r-----    1 admin    root      253,   0 Jan  1  1970 nvram
crw-r-----    1 admin    root        1,   4 Jan  1  1970 port
crw-------    1 admin    root      108,   0 Jan  1  1970 ppp
crw-rw-rw-    1 admin    root        5,   2 Mar  5 07:18 ptmx
drwxr-xr-x    1 admin    root             0 Jan  1  1970 pts
drwxr-xr-x    1 admin    root             0 Jan  1  1970 pty
crw-r--r--    1 admin    root        1,   8 Jan  1  1970 random
lr-xr-xr-x    1 admin    root            10 Jan  1  2000 root -> mtdblock/2
drwxr-xr-x    1 admin    root             0 Jan  1  1970 scsi
drwxr-xr-x    1 admin    root             0 Jan  1  1970 shm
drwxr-xr-x    1 admin    root             0 Jan  1  1970 tts
crw-rw-rw-    1 admin    root        5,   0 Jan  1  1970 tty
crw-r--r--    1 admin    root        1,   9 Jan  1  1970 urandom
drwxr-xr-x    1 admin    root             0 Jan  1  1970 usb
lr-xr-xr-x    1 admin    root            15 Jan  1  1970 video -> /dev/v4l/video0
crw-rw-rw-    1 admin    root        1,   5 Jan  1  1970 zero


2 boez
Код: Выделить всёРазвернуть
[admin@(none) /dev]$ cat /proc/devices
Character devices:
  1 mem
  2 pty/m%d
  3 pty/s%d
  4 tts/%d
  5 cua/%d
10 misc
81 video_capture
90 mtd
108 ppp
128 ptm
136 pts/%d
162 raw
180 usb
253 nvram
254 gpio

Block devices:
  7 loop
31 mtdblock
[admin@(none) /dev]$







После команды dmesg-----нашел вот такое
Код: Выделить всёРазвернуть
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0xb8000300 (irq = 3) is a 16550A
ttyS01 at 0xb8000400 (irq = 3) is a 16550A

Re: Робот на базе роутера D Link DIR-320

=DeaD= » 05 мар 2011, 11:26

wallera писал(а):[admin@(none) root]$ /usr/local/suart -d
open_port: Unable to open serial port: No such file or directory

Попробуйте тогда /usr/local/suart -d -s/dev/tty/S0

Re: Робот на базе роутера D Link DIR-320

boez » 05 мар 2011, 11:42

ls /dev/tts - там будут уарты, скорее всего /dev/tts/0 и /dev/tts/1

Re: Робот на базе роутера D Link DIR-320

wallera » 05 мар 2011, 11:46

у меня в /dev/tty -пусто
а в /dev/tts:
[admin@(none) /dev]$ ls -l /dev/tty
crw-rw-rw- 1 admin root 5, 0 Jan 1 1970 /dev/tty
[admin@(none) /dev]$ ls -l /dev/tts
crw------- 1 admin root 4, 64 Jan 1 1970 0
crw------- 1 admin root 4, 65 Jan 1 1970 1
[admin@(none) /dev]$


Добавлено спустя 1 минуту 16 секунд:
boez писал(а):ls /dev/tts - там будут уарты, скорее всего /dev/tts/0 и /dev/tts/1
да именно так!

Re: Робот на базе роутера D Link DIR-320

boez » 05 мар 2011, 11:47

Вообще я смотрю ты их пробовал, но тогда не был указан полный путь к suart и ругалось не на порт, а на отсутствие самого suart.
В общем, уарты у тебя точно /dev/tts/0 и /dev/tts/1

Re: Робот на базе роутера D Link DIR-320

wallera » 05 мар 2011, 11:56

boez писал(а):Вообще я смотрю ты их пробовал, но тогда не был указан полный путь к suart и ругалось не на порт, а на отсутствие самого suart.
В общем, уарты у тебя точно /dev/tts/0 и /dev/tts/1


ну как отсутствие вот запускаю хелп от suat-a работает
Код: Выделить всёРазвернуть
[admin@(none) /]$ /usr/local/suart -?
Suart is tool that allow you to tunnel a local serial connection over a network

Usage: suart [-s<serial_port>] [-p<socket_addr>] [-b<baudrate>] [-d] [-?]

   -s<serial_port> Set serial port, default is /dev/ttyS0
   -p<socket_addr> Set socket address, default is 3000
   -b<baudrate> Set serial port baudrate (9600/19200/38400/57600/115200), default is 115200
   -d Show debug info - transferred data
   -? Show this help page

Example: suart -s/dev/ttyS1 -p3005 -b9600 -d


Rambler\'s Top100 Mail.ru counter