Arduino Mega Server

Модератор: Alex

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

Re: Arduino Mega Server

Сообщение serghei » Сб ноя 11, 2017 8:47 pm

Omiroshin писал(а):... использую стандартную библиотечку для этой платы, после прочтения статьи (в ней описан баг с подвисаниями клиентов web-сервера) захотелось обойти описанный в статье баг, как это можно сделать?
Так вроде бы библиотеку исправили и переписали ? Она идет в комплекте дистрибутива.Сейчас задержка практически не ощущается. На DUE реально всё летает.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Сб ноя 11, 2017 8:53 pm

abulka писал(а):Не подскажете новичку, чем недовольна программа.
Скачал AMS.
В настройках IDE, сделал как указано.
Библиотеки не обновлял.
IDE сегодняшней версии 1.8.5
Тут скорее всего проблема с библиотеками. Сам только что поставил десятку. Настроить IDE еще не успел. Пробую скомпилировать на портабл-версии 1.8.4 под семёркой.
Для начала надо скачать и в коде переименовать библиотеку "TimeLib". О результатах отпишусь чуть позже.

PS.

Теперь понял , откуда ноги растут у TimeLib.h и почему компилятор орет на неё. Надо файлы ковырять и искать обращение к библиотеке.
В менеджере плат опустите версию для 2560 до 1.6.7 и посмотрите результат. Потом потихоньку поднимайте.
СпойлерПоказать
1.8.4.jpg
1.8.4.jpg (247.27 КБ) 6391 просмотр
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Arduino Mega Server

Сообщение nick7zmail » Пн ноя 20, 2017 9:18 am

Господа ардуинщики, помогите пожалуйста. Вчера пол вечера убил пытаясь решить просто гипер простую проблему....
Вопрос не совсем по АМС, а по ардуино коду в целом...
Суть - надо в цикле "склепать" выражение формата REL1=0.
В инете говорят надо пользоваться для этого sprintf, ибо если просто к "REL" прибавлять int - то получается херня. Рекомендуют подобное выражение

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

sprintf(req, "%s%d%s", "REL", i, "=0");//i - счетчик цикла (integer) 
Но оно тоже в req закидывает херню какую-то, и с новыми итерациями цикла вообще непойми что делает...то ли строку урезать начинает, то ли наоборот добавлять что-то. В общем если никто не ответит - скрины вечером скину...

Ну по-любому же сталкивались с таким...подскажите ответ плиз...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Пн ноя 20, 2017 11:12 am

Склепать в смысле что бы потом отправить? Тогда посмотри как это сделано в электро-модуле.
СпойлерПоказать

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

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, "u", (int)middleUPrms[U], abs(UPrms_[U]),
      "p1", (int)middleUPrms[1], abs(UPrms_[1]),  "p2", (int)middleUPrms[2], abs(UPrms_[2]),
      "p3", (int)middleUPrms[3], abs(UPrms_[3]),  "p4", (int)middleUPrms[4], abs(UPrms_[4]),
      "p5", (int)middleUPrms[5], abs(UPrms_[5]),  "p6", (int)middleUPrms[6], abs(UPrms_[6]), 
      "p7", (int)middleUPrms[7], abs(UPrms_[7]),  "p8", (int)middleUPrms[8], abs(UPrms_[8]),
      "p9", (int)middleUPrms[9], abs(UPrms_[9]),  "p10",(int)middleUPrms[10],abs(UPrms_[10]),
      "p11",(int)middleUPrms[11],abs(UPrms_[11]), "p12",(int)middleUPrms[12],abs(UPrms_[12]),
      "p13",(int)middleUPrms[13],abs(UPrms_[13]));
    #ifdef MAJORDOMO_FEATURE
      sendHttpRequest(MAJOR_IP, MAJOR_PORT, mclient);
    #endif
  }
} // sendElectroMajor( )     
И должен быть какой то буфер.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Arduino Mega Server

Сообщение nick7zmail » Пн ноя 20, 2017 1:06 pm

Не совсем...склепать, чтоб потом обратиться к этой строке (вкладка server_ajax, если правильно помню, пример с LED, где if LED1=1 then elseif LED1=0...и так далее). Как сделать тоже самое в цикле? Может я буфер неправильно объявил? Я его задал как char* req[6]; , и в него пытался грузить через sprintf...получалась дикая фигня...говорю - вечером скрины кину.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Arduino Mega Server

Сообщение ser009 » Пн ноя 20, 2017 3:35 pm

Если речь об отправке Get запросом

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

sprintf(reg, "REL%d=%d", i, value);  // i - номер в цикле, value - значение
Подробнее тут
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Arduino Mega Server

Сообщение nick7zmail » Пн ноя 20, 2017 7:06 pm

Ну ахренеть блин...
Пришел домой, думаю ща примерчик накатаю...залил скетч из 5 строчек в ардуино - работает Оо...
Вставил его в АМС - работает ОО"!

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

sprintf(req_name1, "%s%d%s", "REL", i+1, "=1"); 
Вчера реально весь вечер убил, в разных вариациях пробуя всякие команды, в том числе и эту...не работало...бред =D.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Arduino Mega Server

Сообщение nick7zmail » Ср ноя 22, 2017 5:37 pm

Alex, как гуру процессинга, подскажи плс...ещё в 14 версии пробовал это сделать - как то не вышло....ща опять пытаюсь повторить...
Я же правильно понимаю - лого слева вверху написано на процессинге?
Как там включать/отключать опции, которые в обычном коде процессинга идут в setup?

Например пытаюсь врубить noStroke(); - ни в таком виде не хочет, ни в виде context.noStroke(); не хочет. Говорит такая функция не найдена...хотя в обычном скетче для чистого процессинга врубается спокойно.

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

void setup()//------------------------------------------------------------
{
  size(64, 48, P3D);
  by = height - buttonSize;
  noStroke();
  noSmooth();
  mouseY = height * 100 / 45;
}
(выдержка из rgb_cube)
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Arduino Mega Server

Сообщение ser009 » Пт ноя 24, 2017 10:08 am

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

Re: Arduino Mega Server

Сообщение serghei » Пт ноя 24, 2017 10:13 am

У Alex не очень лестные отзывы о нем. Сейчас я пробую Open-Smmart на 3,2 дюйма с тачем. Пока все нравиться. Только калибровку тонкую надо делать.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить