Страница 84 из 119
Re: Arduino Mega Server для esp8266
Добавлено: Чт фев 02, 2017 11:42 am
alexsis_76
Так кто её собирает? Скрипт на карте или код в ЕСП
код в ЕСП
ты собственно кусок привел
void responseDash(WiFiClient cl) {
String s = tagXmlVersion();
s += "\n<inputs>\n"; // В ранних версиях
s += makeModules();
s += makeTag("auth", "", String(authMode));
s += makeTag("uptime", "", uptimeString());
s += makeTag("freeRAM", "", String(freeMem()));
Re: Arduino Mega Server для esp8266
Добавлено: Чт фев 02, 2017 12:33 pm
serghei
На работе на другом компе все нормально запустилось..... Чудеса да и только....Видно винда съезжает потихоньку.
Анн нет. Включил комп, зашел на страницу NRF24 . Все отобразилось. Перегрузил страницу и опять пропало. Похоже это кеш браузера балуется?
Re: Arduino Mega Server для esp8266
Добавлено: Ср фев 08, 2017 6:20 pm
serghei
vladragor писал(а):Вопрос по авторизации в АМС кто разобрался.
АМС в связке с МД
если заходишь на АМС в браузере все норм запросило пароль и все дальше работаем.....
В очередной раз предпринял попытку воткнуть Электромодуль в ЕСП. Я понимаю, что "родной" работать не будет , но сделал с единственной целью - научиться передавать 6 значений температур , счетчиков и влажности с сенсора (через.....получаеся). Сам АМС подключен к МД и отправляет свой статус и свои температуры нормально. А вот когда я захожу в браузер АМС опять выползла страница авторизации. Выключаю элекромодуль - все нормально. Я не могу понять - кто это так гадит ))) - АМС , Алиса или мой роутер? Никакие пароли никуда не ставил и ни одна комбинация не подходит.
Рано или поздно я конечно вырежу процедуру передачи данных и сделаю автономной. А за одно и попутный вопрос скорее к пользователям МД. Температуры передаются каждая отдельным запросом. А 14 электо параметров одним. Как правильнее с точки зрения дальнейшей обработки значений в МД ? Мой " консультант" и учитель передает по одному . Какие подводные камни будут впереди?
PS..Только сейчас дошло ,когда увидел картинку, почему ругается браузер и как привязать наше число к спидометру через Jquery библиотеки......

- serial_MD.jpg (258.51 КБ) 7805 просмотров
Re: Arduino Mega Server для esp8266
Добавлено: Ср фев 08, 2017 6:47 pm
Alex
Температуры передаются каждая отдельным запросом. А 14 электо параметров одним. Как правильнее с точки зрения дальнейшей обработки значений в МД
Наверное уже в пятый или шестой раз пишу — у М есть ахиллесова пята — когда данные поступают чаще, чем раз в 10 секунд потоком, он начинает тормозить, а когда раз в 5 секунд, то вообще загрузка повышается до 80-90 процентов.
С этой точки зрения лучше посылать пакетом. Распаковка всех 14-и значений не вызывает у М никаких проблем.
Re: Arduino Mega Server для esp8266
Добавлено: Пт фев 17, 2017 1:10 pm
serghei
В общем разобрался я с авторизацией. При переносе вкладки Электро и добавлении в Ажаксе пропустил один запрос HTTP. И конечно браузер получает 503 ошибку и начинает ругаться )). Теперь 14 данных можно сливать на МД одним запросом.Думается , что если продолжить код , то можно сколько угодно цифр передавать.
Теперь стоит другая проблема - плиточный интерфейс. Простое добавление данных и подгонка под квадратики на заднем плане в корне не верна. При смене монитора все порушится.
Не понятно , почему вообще тема АМС на ЕСП заглохла. Либо никому не интересно , либо все в шоколаде - а это далеко не так. Даже мне с нулевыми знаниями удалось нормально запустить 4 версии серверов на SD карте и чистом модуле , nrf24 с мульти сенсорами.
Alex А вообще планируется " портация " 016 версии на ЕСП , хотя бы в части плиточного интерфейса? Я сейчас пытаюсь перенести код , но загвоздка в server_maker. Выскакивают ошибки компиляции. Код вставить не получается - превышен лимит на форуме , а что то удалять не спортивно.
Re: Arduino Mega Server для esp8266
Добавлено: Пт фев 17, 2017 1:27 pm
Alex
Alex А вообще планируется " портация " 016 версии на ЕСП , хотя бы в части плиточного интерфейса? Я сейчас пытаюсь перенести код , но загвоздка в server_maker. Выскакивают ошибки компиляции. Код вставить не получается - превышен лимит на форуме , а что то удалять не спортивно.
Планируется постепенное улучшение всех версий АМС, но всё тормозится из-за моей загруженности. С другой стороны, все текущие версии АМС являются стабильными, на их основе можно разрабатывать любые проекты и я не считаю их обновление первостепенной задачей.
Форум последнее время колбасит неподетски — даже я, как администратор, с трудом могу на него зайти.
Re: Arduino Mega Server для esp8266
Добавлено: Вт мар 07, 2017 8:56 am
serghei
Приветствую Всех. Ребята , помогите разобраться с передачей значений с сенсора одним пакетом в МД. Цель - передать 14 данных , полученных с сенсора ( и рассчитанные АМС ) на сервер МД. Код заимствовал из модуля "электро". Для этого просто его подключил в проект. Заменил значения мощности на свои температуры , расход воды и напряжение батарейки. Я понимаю, что это не правильно и избыточно , но по другому пока не знаю как. Что сделал :
1 Так как серверов много , у каждого изменил название пакета
Код: Выделить всё
void electroWorks() {
getUIP("packTemp8", START_PIN, END_PIN, samples);
}
2 У каждого сервера изменил названия переменных в пакете
Код: Выделить всё
void sendElectroMajor(char obj[], byte STT, byte STP) {
// для посылки дробной части значения
int UPrms_[MAX_UI_SENSORS];
// Вычисляем дробные части значений для формирования строки
UPrms_[U] = (middleUPrms[U] - (int)middleUPrms[U]) * 100;
for (int i = STT; i < STP; i++) {
UPrms_[i] = (middleUPrms[i] - (int)middleUPrms[i]) * 100;
}
if (STT == START_PIN && STP == END_PIN) {
sprintf(buf, "GET /objects/?object=%s&op=m&m=update&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d HTTP/1.0",
obj, "c1", (int)middleUPrms[U], abs(UPrms_[U]),
"c2", (int)middleUPrms[1], abs(UPrms_[1]),
"c3", (int)middleUPrms[2], abs(UPrms_[2]),
"c4", (int)middleUPrms[3], abs(UPrms_[3]),
"c5", (int)middleUPrms[4], abs(UPrms_[4]),
"c6", (int)middleUPrms[5], abs(UPrms_[5]),
"c7", (int)middleUPrms[6], abs(UPrms_[6]),
"c8", (int)middleUPrms[7], abs(UPrms_[7]),
"c9", (int)nrf1Battery, abs(0),
"c10",(int)nrf1Temp1, abs(0),
"c11",(int)nrf1Temp2,abs(0),
"c12",(int)nrf1DHThum, abs(0),
"c13",(int)nrf1Vol1, abs(0),
"c14",(int)nrf1Vol2, abs(0));
#ifdef MAJORDOMO_FEATURE
sendHttpRequest(MAJOR_IP, MAJOR_PORT, mclient);
#endif
}
} // sendElectroMajor( )
3 Конечно прописал в МД связь всех серверов и вижу значения , историю и самое главное для меня "SteelSeries".
Я понимаю, что это дико не правильно , и прошу помощи разобраться.
1 Как вырезать код sprintf(buf, "GET /objects/? из условия if и сделать его самостоятельным ?
2 Куда вообще его вставить , если надо передавать значения с сенсора ?
Температура nrf1Temp1 имеет 2 знака после запятой. Как рассчитать и передать , я сообразил. Т.к. это вода - то минус это нонсенс ( хотя не факт)
Влажность nrf1DHThum всегда целое и положительное.
Напряжение батареи то же целое и положительное
Расход воды так же целое и максимально 32 000 литров ( другой сервер считает импульсы электросчетчиков )
Как вообще это окультурить и сделать правильно ?
Да , все это крутится на платформе ESP.
Re: Arduino Mega Server для esp8266
Добавлено: Вт мар 07, 2017 9:00 am
nick7zmail
Такое кол-во данных проще сформировать в json строку, а в МД - скрипт, забирающий данные...я кому-то уже рассказывал, как это делается, могу поискать по форуму.
Re: Arduino Mega Server для esp8266
Добавлено: Вт мар 07, 2017 9:02 am
nick7zmail
Вот, нашел тему, там всего 7 страниц - почитай))
viewtopic.php?f=4&t=3145
Собственно конкретный вариант решения
viewtopic.php?p=37509#p37509
Re: Arduino Mega Server для esp8266
Добавлено: Вт мар 07, 2017 9:26 am
serghei
Спасибо ! Обязательно почитаю. Просто тут уже все готово и работает идеально. АМС вообще не чувствует загрузки, когда выплевывает строку. При передаче трех температур отдельно + своё состояние останавливается на пару секунд.
PS. Вот только стало понятно , как работает связка АМС и МД, как надо переделывать все по новому...