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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.05.2014, 17:10   #11
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: CyberWrt модуль "Dimmer"

А можно прокомментировать эту часть кода?
PHP код:
if (Serial.available())
  {
    
byte inByte Serial.read();
    if(
inByte>47 && inByte<59)
    {
      
inByte=(inByte-48)*28;
      
analogWrite(ledPininByte);
    }
  } 
Как расширить шаг до 255?
Зачем умножение на 28 ?
Sirocco вне форума   Ответить с цитированием
Старый 30.05.2014, 17:12   #12
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: CyberWrt модуль "Dimmer"

if(inByte>47 && inByte<59) если значение с порта от 0 до 9
9 ступеней яркости по 28 в каждой, получаем 252, при максимуме 200-255

inByte=(inByte-48) переводим из ASC-II в десятичное исчисление
Admin вне форума   Ответить с цитированием
Старый 30.05.2014, 17:29   #13
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: CyberWrt модуль "Dimmer"

А с двух\трёх-значными по сложнее будет.
Sirocco вне форума   Ответить с цитированием
Старый 30.05.2014, 17:31   #14
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: CyberWrt модуль "Dimmer"

Сложнее, готового кода для 2-3 значных чисел у меня нет
Admin вне форума   Ответить с цитированием
Старый 19.12.2014, 19:59   #15
CEP
Junior Member
 
Регистрация: 06.02.2014
Сообщений: 5
Вес репутации: 0
CEP is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Dimmer"

Приветствую.

У меня есть следующая сложность.
Собрал схемку согласно куче инфы на вашем сайте, и пытаюсь запустить диммер по скетчу из первого сообщения.

Итог: Не работает.

Проверил скетч. Напрямую от компа через монитор порта ввожу цифры от 1 до 9 все работает.

С горем пополам настроил драйвера и с конденсатором между Reset-ом и GND получилось управлять светодиодом на ардуино с помощью HTML кнопки.

То есть передача от роутера TL-MR3020 в ардуину идет.

Поковырялся в настройках HTML кнопки и диммера и увидел что в Кнопке вы пуляете на ардуину сигнал по двум портам (поправьте меня если я не правильно излагаю), тоесть так:
echo 1 > /dev/ttyUSB0
echo 1 > /dev/ttyACM0.

А в диммере строки с ttyACM0 нету.

Ардуина у меня такая UNO BUONO R3. И HTML кнопка работает как раз по ttyACM0.

Залез в файлы Диммера.
Там в файле uart.cgi есть следующая строчка:
echo ${QUERY_STRING//dimm=} > /dev/ttyUSB0

К ней я дописываю еще одну ниже и получается вот так.
echo "<h1>${QUERY_STRING//dimm=}</h1>"
echo ${QUERY_STRING//dimm=} > /dev/ttyUSB0
echo ${QUERY_STRING//dimm=} > /dev/ttyACM0

Все сохранил перезагрузился.
Итог: Не работает.

Подскажите пожалуйста где могут быть косяки с моей стороны?
И как это заставить работать?
Подскажите пожалуйста какую команду можно кинуть через терминал роутера в ардуину, чтобы это было как эквивалент прямому вводу цифр из монитора порта при подключении ардуины напрямую?

Последний раз редактировалось CEP; 19.12.2014 в 20:15.
CEP вне форума   Ответить с цитированием
Старый 19.12.2014, 22:13   #16
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1310
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: CyberWrt модуль "Dimmer"

echo 1 > /dev/ttyACM0
stD вне форума   Ответить с цитированием
Старый 20.12.2014, 17:31   #17
CEP
Junior Member
 
Регистрация: 06.02.2014
Сообщений: 5
Вес репутации: 0
CEP is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Dimmer"

Цитата:
Сообщение от mebitek Посмотреть сообщение
echo 1 > /dev/ttyACM0
Это одно из первых телодвижений проделанных мной после того как не заработало.
echo 1 > /dev/ttyACM0 с HTML кнопкой работает.
С программой диммера НЕ работает.

Отсюда вопрос...
Может быть помимо echo 1 > /dev/ttyACM0 есть еще какие то команды, которые смогут включить лампу на 10% яркости, на 50% и т.д.
CEP вне форума   Ответить с цитированием
Старый 20.12.2014, 18:14   #18
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: CyberWrt модуль "Dimmer"

Регулировка яркости от 0 до 9
0-выкл.
9-вкл. 100%

echo 5 > /dev/ttyACM0
Admin вне форума   Ответить с цитированием
Старый 28.03.2015, 11:53   #19
mihaleb
Junior Member
 
Регистрация: 28.03.2015
Сообщений: 2
Вес репутации: 0
mihaleb is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Dimmer"

Здравствуйте!
Не буду открывать тему, которую можно назвать Dimmer and Arduino micro

Если заглянуть в текст модуля http_button, то там при нажатии кнопки выполняются две строки

echo 1 > /dev/ttyUSB0
echo 1 > /dev/ttyACM0

а в файле www/cgi-bin/modules/dimmer/uart.cgi
содержится только строка
echo ${QUERY_STRING//dimm=} > /dev/ttyUSB0

Я изменил USB на ACM и моя плата arduino micro (=leonrdo) на чипе atmega32u4 заработала, будучи подключенной к usb порту роутера без всяких паек и мостов.

Так что, если у вас atmega со встроенным usb, вам нужен драйвер ACM (acm) и соответствующие измениния в коде нужных модулей.

Предложение к разработчикам - "удвоить" нужные строки в модулях, в частности, в диммере.

Последний раз редактировалось mihaleb; 28.03.2015 в 11:55.
mihaleb вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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


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


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