Arduino Mega Server
Модератор: Alex
-
- Сообщения: 792
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
-
- Сообщения: 18
- Зарегистрирован: Вс фев 05, 2017 2:19 pm
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
- Контактная информация:
Re: Arduino Mega Server
Знать бы ещё, как заставить его работать...alexsis_76 писал(а):у вас парсер не работает скорей всего.
Сунул реле просто в модуль LED и на чекбоксах вроде начало всё работать.
Решил слегка переделать под box-control на кнопках и... Всё опять пошло как-то не так.
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5
Уровень знаний: Пещерный человек
Windows 10
IDE 1.6.5
Уровень знаний: Пещерный человек
-
- Сообщения: 792
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: Arduino Mega Server
void parseRequest(EthernetClient cl) {
allowMarkers = false;
// index request
if (StrContains(HTTP_req, "GET / ") || StrContains(HTTP_req, "GET /index.htm")) {
if (openIndexFile(partSuffix(currentDesign))) {sendHtmlAnswer(cl);} else {webFile = SD.open(F("404.htm"));}
allowMarkers = true;
}
else if (StrContains(HTTP_req, GET)) {
// files requests
if (StrContains(HTTP_req, HTM_EXT)) {if (openWebFile()) {sendHtmlAnswer(cl);} else {webFile = SD.open(F("404.htm"));} allowMarkers = true;}
else if (StrContains(HTTP_req, ".css")) {if (openWebFile()) {sendCssAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".js")) {if (openWebFile()) {sendJsAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".pde")) {if (openWebFile()) {sendJsAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".png")) {if (openWebFile()) {sendPngAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".jpg")) {if (openWebFile()) {sendJpgAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".gif")) {if (openWebFile()) {sendGifAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".ico")) {if (openWebFile()) {sendIcoAnswer(cl);} else {sendErrorAnswer("", cl);}}
// Ajax requests
else if (StrContains(HTTP_req, "request_dash")) {sendXmlAnswer(cl); checkPage(); responseDash(cl);}
else if (StrContains(HTTP_req, "request_generic")) {sendXmlAnswer(cl); setLeds(); responseGeneric(cl);}
else if (StrContains(HTTP_req, "request_settings")){sendXmlAnswer(cl); setSettings(); responseSettings(cl);}
else if (StrContains(HTTP_req, "request_themes")) {sendXmlAnswer(cl); setTheme(); responseThemes(cl);}
else if (StrContains(HTTP_req, "request_control")) {sendXmlAnswer(cl); setControl(); responseControl(cl);}
else if (StrContains(HTTP_req, "request_noo")) {sendXmlAnswer(cl); setNoo(); responseNoo(cl);}
else if (StrContains(HTTP_req, "request_mr1132")) {sendXmlAnswer(cl); setMr1132(); responseMr1132(cl);}
else if (StrContains(HTTP_req, "req_el_control")) {sendXmlAnswer(cl); setElectroCtrl(); responseElectroCtrl(cl);}
else if (StrContains(HTTP_req, "req_el_freq")) {sendXmlAnswer(cl); checkOscill(); responseElectroFreq(cl);}
else if (StrContains(HTTP_req, "request_sdcard")) {sendXmlAnswer(cl); responseSd(cl);}
else if (StrContains(HTTP_req, "request_network")) {sendXmlAnswer(cl); responseNetwork(cl);}
else if (StrContains(HTTP_req, "request_nrf24")) {sendXmlAnswer(cl); responseNrf24(cl);}
} // else if (StrContains(HTTP_req, GET))
} // parseRequest ( ) вот собственно первая часть
управление светодиодами вызываем setLeds();
allowMarkers = false;
// index request
if (StrContains(HTTP_req, "GET / ") || StrContains(HTTP_req, "GET /index.htm")) {
if (openIndexFile(partSuffix(currentDesign))) {sendHtmlAnswer(cl);} else {webFile = SD.open(F("404.htm"));}
allowMarkers = true;
}
else if (StrContains(HTTP_req, GET)) {
// files requests
if (StrContains(HTTP_req, HTM_EXT)) {if (openWebFile()) {sendHtmlAnswer(cl);} else {webFile = SD.open(F("404.htm"));} allowMarkers = true;}
else if (StrContains(HTTP_req, ".css")) {if (openWebFile()) {sendCssAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".js")) {if (openWebFile()) {sendJsAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".pde")) {if (openWebFile()) {sendJsAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".png")) {if (openWebFile()) {sendPngAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".jpg")) {if (openWebFile()) {sendJpgAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".gif")) {if (openWebFile()) {sendGifAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".ico")) {if (openWebFile()) {sendIcoAnswer(cl);} else {sendErrorAnswer("", cl);}}
// Ajax requests
else if (StrContains(HTTP_req, "request_dash")) {sendXmlAnswer(cl); checkPage(); responseDash(cl);}
else if (StrContains(HTTP_req, "request_generic")) {sendXmlAnswer(cl); setLeds(); responseGeneric(cl);}
else if (StrContains(HTTP_req, "request_settings")){sendXmlAnswer(cl); setSettings(); responseSettings(cl);}
else if (StrContains(HTTP_req, "request_themes")) {sendXmlAnswer(cl); setTheme(); responseThemes(cl);}
else if (StrContains(HTTP_req, "request_control")) {sendXmlAnswer(cl); setControl(); responseControl(cl);}
else if (StrContains(HTTP_req, "request_noo")) {sendXmlAnswer(cl); setNoo(); responseNoo(cl);}
else if (StrContains(HTTP_req, "request_mr1132")) {sendXmlAnswer(cl); setMr1132(); responseMr1132(cl);}
else if (StrContains(HTTP_req, "req_el_control")) {sendXmlAnswer(cl); setElectroCtrl(); responseElectroCtrl(cl);}
else if (StrContains(HTTP_req, "req_el_freq")) {sendXmlAnswer(cl); checkOscill(); responseElectroFreq(cl);}
else if (StrContains(HTTP_req, "request_sdcard")) {sendXmlAnswer(cl); responseSd(cl);}
else if (StrContains(HTTP_req, "request_network")) {sendXmlAnswer(cl); responseNetwork(cl);}
else if (StrContains(HTTP_req, "request_nrf24")) {sendXmlAnswer(cl); responseNrf24(cl);}
} // else if (StrContains(HTTP_req, GET))
} // parseRequest ( ) вот собственно первая часть
управление светодиодами вызываем setLeds();
void setLeds() {
// LED 1 (pin 6)
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);
}
// LED 2 (pin 7)
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);
}
// LED 3 (pin 5)
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);
}
// LED 4 (pin 3)
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);
}
} // SetLEDs
-
- Сообщения: 18
- Зарегистрирован: Вс фев 05, 2017 2:19 pm
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
- Контактная информация:
Re: Arduino Mega Server
Что-то у меня подозрения, что меня хорошенечко так простебал мой компьютер.
Потому что на учебе у меня чекбоксы работали стабильно ("ТЫК" - Включил; "ТЫК" - Выключил).
А дома либо совсем не работает, либо работает с задержкой ~15сек...
Я уж все варианты перепробовал. А оказалось, что проблема не в AMS, а в моем ПК.
Потому что на учебе у меня чекбоксы работали стабильно ("ТЫК" - Включил; "ТЫК" - Выключил).
А дома либо совсем не работает, либо работает с задержкой ~15сек...
Я уж все варианты перепробовал. А оказалось, что проблема не в AMS, а в моем ПК.
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5
Уровень знаний: Пещерный человек
Windows 10
IDE 1.6.5
Уровень знаний: Пещерный человек
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server
А у меня вообще какая то беда с 016 версией для Меги. Установил дистрибутив , сервер поднялся ,но половина страниц пустые , в смысле без данных. На вкладке Электро вообще нет ни графиков , ни чисел. Я уже грешил на SD карту. Вернул обратно 015 - все идеально. Теперь осталось воткнуть плиточный интерфейс в 015 версию. Простое копирование TILE.HTM мало что дает - страница открывается , но так как в коде нет упоминания про альтернативный CSS ,она вся поломана.Сейчас пытаюсь привести в соответствие.
На форуме меня " забанили " , авторизацию надо проходить усиленную и вложения не могу добавлять.
На форуме меня " забанили " , авторизацию надо проходить усиленную и вложения не могу добавлять.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 18
- Зарегистрирован: Вс фев 05, 2017 2:19 pm
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
- Контактная информация:
Re: Arduino Mega Server
Тамserghei писал(а):А у меня вообще какая то беда с 016 версией для Меги. Установил дистрибутив , сервер поднялся ,но половина страниц пустые , в смысле без данных. На вкладке Электро вообще нет ни графиков , ни чисел. Я уже грешил на SD карту. Вернул обратно 015 - все идеально. Теперь осталось воткнуть плиточный интерфейс в 015 версию. Простое копирование TILE.HTM мало что дает - страница открывается , но так как в коде нет упоминания про альтернативный CSS ,она вся поломана.Сейчас пытаюсь привести в соответствие.
На форуме меня " забанили " , авторизацию надо проходить усиленную и вложения не могу добавлять.
Код: Выделить всё
%7 /* alt style */
А CSS собственно называется STYLE_A1. Он лежит в архиве в 0.16 (в других версиях не знаю), но на всякий случай прикреплю.
-------------------
P.S.
У меня сначала 0.16 вообще не хотел работать. Даже не загружался. Поставил 0.14ENG, загрузилась, но страницы вообще не грузились. Поставил обратно 0.16 и всё заработало.
Последнее время, мне всё чаще кажется, что я сомнамбула и по ночам приношу в жертву девственниц, чтобы всё работало.

- Вложения
-
- STYLE_A1.zip
- (1.43 КБ) 200 скачиваний
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5
Уровень знаний: Пещерный человек
Windows 10
IDE 1.6.5
Уровень знаний: Пещерный человек
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server
Да это я уже понял. У меня случайно объединились файлы на одной карте 015 и 016 версии. Теперь плиточный интерфейс открывается в 015 , но он поломанный. Добавить надо все недостающее )))
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 18
- Зарегистрирован: Вс фев 05, 2017 2:19 pm
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
- Контактная информация:
Re: Arduino Mega Server
Удачи. Могу сегодня в вашу честь жертвенный костёр разжечь 

Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5
Уровень знаний: Пещерный человек
Windows 10
IDE 1.6.5
Уровень знаний: Пещерный человек
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server
ОФФТОП . Так уже !!!!! Посмотри ТУТ
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Re: Arduino Mega Server
Ребята, а кто в курсе. Сколько бутерброд из меги и эзернет шилда кушает ампер? У меня такое подозрение, что сд карте не хватает питания. Давал 9в 0.6а