Иди запросы GET изучай и что такое хедеры (header).
Где ты в этом примере пробел увидел?
Иди запросы GET изучай и что такое хедеры (header).
Где ты в этом примере пробел увидел?
А в чем проблема? У меня эта часть кода отрабатывает хорошо!
Все ссылки фиксятся как нужно. Проблема именно с тем, что ошибки плеера, которые выводятся, выводятся на прошлый раз. Тоесть ошибки не имеют актуальные данные
А пробел тут
Где «тут»?
Ты как отправляешь запросы? Через браузер? Через браузер.
Где вот тут в конце пробелы или что-то иное?
Пока ты правильно запрос не научишься парсить, к чему то другому переходить бессмысленно.
Хорошо, почему тогда я получаю значение без каких либо ошибок, и код отрабатывает это?
А от чего у тебя ошибки должны быть, по твоему? Ты же оперируешь с числами.
Я выше скинул то, что выводит каждая переменная. Она же выводит адекватно то что попадает в адресную строку, а если не фиксить пробел, она будет выводить это: 1 HTTP/1.1
Отладка, это не только в монитор порта смотреть.
Напиши строку get запроса и выведи в монитор порта индексы, найденные indexof. Последний, думаю или len() или strlen() вернет. Возможно нужно будет минус 1 сделать (я не работал со строками вплотную, не знаю нулевой символ учитывается или нет),
От этого уже смотрим дальше.
Бл#, иди читай. Чего ты не читаешь что тебе пишут?!
В общем, задание на вечер:
Берёшь строку в get-запросе браузера (например, «http://<твой ip>/?m=2&n=4»).
Выводишь в монитор порта их найденные индексы, сравниваешь - совпадают ли. Потом выводишь в монитор порта найденные значения (чтобы m было равно 2, а n было равно 4). Пока это не сделаешь - дальше не движемся. Забудь пока про dfplayer
Что интересно, я “подкинул” этот кусок в WOKWI, и он отработал норм(правда долго не возился), хоть я и не заметил косяк с пробелом.
Возможно, это тот случай, что я описывал в своей теме
Но не факт, конечно, что это так…
Пусть на своём железе обкатает. Если парсинг будет верным - пойдем дальше.
ЛЮБУЮ проблему нужно решать ПОСЛЕДОВАТЕЛЬНО.
Это и ремонта и отладки и чего угодно касается.
Кстати, я бы действовал иначе (с проверки dfplayer и ближе к веб), но с веб к плееру двигаться тс выбрал. Собственно пофик.
Вот, посмотри, может я туплю…
String val[5] = { "http://192.168.1.177/?dir=mp3&name=2",
"http://192.168.1.177/?dir=mp4&name=3",
"http://192.168.1.177/?dir=mp5&name=4",
"http://192.168.1.177/?dir=mp6&name=5",
"http://192.168.1.177/?dir=mp7&name=6",
};
void setup() {
Serial.begin(9600);
static uint8_t c = 5;
while(c--)//от последнего))
{
int getSearch = val[c].indexOf("?");
int getSearchL = val[c].indexOf("=");
String GET = val[c].substring(getSearch + 1, getSearchL);
Serial.println(GET);
//тут я получаю значение первого параметра
int keySearch = val[c].indexOf("=");
int keySearchL = val[c].indexOf("&");
String DIR = val[c].substring(keySearch + 1, keySearchL);
Serial.println(DIR);
/*Тут я получаю GET второго параметра*/
int getSearch1 = val[c].indexOf("&");
int getSearchL1 = val[c].lastIndexOf("=");
String GET1 = val[c].substring(getSearch1 + 1, getSearchL1);
Serial.println(GET1);
//тут я получаю значение второго параметра
int keySearch1 = val[c].lastIndexOf("=");
int keySearchL1 = val[c].lastIndexOf(" ");
String key = val[c].substring(keySearch1 + 1, keySearchL1);
Serial.println(key);
int ID = atoi(key.c_str());
Serial.println(ID);
}
}
void loop() {
}
Всё не влезло на скрин, но там норм
А почему с последнего?
А какая разница? Для разнообразия))
Ну может и никакая, но я штаны через голову не надеваю ))
Если парсится всё хорошо (а у ТС так же хорошо?), то можно идти дальше.
ЗЫ: Терминатор 3 на фоне включен, старые добрые звуки диал-ап модема ))
Если брать тот код выше, то вот что получается…
23:19:23.266 -> dir
23:19:23.266 -> mp7
23:19:23.266 -> name
23:19:23.266 -> 6
23:19:23.266 -> 6
23:19:23.266 -> dir
23:19:23.266 -> mp6
23:19:23.299 -> name
23:19:23.299 -> 5
23:19:23.299 -> 5
23:19:23.299 -> dir
23:19:23.299 -> mp5
23:19:23.299 -> name
23:19:23.299 -> 4
23:19:23.299 -> 4
23:19:23.333 -> dir
23:19:23.333 -> mp4
23:19:23.333 -> name
23:19:23.333 -> 3
23:19:23.333 -> 3
23:19:23.333 -> dir
23:19:23.333 -> mp3
23:19:23.365 -> name
23:19:23.365 -> 2
23:19:23.365 -> 2
А можно попросить не заставлять людей ломать глаза картинками, а вставлять код и вывод в сериал текстом? Спасибо ))
Ещё прикол в том, что
ТС сравнивает не символы, а строки)) “=” это читай ‘=’ и ‘\0’
Т.к ‘\0’ автоматом добавляется.
Но всё работает верно