![]() |
|
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
![]() |
#1 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
А что подключено к UART?
Вы уверены что устройство которое подключено к UART, отправляет в порт какие либо данные? |
![]() |
![]() |
![]() |
#2 |
Member
|
![]()
Router(UART)->PL2303->pc(terminal)
USB В компьютер, а UART к железному UART роутера. Я из терминала отпрвляю данные. Последний раз редактировалось Andreyweb; 25.12.2012 в 14:07. |
![]() |
![]() |
![]() |
#3 |
Member
|
![]()
Открываю на компьютере 2 терминала, один на порт на котором преобразователь PL2303, другой на котором TIBBO.
в конфиге Ser2net 6000:raw:0:/dev/ttyATH0:9600 посылаю данные с роутера echo "Привет" > /dev/ttyATH0 в pl2303 приходит, а в тиббо нет Последний раз редактировалось Andreyweb; 25.12.2012 в 14:17. |
![]() |
![]() |
![]() |
#4 |
Member
|
![]()
А! стоп, пишу в одном терминале,а читаю в другом тоесть данные идут на прямую
![]() Тоесть получается,что SER2NET тунелит данные RAW? А как сделать так чтобы отправлять символы не RAW? почему cat /dev/ttyATH0 у меня не ловит символы???? Последний раз редактировалось Andreyweb; 25.12.2012 в 14:23. |
![]() |
![]() |
![]() |
#5 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Для проверки UART можно замкнуть RX c TX
Открыть два терминала. В первом терминале выполнить cat /dev/ttyATH0 В другом терминале отправить echo "Привет" > /dev/ttyATH0 |
![]() |
![]() |
![]() |
#6 |
Member
|
![]()
Да это все работает.
Сырые данные кидает между терминалами(пишу в одном терминале а отображается в другом) как мне "пощупать" данные в терминале роутера. Я так понимаю они должны быть не RAW?? Последний раз редактировалось Andreyweb; 25.12.2012 в 15:21. |
![]() |
![]() |
![]() |
#7 |
Member
|
![]()
Тоесть я запускаю терминал(putty)Захожу на роутер по SSH. Выполняю cat /dev/ttyATH0.
на PC запускаю терминал, и отправляю данные, а в окне роутера увидеть отправленные данные |
![]() |
![]() |
![]() |
#9 |
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; }; } |
![]() |
![]() |
![]() |
#10 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Если у Вас роутер MR3020 или WR703N , то у них /dev/ttyACM0 это встроенный порт UART
Скрипт может зависнуть в цикле while при условии что ардуино не ответит или в ответе не будет ондного из символов переноса строки, в примере(0хА) Полечить можно при помощи цикла For. количество циклов нужно попробовать подобрать на роутере, что бы опрос порта производился не более 1-2 сек |
![]() |
![]() |
![]() |
Здесь присутствуют: 52 (пользователей: 0 , гостей: 52) | |
|
|