Использование системы в различных ситуациях, вопросы программирования сценариев.
Модератор: immortal
-
Antilox
- Сообщения: 17
- Зарегистрирован: Чт май 21, 2015 7:29 pm
-
Благодарил (а):
5 раз
-
Поблагодарили:
0
Сообщение
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 раз
Сообщение
flair » Чт мар 10, 2016 11:15 pm
Код: Выделить всё
// Включение света
int current_d38=current_d36; <<<<<< - тут 36? должно быть?
digitalWrite(38, current_d38);
if (current_d38!=(int)old_d38
вроде как лучше вынести за условия
-
Antilox
- Сообщения: 17
- Зарегистрирован: Чт май 21, 2015 7:29 pm
-
Благодарил (а):
5 раз
-
Поблагодарили:
0
Сообщение
Antilox » Чт мар 10, 2016 11:24 pm
Да, там должно быть D36.
И нет, к сожалению не помогает. Как выяснилось, проблема возникает именно когда два или более гет-запроса
-
flair
- Сообщения: 198
- Зарегистрирован: Сб янв 16, 2016 12:18 am
- Откуда: Минск
-
Благодарил (а):
16 раз
-
Поблагодарили:
15 раз
Сообщение
flair » Чт мар 10, 2016 11:30 pm
у меня их тьма) дайте весь скетч
как то не пойму алгоритма...( видно глуп))) - зачем преобразования в условии? вроде же они обявлены(переменные). да и в гете они не нужны - данные - только 0 или 1...
Последний раз редактировалось
flair Чт мар 10, 2016 11:34 pm, всего редактировалось 1 раз.
-
Antilox
- Сообщения: 17
- Зарегистрирован: Чт май 21, 2015 7:29 pm
-
Благодарил (а):
5 раз
-
Поблагодарили:
0
Сообщение
Antilox » Чт мар 10, 2016 11:34 pm
Дык в 1 посте и есть весь скетч))
-
flair
- Сообщения: 198
- Зарегистрирован: Сб янв 16, 2016 12:18 am
- Откуда: Минск
-
Благодарил (а):
16 раз
-
Поблагодарили:
15 раз
Сообщение
flair » Чт мар 10, 2016 11:35 pm
а так Вы просто пишете в сериал монитор...
-
flair
- Сообщения: 198
- Зарегистрирован: Сб янв 16, 2016 12:18 am
- Откуда: Минск
-
Благодарил (а):
16 раз
-
Поблагодарили:
15 раз
Сообщение
flair » Чт мар 10, 2016 11:42 pm
он как бы работать и не должен...
-
Antilox
- Сообщения: 17
- Зарегистрирован: Чт май 21, 2015 7:29 pm
-
Благодарил (а):
5 раз
-
Поблагодарили:
0
Сообщение
Antilox » Чт мар 10, 2016 11:44 pm
Не понял... Что пишу? куда пишу?....
Кусок //MOVEMENT 1 SENSOR от куска // Включение света вроде не особо отличается, но первый проходит на ура, а при добавлении второго тоже проходит, но тормозит. Ткните пальцем, пожалуйста.
-
Antilox
- Сообщения: 17
- Зарегистрирован: Чт май 21, 2015 7:29 pm
-
Благодарил (а):
5 раз
-
Поблагодарили:
0
Сообщение
Antilox » Чт мар 10, 2016 11:46 pm
Или вы имеете ввиду Е-шилд? Так нету его. ЮСБ и arduino_gw от разработчика
-
flair
- Сообщения: 198
- Зарегистрирован: Сб янв 16, 2016 12:18 am
- Откуда: Минск
-
Благодарил (а):
16 раз
-
Поблагодарили:
15 раз
Сообщение
flair » Чт мар 10, 2016 11:54 pm
сори пишу с телефона поэтому скомкано) вторая часть кода (вкл света ) идет в цикле . кмк надо через условие.... если терпит... завтра посмотрю с компа.... если сильно надо в моих постах есть скетч полностью рабочий... его немного подправить и пойдет там логика верная