Arduino Mega Server

Модератор: Alex

serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Пн фев 27, 2017 11:17 am

vladragor писал(а):Недавно обратил внимание на растущие лаги...прошу поделиться опытом...
Еще наблюдение. Сервер работает. В браузере открыта начальная страница. Не закрывая браузер , выключаем физически АМС. Остается статическая картинка . Включаем сервер. Данные через Ajax обновляются и работа продолжается. Но при этом загрузка сервера 100 % и не падает. При этом следущяя страница может вообще не открыться. Обновляем браузер - все отлично - загрузка 0 %. ( Платформа ЕСП ).
Один и тот же сервер на разных компах ( дома и на работе . Винда 7 , Опера ) на начальной странице показывают 4 и 8 %. Похоже дело не в скетче, а в том ,на чем смотришь. На планшете с Андроидом страницы открываются в 10 раз быстрее. Наверное грузятся из кэша.
А кстати как загрузка вообще измеряется ?
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Lans
Сообщения: 9
Зарегистрирован: Пн сен 26, 2016 12:11 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение Lans » Пн фев 27, 2017 9:06 pm

Когда экспериментировал с АМС на ЕСП, заметил что раз в минуту возникает лаг 10-12 секунд. Данные не обновляются, график загрузки на странице замирает, а потом быстренько на эти секунды проматывается. Закомментировал вызов cyclosInSecWork() и cyclosDelayWork() в основном скетче, лаг пропал но загрузка процессора теперь не замеряется - всегда 0.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Пн фев 27, 2017 10:17 pm

Вывел АпТайм на полноэкранное демо. На одном сервере 10 секунд обновляется каждую секунду, потом на 9 секунд замирает. На другом прыгает через 3-4 секунды и инногда замирает на 10 секунд. Это варианты без SD карты, где есть загрузка меандром. Утром посмотрю , где загрузка стоит ровно 4 %.
Платформа ЕСП и скетч сильно добавлен.
Там ,где ровная загрузка, аптайм строго прыгает через 2 - 3 секунды.

UPD. Привел код в порядок. Ажакс видит только те цифры , которые есть в скетче и передаются на страницы. Сервер полностью успокоился до 0 % . Загрузка незначительно растет только в моменты , когда в сериал выплевывается куча инфы от трех градусников в самом АМС и 14 значений от сенсора в МД. Платформа ЕСП.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Пн мар 20, 2017 10:53 pm

Вышел дистрибутив Arduino Mega Server для платы RobotDyn Mega + ESP8266 с двумя контроллерами.
Вот это сила! Пытаюсь сообразить что к чему, читаю код и горю желанием скрестить бульдога с носорогом ))) И уж если в ЕСП-ке в даш-панели есть электо модуль, то опять воскресла бредовая идея срастить Мегу и WeMos для совместной работы.
Спасибо !!
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вт мар 21, 2017 10:47 am

Вот это сила! Пытаюсь сообразить что к чему, читаю код и горю желанием скрестить бульдога с носорогом ))) И уж если в ЕСП-ке в даш-панели есть электо модуль, то опять воскресла бредовая идея срастить Мегу и WeMos для совместной работы.
Спасибо !!
Вот статья со всеми подробностями. Плата действительно совершенно замечательная, было очень приятно и интересно с ней работать.

https://geektimes.ru/post/287124/
За это сообщение автора Alex поблагодарил:
serghei (Вт мар 21, 2017 11:13 am)
Рейтинг: 1.16%
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вт мар 21, 2017 11:20 am

Ну это вообще ....без комментариев ! Так как самой платы нет в наличии, закрадывается мысль просто соединить две платы. Механизм переключений серверов расписан подробно. Одно обидно - главная хотелка ( моя ) не влезает в Мегу ((((. Даже если отключить все не используемое из переферии. ( я про электо модуль ).
Пока закажу плату , разбираюсь с протоколом обмена данными.


UPD А ведь РАБОТАЕТ на WeMos-ке с SD картой !!!! Теперь надо срочно Дуйку реанимировать )))))). Пока загнал скетч в ЕСП. Вот свободной Меги нет , обидно...
СпойлерПоказать

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

?esp=1
Request: ->   2  23 240 255   1  26   0   0   0  
Answer:  <-   5  26 240 255   0   0   0   0   0  28.0
ANSWER: 0 DONE
?esp=1
Answer:  <-   5  26 240 255   0   0   0   0   0  28.0
ANSWER: 0 DONE
?esp=1
?esp=1
?esp=1
?esp=1
Answer:  <-   5  26 240 255   0   0   0   0   0  28.0
ANSWER: 0 DONE
Answer:  <-   5  20 240 255   0   0   0   0   0  0
ANSWER: 19 DONE
Answer:  <-   5  22 240 255   0   0   0   0   0  0
ANSWER: 21 DONE
?esp=1
2017-03-21 18:38:39 Host 192.168.2.102 not connected (GET /objects/?object=packTemp7&op=m&m=update&q1=22.0&q2=24.0&q3=28.0&q4=0.0&q5=0.0&q6=40.0&q7=33.0&q8=220.2&q9=0.1&q10=0.1075893553&q11=0.0&q12=0.1080786944&q13=0.0&q14=0.0 HTTP/1.0)
?esp=1
2017-03-21 18:38:41 Host 192.168.2.102 not connected (GET /objects/?object=ncESP07&op=m&m=update&v=1)
2017-03-21 18:38:41 : 26008 (56%) -168
?esp=1
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Arduino Mega Server

Сообщение ser009 » Ср мар 22, 2017 11:06 am

Появилось немного времени. Продолжаю разбираться с проектом.
Вот простой вопрос. На вкладке ПРИМЕР AJAX в нижней части страницы есть примеры управления: чекбокс и кнопки. Но как-то странно они себя ведут относительно страницы СОСТОЯНИЕ ПОРТОВ.
Разбираюсь ...
СпойлерПоказать
Снимок.JPG
Снимок.JPG (472.68 КБ) 8329 просмотров
Последний раз редактировалось ser009 Чт мар 30, 2017 3:53 pm, всего редактировалось 1 раз.
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Arduino Mega Server

Сообщение ser009 » Пт мар 24, 2017 7:07 am

В общем разобрался с управлением.
Теперь при нажатии кнопки физически меняется и корректно отображается состояние выхода.
СпойлерПоказать
20170324_105233.jpg
20170324_105233.jpg (129.52 КБ) 8282 просмотра
СпойлерПоказать
rele1_.JPG
rele1_.JPG (112.81 КБ) 8282 просмотра
СпойлерПоказать
rele1.JPG
rele1.JPG (116.78 КБ) 8282 просмотра
Последний раз редактировалось ser009 Чт мар 30, 2017 3:53 pm, всего редактировалось 1 раз.
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Arduino Mega Server

Сообщение ser009 » Сб мар 25, 2017 2:21 pm

В DASH панели не отображается состояние PIR "KID"
Во вкладке "pirs" меняем кусок кода
СпойлерПоказать
// pir3 (KID)
pir3 = digitalRead(pir3pin);
if (pir3 == HIGH) {
if (pir3state == LOW) {
detect("KID");
pir3state = HIGH;
#ifdef MAJORDOMO_FEATURE
sendRequestM("pirKID", 1);
#endif
/*if (MODE == LED_PIR_01) {
yellow(BRIGHT);
} */
}
} else {
if (pir3state == HIGH){
endMmotion("KID");
pir3state = LOW;
#ifdef MAJORDOMO_FEATURE
sendRequestM("pirKID", 0);
#endif
#ifdef LEDS_FEATURE
//black(led1);
#endif
}
}
В файле DASH.JS закоментировать пару строчек
СпойлерПоказать
// PIR's
for (var i = 0; i < 6; i++) {
try {
var dpir = this.responseXML.getElementsByTagName(pirXml)[0].childNodes[0].nodeValue;
} catch (err) {
//dpir = "-1";
//alert('Error' + err.name + ":" + err.message + "\n" + err.stack);
}
//if (i == 2) {dpir = "-1";}
За это сообщение автора ser009 поблагодарил:
serghei (Сб мар 25, 2017 7:13 pm)
Рейтинг: 1.16%
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Сб мар 25, 2017 7:25 pm

Спасибо в очередной раз! Реально полезное дело. Осталось разобраться с синхронизацией времени. В настройках этернета указал все правильно. Все сервера на ЕСП получают время без проблем. Но в Меге другой код ( через IP ). Менял кучу адресов NTP - не помогает. Тот адрес, что указан в дистрибутиве из Молдовы пингуется, но время ожидания ответа превышает все нормы.
И еще прошу совета. Запустил связку двух АМС на Меге и WeMos_D1_mini в расширенной версии. Надо создать отдельную тему для обсуждения или корректно продолжать в теме про плату Robot Dyn ?
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить