![]() |
|
|
|
|
#1 |
|
Senior Member
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0 ![]() |
Пришли мне шилды w5100 все вроде не чего работают нормально, но столкнуля с такой проблемой не могу понять как разобрать get запрос который берётся из url например по запросу ссылки http://192.168.0.55/?nasos=on берется вот эта часть ?nasos=on и уже выполняется условие вот оп такому коду
Код:
relestatus = EEPROM.read(addr);
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 100) {
readString += c;
}
if (c == '\n') {
// Serial.println(readString); //print to serial monitor for debuging
client.println("HTTP/1.1 200 OK"); //send new page
client.println("Content-Type: text/html");
client.println();
client.print(temp1);
if(readString.indexOf("?nasos=on") >0)
{
digitalWrite(11, HIGH);
EEPROM.write(addr, 1);
digitalWrite(2, HIGH);
}
if(readString.indexOf("?nasos=off") >0)
{
digitalWrite(11, LOW);
EEPROM.write(addr, 0);
}
client.print(digitalRead(11));
delay(1);
client.stop();
readString="";
}
}
}
}
|
|
|
|
|
|
#2 |
|
Senior Member
Регистрация: 20.09.2014
Сообщений: 145
Вес репутации: 0 ![]() |
Спутал с веб-кодом, у вас скетч.
Последний раз редактировалось Alex19279; 21.06.2015 в 09:56. |
|
|
|
|
|
#3 | |
|
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1032 ![]() ![]() ![]() |
отсюда:
Цитата:
В Perl это выглядело так: Код:
@pairs = split(/&/, $ENV{'QUERY_STRING'});
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$FORM{$name} = $value;
}
$FORM{'time'}=3000 UPD: Вот тут про разбитие строки на дуине. Последний раз редактировалось Tohin; 21.06.2015 в 10:28. |
|
|
|
|
|
|
#4 |
|
Junior Member
|
Топикстартер, вы разыскиваете готовую реализацию или вас интересует алгоритм? Если второе, внемлете:
1. Находите символы ? или & в строке. Все, что до, отбрасываете вместе с ним. 2. Находите символ = До него - имя параметра. После (до символа & или когца строки) - значение параметра. Это вариант посимвольного парсинга строки url. |
|
|
|
|
|
#5 | |
|
Senior Member
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0 ![]() |
Цитата:
|
|
|
|
|
|
|
#6 | |
|
Junior Member
|
Цитата:
|
|
|
|
|
|
|
#7 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Сканируете строку(массив) в цикле пока packid не будет =8
PHP код:
|
|
|
|
|
|
#8 |
|
Senior Member
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0 ![]() |
Что то я не совсем понял, зачем мне перебирать массив? у меня ?time=3000 ведь не постоянная там может быть и ?time=5000 и тд
|
|
|
|
|
|
#9 |
|
Senior Member
|
Так Вам и показали, как добраться при разборе строки до числа. Находите 'me=', далее разбираете строку, считывая искомое число.
|
|
|
|
|
|
#10 |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Еще нужно было добавить проверку
PHP код:
|
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|