Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.09.2012, 16:00   #1
lvovitch
Senior Member
 
Регистрация: 14.04.2010
Сообщений: 239
Вес репутации: 0
lvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond repute
По умолчанию Подключаем Arduino Nano V.7 к USB порту роутера с OpenWrt

Что бы не ломать роутер, я решил, что проще всего подключить arduino Nano V.7 к роутеру по USB через хаб.

Итак на прошитом OpenWRT роутере делаем следующее:

1. Загружаем пакеты для моста и библиотеку для FTDI
opkg update
opkg install kmod-usb-serial-ftdi libftdi

2. перегружаем роутер
reboot

3. Смотрим как в устройствах определился контроллер ArDuino
ls /dev

Среди прочих устройств мы должны увидеть ttyUSB0
Это и есть наша ArDuin'ка

4. Устанавливаем пакат:
opkg update
opkg install coreutils-stty

Теперь нужно прописать следующую строку в фаил /etc/rc.local , для того что бы инициализация производилась каждый раз после перезагрузки
stty -F /dev/ttyUSB0 cs8 57600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts -hupcl


подробнее про настройки можно прочитать выполнив команду
stty --help

Не забудьте, что после перезагрузки системы нужно заново конфигурировать порт
Что бы этого не делать каждый раз после ребута, Вам потребуется строку настройки прописать в фаил /etc/rc.local

5. Прошиваем в arduino тестовый скетч:
Код:
#define ledPin 13  
void setup()  
{   
  Serial.begin(57600);   
  pinMode(ledPin, OUTPUT);       
}  

void loop()  
{  
  if (Serial.available() > 0)  
  {  
    byte inByte = Serial.read();  
    switch (inByte)  
    {  
        case 49:  
        digitalWrite(ledPin, HIGH);  
        Serial.println("ON!");  
        break;  
        
        case 48:  
        digitalWrite(ledPin, LOW); 
        Serial.println("OFF");  
        break;  
    }          
  }  
}
6. Теперь можно управлять Arduino или получать от него данные с USB порта
Для того что бы включить светодиод нужно
послать "1" в порт в Arduino
echo 1 > /dev/ttyUSB0

Для того что бы выключить светодиод нужно
послать "0" в порт в Arduino
echo 0 > /dev/ttyUSB0

Получить данные от Arduino
cat /dev/ttyUSB0

Записать данные пришедшие от Arduino в фаил
cat /dev/ttyUSB0 > /tmp/arduino.dat

Удаленная прошивка Arduino по сети
lvovitch вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 04:24. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика