Arduino Mega Server
Модератор: Alex
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
> А то мне уже неудобно тебя беспокоить.
Ничего страшного, чем смогу — помогу.
> Но никакой реакции не даёт, будто команды не принимаются вообще.
Правильно, теперь вставляем маркер между
if (command.indexOf("rele4") >= 0) {
---> <---
if (parameter.indexOf("1") >= 0) {
и анализируем результат. И так далее. Проблема будет точно идентифицирована через несколько итераций.
> Думаю придётса писать свою функцию для парсинга
Хорошая идея. Возможно ваш парсинг будет лучше.
Ничего страшного, чем смогу — помогу.
> Но никакой реакции не даёт, будто команды не принимаются вообще.
Правильно, теперь вставляем маркер между
if (command.indexOf("rele4") >= 0) {
---> <---
if (parameter.indexOf("1") >= 0) {
и анализируем результат. И так далее. Проблема будет точно идентифицирована через несколько итераций.
> Думаю придётса писать свою функцию для парсинга
Хорошая идея. Возможно ваш парсинг будет лучше.
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
Добавил (оригинальные) графики реального времени. Автоматическая настройка на максимальную величину и вывод текущего значения. Исходные коды будут в очередном «релизе».
- Вложения
-
- графики
- gr.png (13.95 КБ) 20737 просмотров
- Рейтинг: 2.33%
-
- Сообщения: 130
- Зарегистрирован: Пн окт 28, 2013 5:06 pm
- Откуда: Молдова
- Благодарил (а): 11 раз
- Поблагодарили: 10 раз
Re: Arduino Mega Server
Алекс Пасиб за идею с маркерами, я выявил где была ошибка у тебя.
Надо было заменить просто этот символ ? на этот & в функции:
Шас запрос выглядит так:
У тебя ведь модуль Server_ajax начинает парсить только если присутствует & на другие символы он не реагирует.
Но зато я много уже понял в твоём коде ))
Надо было заменить просто этот символ ? на этот & в функции:
Код: Выделить всё
void parseCommands(EthernetClient cl) {
int posBegin;
int posEnd;
int posParam;
if (request.indexOf("&") >= 0) {
posBegin = request.indexOf("&") + 1;
posEnd = request.indexOf("HTTP");
if (request.indexOf("=") >= 0) {
posParam = request.indexOf("=");
command = request.substring(posBegin, posParam);
parameter = request.substring(posParam + 1, posEnd - 1);
} else {
command = request.substring(posBegin, posEnd - 1);
parameter = "";
}
// Serial.print("command: "); Serial.println(command);
// Serial.print("parameter: "); Serial.println(parameter);
setKey();
setNightLed();
setColorLed();
// erase request
request = "";
} //if (url.indexOf("?") >= 0)
} // parseCommands
Код: Выделить всё
getURL("http://192.168.2.37/&rele4=1", 0);
Но зато я много уже понял в твоём коде ))
Последний раз редактировалось annakin Вс июл 12, 2015 5:47 pm, всего редактировалось 1 раз.
Server: Raspberry Pi 3 B+
OS: Rasbian
OS: Rasbian
-
- Сообщения: 130
- Зарегистрирован: Пн окт 28, 2013 5:06 pm
- Откуда: Молдова
- Благодарил (а): 11 раз
- Поблагодарили: 10 раз
Re: Arduino Mega Server
Как я понимаю у тебя такие штуки стоят на каждом устройстве с которого нужно считать данные:Alex писал(а):Добавил (оригинальные) графики реального времени. Автоматическая настройка на максимальную величину и вывод текущего значения. Исходные коды будут в очередном «релизе».
http://www.aliexpress.com/item/Free-Shi ... 04935.html
Server: Raspberry Pi 3 B+
OS: Rasbian
OS: Rasbian
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
> я выявил где была ошибка у тебя. Надо было заменить просто этот символ ? на этот & в функции:
Странно, как же у меня всё работало с вопросительными знаками? В любом случае спасибо, как буду разбираться с этим модулем — проверю по-подробнее.
> Как я понимаю у тебя такие штуки стоят на каждом устройстве с которого нужно считать данные:
// 1 2 3 4 5 1 2 3 4 5 6 7 8
double ICAL[] = {0, 1.35, 1.28, 0.73, 0.73, 1.28, 0.72, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73};
Такие только те, у которых коэффициенты больше единицы, другие маркировку уже не вспомню, но это не принципиально.
Странно, как же у меня всё работало с вопросительными знаками? В любом случае спасибо, как буду разбираться с этим модулем — проверю по-подробнее.
> Как я понимаю у тебя такие штуки стоят на каждом устройстве с которого нужно считать данные:
// 1 2 3 4 5 1 2 3 4 5 6 7 8
double ICAL[] = {0, 1.35, 1.28, 0.73, 0.73, 1.28, 0.72, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73};
Такие только те, у которых коэффициенты больше единицы, другие маркировку уже не вспомню, но это не принципиально.
-
- Сообщения: 130
- Зарегистрирован: Пн окт 28, 2013 5:06 pm
- Откуда: Молдова
- Благодарил (а): 11 раз
- Поблагодарили: 10 раз
Re: Arduino Mega Server
Привет Алекс и снова я к тебе с вопросом.
Заметил такой баг.
После 15 минут гдето AMS перестаёт принимать команды на включение реле.
И в Мониторе Порта постоянно пишет вот это:
Что за 192.68.0.10 ?
У меня этот IP нигде не прописан.
Может из за этого АМС перестаёт отвечать за просы ?
Заметил такой баг.
После 15 минут гдето AMS перестаёт принимать команды на включение реле.
И в Мониторе Порта постоянно пишет вот это:
Код: Выделить всё
GET /request_generic&nocache=4198 HTTP/1.1
Host: 192.168.0
GET /request_dash&nocache=5078 HTTP/1.1
Host: 192.168.0.10
GET /request_generic&nocache=4246 HTTP/1.1
Host: 192.168.0
GET /request_dash&nocache=6680 HTTP/1.1
Host: 192.168.0.10
GET /request_generic&nocache=8496 HTTP/1.1
Host: 192.168.0
GET /request_dash&nocache=2560 HTTP/1.1
Host: 192.168.0.10
GET /request_generic&nocache=4286 HTTP/1.1
Host: 192.168.0
GET /request_dash&nocache=1892 HTTP/1.1
Host: 192.168.0.10
GET /request_generic&nocache=5559 HTTP/1.1
Host: 192.168.0
GET /request_dash&nocache=8018 HTTP/1.1
Host: 192.168.0.10
GET /request_generic&nocache=2219 HTTP/1.1
Host: 192.168.0
GET /request_dash&nocache=4068 HTTP/1.1
Host: 192.168.0.10
GET /request_dash&nocache=4499 HTTP/1.1
Host: 192.168.0.10
GET /request_generic&nocache=9214 HTTP/1.1
Host: 192.168.0
GET /request_dash&nocache=5516 HTTP/1.1
Host: 192.168.0.10
GET /request_generic&nocache=2459 HTTP/1.1
Host: 192.168.0
GET /request_dash&nocache=1958 HTTP/1.1
Host: 192.168.0.10
GET /request_generic&nocache=3558 HTTP/1.1
Host: 192.168.0
GET /request_dash&nocache=1075 HTTP/1.1
Host: 192.168.0.10
У меня этот IP нигде не прописан.
Может из за этого АМС перестаёт отвечать за просы ?
Server: Raspberry Pi 3 B+
OS: Rasbian
OS: Rasbian
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
> Заметил такой баг
Вот это уже интересно.
Я столкнулся с такой проблемой: пока интенсивность Ajax обмена была невысокой — всё работало нормально. Потом вдруг заметил, что через некоторое время обмен «замораживается». Попытка выяснить в чём проблема в JavaScript-е или в Ардуине не увенчалась успехом, причём иногда обмен возобновляется по неизвестным причинам и также внезапно прекращается опять. То есть ничто не «виснет», причина в чём-то другом.
Попутно столкнулся с непонятным мне явлением: когда закрываешь браузер, то Ajax запросы продолжают сыпаться (судя по сериал монитору) ещё несколько минут. Откуда?!
С проблемой 192.168.0.10 и 192.168.0 не сталкивался (или не замечал). В общем этот «затык» с заморозкой требует решения и стоит в первых строчках TODO. Мне бы самому хотелось разобраться с этим вопросом и избавиться от этого неприятного глюка...
Вот это уже интересно.
Я столкнулся с такой проблемой: пока интенсивность Ajax обмена была невысокой — всё работало нормально. Потом вдруг заметил, что через некоторое время обмен «замораживается». Попытка выяснить в чём проблема в JavaScript-е или в Ардуине не увенчалась успехом, причём иногда обмен возобновляется по неизвестным причинам и также внезапно прекращается опять. То есть ничто не «виснет», причина в чём-то другом.
Попутно столкнулся с непонятным мне явлением: когда закрываешь браузер, то Ajax запросы продолжают сыпаться (судя по сериал монитору) ещё несколько минут. Откуда?!
С проблемой 192.168.0.10 и 192.168.0 не сталкивался (или не замечал). В общем этот «затык» с заморозкой требует решения и стоит в первых строчках TODO. Мне бы самому хотелось разобраться с этим вопросом и избавиться от этого неприятного глюка...
-
- Сообщения: 130
- Зарегистрирован: Пн окт 28, 2013 5:06 pm
- Откуда: Молдова
- Благодарил (а): 11 раз
- Поблагодарили: 10 раз
Re: Arduino Mega Server
Я К примеру не пользуюсь веб сервером АМС я управляю Ардуиной из Алисы.
Почему я выбрал твою разработку потому что мне нравятся построение функции и модульной системы.
Шас тоже буду разбираться почему сервер АМС замораживается и перестаёт отвечать на команды.
Но у тебя шансов больше выявить проблему так как код твой ))
Но в любом случае буду держать в курсе если что.
Почему я выбрал твою разработку потому что мне нравятся построение функции и модульной системы.
Шас тоже буду разбираться почему сервер АМС замораживается и перестаёт отвечать на команды.
Но у тебя шансов больше выявить проблему так как код твой ))
Но в любом случае буду держать в курсе если что.
Server: Raspberry Pi 3 B+
OS: Rasbian
OS: Rasbian
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
Рано или поздно
разберёмся. Для начала неплохо было бы понять проблема на стороне браузера или на стороне Ардуино и с какого света сыплются запросы от убитого браузера.
))


-
- Сообщения: 130
- Зарегистрирован: Пн окт 28, 2013 5:06 pm
- Откуда: Молдова
- Благодарил (а): 11 раз
- Поблагодарили: 10 раз
Re: Arduino Mega Server
У меня такого нету, я работаю в Хроме 43. И При закрытии Хрома запросы от Ajax прекращаются сразу.Попутно столкнулся с непонятным мне явлением: когда закрываешь браузер, то Ajax запросы продолжают сыпаться (судя по сериал монитору) ещё несколько минут. Откуда?!
А по поводу заморозки АМС, я начал одключать один за одним модули и посмотрим какой даёт збой.
Вот что я заметил, на команду о включении реле он не отвечает, но темперутару с датчиком он считывает и шлёт Алисе.
Значит затык гдето в функциях.
Server: Raspberry Pi 3 B+
OS: Rasbian
OS: Rasbian