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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.06.2015, 08:59   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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: Утилиты для автоматизации умного дома

Утилита serp, для чтения и записи в порт
В отличии от всех команд для чтения и записи, serp выполняется быстрей и по этой причине не теряет первые несколько байт данных. Это и стало причиной написание своей более универсальной команды

Аргументы
-p /dev/ttyPORT указываем с каким портом будем соединятся
-t 0 Таймаут, ждем ответа из порта х секунд, если 0, то без ожидания ответа
-s "строка отправляемая в порт" здесь можно писать все что Вы хотите отправить в порт. Если это текст или цифры, то можно писать без двойных кавычек. Если в запросе указываются знаки например: "!@#$%$^&*()?|\/><{}[]", то обязательно нужно отправлять в кавычках

этой утилитой можно заменить такие команды как например:
echo "123" > /dev/ttyPORT
тоже самое что и
serp -p /dev/ttyPORT -t 0 -s 123
или
cat /dev/ttyPORT
тоже самое что и
serp -p /dev/ttyPORT -t 65535 -s ""

Послать данные в порт и ждать ответ от него в течении 3сек.
serp -p /dev/ttyPORT -t 1 -s 123

Отправить запрос и полученный ответ перенаправить в фаил /tmp/answer.txt
serp -p /dev/ttyPORT -t 1 -s 123 > /tmp/answer.txt

Отправить запрос и полученный ответ перенаправить в другой порт /dev/ttyPORT
serp -p /dev/ttyPORT -t 2 -s 123 > /dev/ttyPORT

Для тестирования можно подключить ардуину и залить в нее следующий код
PHP код:
#define ledPin 13  
void setup()  
{   
  
Serial.begin(57600);   
  
pinMode(ledPinOUTPUT);       
}  

void loop()  
{  
  if (
Serial.available() > 0)  
  {  
    
byte inByte Serial.read();  
    switch (
inByte)  
    {  
        case 
'1':  
        
digitalWrite(ledPinHIGH);  
        
Serial.println("ON :)");  
        break;  
        
        case 
'0':  
        
digitalWrite(ledPinLOW); 
        
Serial.println("OFF :(");  
        break;  
    }          
  }  

И выполнить в консоли команду
serp -p /dev/ttyPORT -t 1 -s 1 или
serp -p /dev/ttyPORT -t 1 -s 0

Соответственно не забудьте указать порт к которому подключена ардуина

P.S.
Утилита доступна только для CyberWrt
Admin вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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