|
|
Опции темы | Поиск в этой теме | Опции просмотра |
25.12.2012, 13:56 | #41 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
А что подключено к UART?
Вы уверены что устройство которое подключено к UART, отправляет в порт какие либо данные? |
25.12.2012, 14:03 | #42 |
Member
|
Router(UART)->PL2303->pc(terminal)
USB В компьютер, а UART к железному UART роутера. Я из терминала отпрвляю данные. Последний раз редактировалось Andreyweb; 25.12.2012 в 14:07. |
25.12.2012, 14:13 | #43 |
Member
|
Открываю на компьютере 2 терминала, один на порт на котором преобразователь PL2303, другой на котором TIBBO.
в конфиге Ser2net 6000:raw:0:/dev/ttyATH0:9600 посылаю данные с роутера echo "Привет" > /dev/ttyATH0 в pl2303 приходит, а в тиббо нет Последний раз редактировалось Andreyweb; 25.12.2012 в 14:17. |
25.12.2012, 14:18 | #44 |
Member
|
А! стоп, пишу в одном терминале,а читаю в другом тоесть данные идут на прямую
Тоесть получается,что SER2NET тунелит данные RAW? А как сделать так чтобы отправлять символы не RAW? почему cat /dev/ttyATH0 у меня не ловит символы???? Последний раз редактировалось Andreyweb; 25.12.2012 в 14:23. |
25.12.2012, 14:38 | #45 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Для проверки UART можно замкнуть RX c TX
Открыть два терминала. В первом терминале выполнить cat /dev/ttyATH0 В другом терминале отправить echo "Привет" > /dev/ttyATH0 |
25.12.2012, 14:51 | #46 |
Member
|
Да это все работает.
Сырые данные кидает между терминалами(пишу в одном терминале а отображается в другом) как мне "пощупать" данные в терминале роутера. Я так понимаю они должны быть не RAW?? Последний раз редактировалось Andreyweb; 25.12.2012 в 15:21. |
25.12.2012, 15:25 | #47 |
Member
|
Тоесть я запускаю терминал(putty)Захожу на роутер по SSH. Выполняю cat /dev/ttyATH0.
на PC запускаю терминал, и отправляю данные, а в окне роутера увидеть отправленные данные |
04.02.2013, 17:53 | #49 |
Junior Member
Регистрация: 14.01.2013
Сообщений: 18
Вес репутации: 0 |
Пока никак не могу найти описание проблемы. Первоначально ардуино соединял с USB-хабом, на котором висит роутер, через преобразователь на базе CP2102. В openwrt устройство определялось как ttyUSB0, в ардуине соответственно использовался порт serial1. Наигравшись вдоволь светодиодами, решил-таки привести девайс к законченному виду, и соединил usb-порт ардуины с хабом напрямую. После установки пакета из репозитория устройство в Openwrt определяется, как ttyACM0. С помощью STTY задал параметры порта и тут началось...Первое, с чем столкнулся - уже описанная проблема, первоначальная перезагрузка ардуино при посылке команды. Как показала практика - помогает cat /dev/ttyACM0. Но еще интересно то, что php-скрипт начал работать криво. Ощущение такое, что данные, которые не были прочитаны с /dev/ttyACM0 висят там, пока при следующем вызове php-скрипта не откроется порт, не запишется команда. То есть, при открытии файла порта для чтения/записи данные не обнуляются.
Скрипт стандартный: Код:
$ch=' '; $filename = "/dev/ttyACM0"; //порт $fp = fopen($filename, "r+"); //открыть порт if ($fp) //если порт открыт { fwrite($fp, "aabb"); while ($ch != chr(0xA)) { $ch = fgetc($fp); $bufer.=$ch; }; } |
04.02.2013, 19:10 | #50 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Если у Вас роутер MR3020 или WR703N , то у них /dev/ttyACM0 это встроенный порт UART
Скрипт может зависнуть в цикле while при условии что ардуино не ответит или в ответе не будет ондного из символов переноса строки, в примере(0хА) Полечить можно при помощи цикла For. количество циклов нужно попробовать подобрать на роутере, что бы опрос порта производился не более 1-2 сек |
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|