Arduino Gateway тормозит

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Antilox
Сообщения: 17
Зарегистрирован: Чт май 21, 2015 7:29 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Arduino Gateway тормозит

Сообщение Antilox » Чт мар 10, 2016 10:09 pm

Добрый день!

Имею проблему.
Код на ардуине с одним гет-запросом отрабатывает красиво и быстро, но при добавлении второго любого гет-запроса (как в примере) Arduino Gateway начинает тормозить пострашному и зависать.
В чем может быть причина?
СпойлерПоказать

Код: Выделить всё

int old_d36=0;
int old_d38=0;
char buf[80];

#include <string.h>

// Функция отправки HTTP-запроса на сервер 
///////////////////////////////////
void sendHTTPRequest() 
{
  Serial.println(buf); 
}
///////////////////////////////////

void setup()
{
 pinMode(36, INPUT); // Датчик движения
 old_d36=digitalRead(36);
 Serial.begin(115200); // Скорость консольного порта 115200
 pinMode(38, OUTPUT);
}

///////////////////////////////////
void loop()
{   
//////////////////////////////////
 //MOVEMENT 1 SENSOR
 int current_d36=digitalRead(36); // считываем состояние дискретного входа D36 и записываем данные в массив current_D36
  if (current_d36!=(int)old_d36)   // если значение current_D36 неравно old_D36 
  {
         sprintf(buf, "GET /objects/?object=PIRToilet&op=m&m=statusChanged&status=%i", (int)current_d36);
         sendHTTPRequest();
         old_d36=current_d36;   
  }
/////////////////////////////////

// Включение света
 int current_d38=current_d36;
 digitalWrite(38, current_d38);
   if (current_d38!=(int)old_d38)
   {
    sprintf(buf, "GET /objects/?object=MEDO38&op=m&m=statusChanged&status=%i", (int)current_d38);
    sendHTTPRequest();
    old_d38=current_d38;
   }

}
 
flair
Сообщения: 198
Зарегистрирован: Сб янв 16, 2016 12:18 am
Откуда: Минск
Благодарил (а): 16 раз
Поблагодарили: 15 раз

Re: Arduino Gateway тормозит

Сообщение flair » Чт мар 10, 2016 11:15 pm

Код: Выделить всё

// Включение света
 int current_d38=current_d36; <<<<<< - тут 36? должно быть?
 digitalWrite(38, current_d38);
   if (current_d38!=(int)old_d38

Код: Выделить всё

 old_d38=current_d38; 
вроде как лучше вынести за условия
Antilox
Сообщения: 17
Зарегистрирован: Чт май 21, 2015 7:29 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Arduino Gateway тормозит

Сообщение Antilox » Чт мар 10, 2016 11:24 pm

Да, там должно быть D36.
И нет, к сожалению не помогает. Как выяснилось, проблема возникает именно когда два или более гет-запроса
flair
Сообщения: 198
Зарегистрирован: Сб янв 16, 2016 12:18 am
Откуда: Минск
Благодарил (а): 16 раз
Поблагодарили: 15 раз

Re: Arduino Gateway тормозит

Сообщение flair » Чт мар 10, 2016 11:30 pm

у меня их тьма) дайте весь скетч
как то не пойму алгоритма...( видно глуп))) - зачем преобразования в условии? вроде же они обявлены(переменные). да и в гете они не нужны - данные - только 0 или 1...
Последний раз редактировалось flair Чт мар 10, 2016 11:34 pm, всего редактировалось 1 раз.
Antilox
Сообщения: 17
Зарегистрирован: Чт май 21, 2015 7:29 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Arduino Gateway тормозит

Сообщение Antilox » Чт мар 10, 2016 11:34 pm

Дык в 1 посте и есть весь скетч))
flair
Сообщения: 198
Зарегистрирован: Сб янв 16, 2016 12:18 am
Откуда: Минск
Благодарил (а): 16 раз
Поблагодарили: 15 раз

Re: Arduino Gateway тормозит

Сообщение flair » Чт мар 10, 2016 11:35 pm

а так Вы просто пишете в сериал монитор...
flair
Сообщения: 198
Зарегистрирован: Сб янв 16, 2016 12:18 am
Откуда: Минск
Благодарил (а): 16 раз
Поблагодарили: 15 раз

Re: Arduino Gateway тормозит

Сообщение flair » Чт мар 10, 2016 11:42 pm

он как бы работать и не должен...
Antilox
Сообщения: 17
Зарегистрирован: Чт май 21, 2015 7:29 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Arduino Gateway тормозит

Сообщение Antilox » Чт мар 10, 2016 11:44 pm

Не понял... Что пишу? куда пишу?....
Кусок //MOVEMENT 1 SENSOR от куска // Включение света вроде не особо отличается, но первый проходит на ура, а при добавлении второго тоже проходит, но тормозит. Ткните пальцем, пожалуйста.
Antilox
Сообщения: 17
Зарегистрирован: Чт май 21, 2015 7:29 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Arduino Gateway тормозит

Сообщение Antilox » Чт мар 10, 2016 11:46 pm

Или вы имеете ввиду Е-шилд? Так нету его. ЮСБ и arduino_gw от разработчика
flair
Сообщения: 198
Зарегистрирован: Сб янв 16, 2016 12:18 am
Откуда: Минск
Благодарил (а): 16 раз
Поблагодарили: 15 раз

Re: Arduino Gateway тормозит

Сообщение flair » Чт мар 10, 2016 11:54 pm

сори пишу с телефона поэтому скомкано) вторая часть кода (вкл света ) идет в цикле . кмк надо через условие.... если терпит... завтра посмотрю с компа.... если сильно надо в моих постах есть скетч полностью рабочий... его немного подправить и пойдет там логика верная
Ответить