Прикрутил Livolo, чтоб не простаивал почем зря.
Есть предложение пересмотреть формат команд (на усмотрение Алекса). Сейчас команды сервер воспринимает в формате
Код: Выделить всё
http://MEGA_IP/&rele4=1 Код: Выделить всё
http://MEGA_IP/livolo?id=xxxxx&key=Y Тогда парсинг бы выглядел следующим образом:
Код: Выделить всё
void parseCommands(EthernetClient cl) {
int posBegin;
int posEnd;
int posParam;
if (request.indexOf("/") >= 0) {
posBegin = request.indexOf("/")+1;
posEnd = request.indexOf("HTTP");
if (request.indexOf("?") >= 0) {
posParam = request.indexOf("?");
command = request.substring(posBegin, posParam);
parameter = request.substring(posParam + 1, posEnd - 1);
} else {
command = request.substring(posBegin, posEnd - 1);
parameter = "";
}
Serialprint("command: "); Serial.println(command);
Serialprint("parameter: "); Serial.println(parameter);
setKey();
#ifdef LEDS_FEATURE
setNightLed();
setColorLed();
#endif
#ifdef LIVOLO_FEATURE
livolo_switch();
#endif
// erase request
request = "";
} // if (url.indexOf("?") >= 0)
} // parseCommands
Я переделаю, конечно, свой модуль, чтобы он работал с парсингом из стандартной поставки. Но душа не лежит)))