roboforum.ru

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

CraftDuino + TP-Link MR3020

CraftDuino + TP-Link MR3020

Goodwind32 » 22 фев 2014, 14:17

Здравствуйте! Помогите разобраться.

Имею роутер TP-Link MR3020 с прошивкой OR-WRT 0.76 и соединенный с ним CraftDuino через USB-порт роутера. Пытаюсь наладить общение с контроллером через последовательный порт. Роутер контроллер видит и устройство /dev/ttyUSB0 появляется. Делаю как в этой статье: http://robocraft.ru/forum/viewtopic.php ... 69&start=0. Загружаю скетч с миганием и отправкой символов в порт. Светодиод мигает, зеленый индикатор TX помаргивает. Вызываю команду
Код: Выделить всёРазвернуть
cat /dev/ttyUSB0

Приходит "H", затем "L" и всё останавливается. Зеленый индикатор мигать перестает, а светодиод продолжает мигать! Перемычку "Auto Reset" снимал, не помогло. Чувствую недостаток понимания как работает COM-порт... RTFM?

И сразу второй вопрос. Вот такой вот код в контроллере:

Код: Выделить всёРазвернуть
int led = 13;

void setup() {               
  pinMode(led, OUTPUT);     
  Serial.begin(9600);     
}

void loop() {
  char incomingByte;
  if (Serial.available() > 0)
  {
    incomingByte = Serial.read();
    if (incomingByte=='h')
    {
      digitalWrite(led, HIGH);   
      Serial.println("Led is ON");     
    }
    else
      if (incomingByte=='l')
      {
        digitalWrite(led, LOW);
        Serial.println("Led is OFF");   
      }
      else
     {
        Serial.print("Unexpected command: ");     
      Serial.println(incomingByte);     
     }
  }
delay(2000);   
}



должен зажигать светодиод при получении символа "h" из порта. И в терминале из Windows это работает.
Однако, вот такая команда из OR-WRT:

Код: Выделить всёРазвернуть
echo -n "h" > /dev/ttyUSB0


ничего не дает.
Пробовал инициализировать порт командой (из этой http://playground.arduino.cc//Interfacing/LinuxTTY статьи)
Код: Выделить всёРазвернуть
stty -F /dev/ttyUSB0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts

Ничего не дает.

Как вообще правильно организовывать обмен командами межу роутером и ардуино?

Re: CraftDuino + TP-Link MR3020

noonv » 22 фев 2014, 17:02

Как я уже писал - всё же для общения с контроллером лучше реализовать нормальную программу (ну или попробовать модуль для Lua :))

Re: CraftDuino + TP-Link MR3020

dccharacter » 22 фев 2014, 19:21


Re: CraftDuino + TP-Link MR3020

Goodwind32 » 25 фев 2014, 11:52

noonv писал(а):Как я уже писал - всё же для общения с контроллером лучше реализовать нормальную программу (ну или попробовать модуль для Lua :))


Чтобы использовать упомянутую вами статью требуется освоить компиляцию (и я так понимаю кросс-компиляцию) программ для OpenWRT, что в данный момент пока не освоено. Неужели нет готового модуля для OpenWRT и примера его использования? Ведь задача тривиальна...


Rambler\'s Top100 Mail.ru counter