Страница 304 из 328

Re: Arduino Mega Server

Добавлено: Сб янв 19, 2019 5:37 pm
serghei
Тут скорее всего разговор про стандартную библиотеку SD , но применительно к ESP32. Что то можно сделать в коде , что то на странице.

Re: Arduino Mega Server

Добавлено: Пн янв 28, 2019 10:04 am
Ja_rus
Здравствуйте, кто-то может объяснить, как тут все работает v 0.17 для Mega2560. Конкретно интересует, как переменная о том. что нажата кнопка (чекбокс) попадает в файл .ino Приведите пожалуйста пример всей последовательности, выдержки кода с пояснениями (веб, скрипт, код ардуино) подобно примеру: как добавить дополнительный датчик температуры на dash-панель. Спасибо.

Re: Arduino Mega Server

Добавлено: Пн янв 28, 2019 10:22 am
serghei
Приветствуем. Только вечером когда буду дома.

Re: Arduino Mega Server

Добавлено: Пн янв 28, 2019 11:31 am
ser009
Ja_rus писал(а):
Пн янв 28, 2019 10:04 am
...как тут все работает v 0.17 для Mega2560
на странице HTML
СпойлерПоказать

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

          <h3>Чекбоксы</h3>
          <form id="check_LEDs" name="LED_form">
            <input type="checkbox" name="LED1" value="0" onclick="GetCheckboxes()" /> D6<br /><br>
            <input type="checkbox" name="LED2" value="0" onclick="GetCheckboxes()" /> D7<br /><br>
          </form>
при нажатии выполняется функция GetCheckboxes() меняя значения strLED1
СпойлерПоказать

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

function GetCheckboxes() {
  if (LED_form.LED1.checked) {strLED1 = '&LED1=1';}
                        else {strLED1 = '&LED1=0';}
  if (LED_form.LED2.checked) {strLED2 = '&LED2=1';}
                        else {strLED2 = '&LED2=0';}
}
Далее значения отправляются каждые 2100 мсек
СпойлерПоказать

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

  request.open('GET', 'reqGeneric' + strLED1 + strLED2 + strLED3 + strLED4 + randomNoCache(), true);
  request.send(null);
  setTimeout('getGeneric()', 2100);
на стороне Arduino. Вкладка server_ajax. Запрос обрабатывается
СпойлерПоказать

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

else if (StrContains(HTTP_req, "reqGeneric"))      {sendXmlAnswer(cl); setGeneric();     respGeneric(cl);}
Далее выполняется функция setGeneric()
СпойлерПоказать

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

void setGeneric() {
  // D3
  if (StrContains(HTTP_req, "LED4=1")) {
    LED_state[3] = 1;
    digitalWrite(3, HIGH);
  } else if (StrContains(HTTP_req, "LED4=0")) {
      LED_state[3] = 0;
      digitalWrite(3, LOW);
    }
  // D5
  if (StrContains(HTTP_req, "LED3=1")) {
    LED_state[2] = 1;
    digitalWrite(5, HIGH);
  } else if (StrContains(HTTP_req, "LED3=0")) {
      LED_state[2] = 0;
      digitalWrite(5, LOW);
    }
  // D6
  if (StrContains(HTTP_req, "LED1=1")) {
    LED_state[0] = 1;  // save LED state
    digitalWrite(6, HIGH);
  } else if (StrContains(HTTP_req, "LED1=0")) {
      LED_state[0] = 0;  // save LED state
      digitalWrite(6, LOW);
    }

  // D7
  if (StrContains(HTTP_req, "LED2=1")) {
    LED_state[1] = 1;
    digitalWrite(7, HIGH);
  } else if (StrContains(HTTP_req, "LED2=0")) {
      LED_state[1] = 0;
      digitalWrite(7, LOW);
    }
} // SetGeneric()

Re: Arduino Mega Server

Добавлено: Пн янв 28, 2019 11:54 am
alexsis_76
а что сама GetCheckboxes() не может инициировать запрос, зачем ждать 2100 мс если запрос можно послать немедленно, т.е. при нажатии на кнопку нужно будет подождать 2 сек

Re: Arduino Mega Server

Добавлено: Пн янв 28, 2019 12:03 pm
ser009
Может конечно.

Re: Arduino Mega Server

Добавлено: Пн янв 28, 2019 12:36 pm
alexsis_76
Так это надо немедленно переделать

Re: Arduino Mega Server

Добавлено: Вт янв 29, 2019 9:31 am
Ja_rus
Здравствуйте, за объяснение принципа работы чекбокса ser009 огромное спасибо. Пытался изменить IP с веб страницы, я так понимаю на вебе все и заканчивается, зачем столько "пустых" страниц которые ничего не делают...

Re: Arduino Mega Server

Добавлено: Вт янв 29, 2019 9:44 am
ser009
Это пример.

Re: Arduino Mega Server

Добавлено: Вт янв 29, 2019 10:01 am
serghei
90 % кода AMS это работа в браузере. А в дистрибутиве на " пустых" страницах показано как и что можно сделать с теми данными что отправляет Мега. Все они конечно не нужны. Но можно переделать " под себя".